Web services is an innovative implementation of distributed computing. WebObjects allows you to expose class methods as Web service operations. Web services provide an efficient way for applications to communicate with each other. Based on Simple Object Access Protocol (SOAP) messages that wrap Extensible Markup Language (XML) documents, Web services provide a flexible infrastructure that leverages the ubiquitous HTTP (or HTTPS) over TCP/IP. This means that your organization probably has all the hardware and software infrastructure needed to deploy Web services.
But Web services provide more than an information-exchange system. When an application implements some of its functionality using Web services, it becomes more than the sum of its parts. For example, you can create a Web service operation that uses a Web service operation from another provider to give its consumers (also known as service requestors) information tailored to their needs. Web service operations are similar to the methods of a Java class; a provider is an entity that publishes a Web service, while the entities that use the Web service are called consumers.
Web applications as well as Java Client applications can take advantage of Web services. Figure 2-4 shows a dynamic-publishing website that uses Web services.
Figure 2-4 A dynamic publishing website using Web services
For more information on Web service applications, see Web Services Applications.