| |
by Thomas Erl
|
First Generation Standards
|

|
A W3C Web Services Glossary
|
|
|
|
|
|
The quick-reference glossary provided here consists of high-level defintions of some of the more commonly used Web services terms. These are further supplemented with code samples that demonstrate the structure of the types of XML documents that drive the Web services architecture. This glossary makes reference to the W3C WSDL, SOAP, and Web Services Architecture specifications.
|
|
Binding (WSDL)
|
WSDL <binding> elements relate protocol and message format information to operations. Corresponding port sections then associate bindings to physical addresses. [W3C]
|
<definitions>
<service>
<binding name="Binding1">
<operation>
...
</operation>
</binding>
</service>
</definitions>
|
|
Body (SOAP)
|
|
The body of a SOAP document acts as a container for the data being delivered by the SOAP message. Data within the SOAP body is often referred to as the “payload” or “payload data”.
|
The body section is represented by the <Body> element, and can also be used to host exception information within a nested fault construct. [W3C]
|
<env:Envelope xmlns:env="http://...
<env:Header>
...
</env:Header>
<env:Body>
<x:Book xmlns:x="http://www.xmltc.com">
<x:Title>
Field Guide to Integrating XML
and Web services
</x:Title>
</x:Book>
</env:Body>
</env:Envelope>
|
|
Definition (WSDL)
|
|
A WSDL definition corresponds to a Web service’s service definition.
|
Represented by the root <definitions> element, it provides a description of the Web service interface, as well as related implementation information.
|
<definitions>
<message name="book">
...
</message>
<portType name="Catalog">
...
</portType >
</definitions>
|
|
Documentation (WSDL)
|
The optional <documentation> element of a WSDL document allows supplementary comments to be added to the service definition. It can be used for a wide variety of annotations.
|
<definitions>
<documentation>
I wrote this service definition some time ago, when I was younger and times were simpler for us all...
</documentation>
</definitions>
|
|
Envelope (SOAP)
|
A SOAP envelope represents the container of the SOAP message information. The <envelope> element is the root element of the SOAP document, and consists of a body, and an optional header section. [W3C]
|
<env:Envelope xmlns:env="http://www.w3...
<env:Header>
...
</env:Header>
<env:Body>
...
</env:Body>
</env:Envelope>
|
|
Fault (SOAP)
|
The optional <fault> element establishes a section of the SOAP message dedicated to providing exception handling information. The fault block falls within the body section of the SOAP message.
|
|
Although fault sections can reside alongside standard data payloads, fault information is often sent separately in response messages that communicate error conditions.
|
|
The fault construct consists of a series of system elements used to identify characteristics of the exception. [W3C]
|
<env:Envelope xmlns:env="http://www.w3...
<env:Header>
...
</env:Header>
<env:Body>
<env:Fault>
...
</env:Fault>
</env:Body>
</env:Envelope>
|
|
Header (SOAP)
|
|
A SOAP header is an optional part of a SOAP message that can contain one or more sections or blocks. Common uses of header blocks are to implement SOAP extensions, identify target SOAP intermediaries, and provide supplementary meta information about the SOAP message.
|
While a SOAP message progresses along a message path, intermediaries may add, remove or process information in SOAP header blocks. The SOAP header section is represented by the <Header> element. [W3C]
|
<env:Envelope xmlns:env="http://www.w3...
<env:Header>
<n:shipping xmlns:n="http://...
UPS
</n:shipping>
</env:Header>
<env:Body>
...
</env:Body>
</env:Envelope>
|
|
Message (WSDL)
|
An incoming or outgoing message involved in the execution of a Web service action or operation. Within a WSDL document, a <message> element represents one or more input or output parameters that belong to an operation.
|
|
In a component-based architecture, a WSDL message is comparable to a collection of input or output parameters of a component method. [W3C]
|
<definitions>
<message name="book">
<part name="title" type="xs:string">
Field Guide to Integrating XML
and Web services
</part>
<part name="author" type="xs:string">
T-man
</part>
</message>
<portType name="Catalog">
<operation name="GetBook">
<input name="Msg1" message="book" />
</operation>
</portType >
</definitions>
|
|
Operation (WSDL)
|
A WSDL operation represents a single action or function of a Web service. A typical <operation> element consists of a group of related input and output messages. The execution of an operation requires the transmission or exchange of messages between the service requestor and the service provider.
|
|
In a component-based architecture, a WSDL operation is comparable to a component method. [W3C]
|
<definitions>
<message name="book">
...
</message>
<portType name="Catalog">
<operation name="GetBook">
<input name="Msg1" message="book" />
</operation>
</portType >
</definitions>
|
|
Part (WSDL)
|
Each <part> element defines one parameter of a WSDL message. It provides a name/value set, along with an associated data type.
|
|
In a component-based architecture, a WSDL part is the equivalent of an input or output parameter (or a return value) of a component method.
|
<definitions>
<message name="book">
<part name="title" type="xs:string">
Field Guide
</part>
<part name="author" type="xs:string">
T-man
</part>
</message>
<portType name="Catalog">
...
</portType >
</definitions>
|
|
Port (WSDL)
|
|
Also known as an “EndPoint”, a Web service port represents the contact point of the service, and consists of location and protocol information.
|
Within a WSDL document, each <port> element represents a binding. [W3C]
|
<definitions>
<service>
<port name="Port1" binding="Binding1">
...
</port>
</service>
</definitions>
|
|
Port Type (WSDL)
|
Individual Web service interfaces are represented by WSDL port types. The <portType> element contains a group of logically related operations.
|
|
In a component-based architecture, a WSDL port type is comparable to a component interface.
|
<definitions>
<message name="book">
...
</message>
<portType name="Catalog">
<operation name="GetBook">
<input name="Msg1" message="book"/>
</operation>
</portType >
</definitions>
|
|
Sender (SOAP)
|
|
A SOAP sender transmits a message on behalf of the underlying Web service. [W3C]
|
|
Service (WSDL)
|
Within a WSDL document, the <service> element represents a collection of ports. This construct is primarily used to host multiple port blocks, and provide the complete set of end points supported by a Web service.
|
<definitions>
<service name="Service1">
<binding name="Binding1">
...
</binding >
<binding name="Binding2">
...
</binding >
</service>
</definitions>
|
|
Service Definition (Web Services Architecture)
|
|
The interface and implementation definitions of a Web service. Generally, the contents of a WSDL document constitute a service definition.
|
|
Service Interface Definition + Service Implementation Definition = Service Definition
|
|
Service Definition + additional documents = Service Description
|
|
Service Interface Definition (Web Services Architecture)
|
|
The description of a Web service interface. Within a WSDL document, the service interface definition is primarily made up of the binding, port type, message and types sections.
|
|
Note that the term “service interface definition” is not synonymous with “service definition”. A service interface definition represents a part of the service definition.
|
|
In a component-based architecture, the service interface definition is comparable to the Interface Definition Language (IDL) file used to describe a component interface.
|
|
Service Interface Definition + Service Implementation Definition = Service Definition
|
|
Service Definition + additional documents = Service Description
|
|
Service Implementation Definition (Web Services Architecture)
|
|
The location and implementation information about a Web service. The service implementation definition part of a WSDL document is primarily represented by the service and port sections.
|
|
The service implementation definition, combined with the service interface definition, represents a complete service definition.
|
|
Service Interface Definition + Service Implementation Definition = Service Definition
|
|
Service Definition + additional documents = Service Description
|
|
Service Provider (Web Services Architecture)
|
|
A Web service can assume different roles within a business process or when involved with various message exchange patterns. When acting as a service provider it offers a public interface that can be invoked by service requestors.
|
|
It is the responsibility of a service provider to supply a service description. A Web service can be designed to be a service provider, a service requestor, or both.
|
|
For example, a Web service can play the role of service provider when a service requestor asks it for a piece of information. It can then act as a service requestor when it later contacts the original service requestor (now acting as a service provider) to ask for status information.
|
|
In a client-server model, the service provider is comparable to the server. Note that this term can also be used to describe the organization or environment hosting (providing) the Web service. [W3C]
|
|
Service Requestor (Web Services Architecture)
|
|
The sender of a Web service message or the software program requesting a specific Web service. A service requestor can also be a service provider.
|
|
For instance, in a request and response pattern, the initiating Web service first acts as a service requestor when initially requesting information from the service provider. The same Web service then plays the role of a service provider when responding to the original request.
|
|
In a client-server model, the service requestor is comparable to the client. Note that service requestors are sometimes also referred to as “Service Consumers”.
|
|
Simple Object Access Protocol (SOAP)
|
|
SOAP is the most widely supported messaging format and protocol for use with Web services. A SOAP message is an XML document capable of hosting document-centric and RPC-centric data.
|
|
The SOAP messaging framework is implemented through the use of receivers, senders and optional intermediaries that collectively establish a message path. [W3C]
|
|
View the SOAP primer document at:
http://www.w3.org/TR/soap12-part0
|
|
Types (WSDL)
|
The WSDL <types> element contains the data types used by Web service messages. This section of the WSDL document allows XSDL schemas to be embedded or imported into the Web service definition.
|
<definitions>
<types>
<xsd:schema...
...
</xsd:schema>
</types>
</definitions>
|
|
|
|
return to homepage
SOA Design Patterns
by Thomas Erl

