[preface]
[[overview]]
= Preface

In the current age of Service Oriented Architectures, more and more people use web services to connect previously unconnected systems.
Initially, web services were considered to be just another way to do a Remote Procedure Call (RPC).
Over time, however, people found out that there is a big difference between RPCs and web services.
Especially when interoperability with other platforms is important, it is often better to send encapsulated XML documents that contain all the data necessary to process the request.
Conceptually, XML-based web services are better compared to message queues than to remoting solutions.
Overall, XML should be considered the platform-neutral representation of data, the _common language_ of SOA.
When developing or using web services, the focus should be on this XML and not on Java.

Spring-WS focuses on creating these document-driven web services.
Spring-WS facilitates contract-first SOAP service development, allowing for the creation of flexible web services by using one of the many ways to manipulate XML payloads.
Spring-WS provides a powerful <<server,message dispatching framework>>, a <<security,WS-Security>> solution that integrates with your existing application security solution, and a <<client,Client-side API>> that follows the familiar Spring template pattern.
