SOAP: Accessing Web Services
So far, you have defined the data (XML) and expressed the abstraction of the service necessary to support the communication and processing of the message (WSDL). You now need to define the way in which the message will be sent from one computer to another and so be available for processing at the target computer.
The SOAP specification defines a messaging framework for exchanging formatted XML data across the Internet. The messaging framework is simple, easy to develop, and completely neutral with respect to operating system, programming language, or distributed computing platform. SOAP is intended to provide a minimum level of transport on top of which more complicated interactions and protocols can be built.
SOAP is fundamentally a one-way communication model that ensures that a coherent message is transferred from sender to receiver, potentially including intermediaries that can process part of or add to the message unit. The SOAP specification contains conventions for adapting its one-way messaging for the request/response paradigm popular in RPC-style communications and also defines how to transmit complete XML documents. SOAP defines an optional encoding rule for data types, but the end points in a SOAP communication can decide on their own encoding rules through private agreement. Communication often uses literal, or native XML, encoding.
As shown in Figure 2.4, SOAP is designed to provide an independent, abstract communication protocol capable of bridging, or connecting, two or more businesses or two or more remote business sites. The connected systems can be built using any combination of hardware and software that supports Internet access to existing systems such as .NET and J2EE. The existing systems typically also represent multiple infrastructures and packaged software products. SOAP and the rest of the XML framework provide the means for any two or more business sites, marketplaces, or trading partners to agree on a common approach for exposing services to the Web.
SOAP has several main parts:
-
Envelope: Defines the start and the end of the message
-
Header: Contains any optional attributes of the message used in processing the message, either at an intermediary point or at the ultimate end point
-
Body: Contains the XML data comprising the message being sent
-
Attachment: Consists of one or more documents attached to the main message (SOAP with Attachments only)
-
RPC interaction: Defines how to model RPC-style interactions with SOAP
-
Encoding: Defines how to represent simple and complex data being transmitted in the message
nly the envelope and the body are required.
Next >> UDDI |