Foreword by Grady Booch.

With contributions from David Chappell, Jason Hogg, Anish Karmarkar, Mark Little, David Orchard, Satadru Roy, Thomas Rischbeck, Arnaud Simon, Clemens Utschig, Dennis Wisnosky, and others.
Web Service Contract Design & Versioning for SOA
by Thomas Erl, Anish Karmarkar, Priscilla Walmsley, Hugo Haas, Umit Yalcinalp, Canyang Kevin Liu, David Orchard, Andre Tost, James Pasley
SOA Principles of Service Design
by Thomas Erl

An in-depth guide dedicated to service engineering with a thorough exploration of the design principles that comprise the service-orientation design paradigm (including a comparison with object-orientation).
Service-Oriented Architecture:
Concepts, Technology, and Design
by Thomas Erl

The first "how-to" guide to building SOA, providing coverage of WS-* specifications, .NET and J2EE platforms, and step-by-step processes for service-oriented analysis and design.
Service-Oriented Architecture:
A Field Guide to Integrating XML and Web Services
by Thomas Erl

The best-selling guide to service-oriented integration, providing hundreds of integration strategies and over sixty best practices.

For more information about these books, visit: www.soabooks.com
|
SOA Certified Professional

The books in this series are part of the official curriculum for the SOA Certified Professional program.

For more information:

• www.soacp.com

• www.soaschool.com

|
| |