Web services provide a standard way to implement a business function that can be invoked remotely. They support interoperability by separating the mechanisms of access from the implementation. For this reason, Web services are the de facto standard for implementing an SOA (Service oriented Application) that requires a loose coupling between a requester and a provider. The development tools industry quickly jumped onto the Web services bandwagon and provided mechanisms for developing Web services. These mechanisms can now be formalized into a set of development patterns for Web services. Each of these patterns has advantages and disadvantages that determine which pattern should be used in a given situation.
Web services are software components that use XML-based messages to exchange data between applications. Web services based on open standards are hardware, programming language, and operating system independent. Because of this inherent interoperability, Web services are increasingly relied on in today’s enterprise as powerful tools for exchanging information between disparate systems over intranets, extranets, and the Internet.