Next: UDDI - Universal Description,
Up: Principles of SOAP Web
Previous: Security
Contents
WSDL - Web Services Definition Language
After finding the appropriate Web Service, the next step is to access
it. To accomplish this task, a technical description of the service is
needed. This is where WSDL comes into play. WSDL stands for ``Web
Services Definition Language'' and is a standardized and XML-based
language for describing Web Services.
WSDL documents are typically not written by hand, they are merely
generated with tools. The WSDL documents are then publicly offered along
with the Web Service itself. When writing a client for a specific Web
service which is described by a WSDL definition, the programmer can
build a skeleton out of this definition with special tools that are
included in most SOAP frameworks.
Although most programmers will normally not create or read WSDL documents
by hand, there can be cases where tools cannot be used which may also
apply to certain applications in this thesis. This requires some
basic knowledge of the WSLD language.
A WSDL document consists of certain sections that must be in a
specific order. The basic composition of such a document is
illustrated in figure 13. The meaning of these sections
is as following:
Figure 13:
The composition of a WSDL document
![\begin{figure}\centering
\includegraphics[scale=0.7]{graphics/wsdl-basic.eps}\end{figure}](img21.png) |
- Data types
- : This section defines what kinds of data types will
be part of the Web Service. Data types could be integers, strings or arrays.
Moreover, also special data types can be defined. The data types definition
has to follow the XML Schema syntax which is thoroughly described in
[VLI02].
- Messages:
- With this section it is possible to define the
input and output parameters of a SOAP Web Service. Messages contain
one or more ``parts'' that represent either an element or a
type20.
- Operations:
- An operation is a well defined sequence of messages.
This construct accomplishes a correct exchange of messages. There are three
possible types of operation messages:
- Input messages
- Output messages
- Fault messages
Input and output messages may occur not more than one time, hence it is
not possible to specify two input messages in one operation.
With this definition it is possible to establish ``request-response'',
``one-way'', ``solicit-response'' and ``notification'' operations. The
most common type will probably be the ``request-response'' operation, where
the Web Service receives an input message (request) and answers with an
output message (response).
- Port types:
- This definition makes it possible to create sequences
of operations, e.g. multiple request-response sequences. Operations have
to be packed into a port type, also if there is only one operation.
- Bindings:
- After specifying data types and port types there
still lacks an association with a transport protocol and a data
format. This is accomplished with a so-called binding. The WSDL
languag can describe bindings to any transport protocol and any data
format. Anyway, the most commonly transport protocol will be HTTP and
the most often used data format will be SOAP. Therefore the WSDL
definition contains a HTTP and SOAP extension to simplify the WSDL
specification procedure.
- Services:
- This element specifies the location of the Web Service.
This is accomplished by defining a so-called ``port''21. In the
port definition a WSDL binding is associated with a location, which
could e.g. be a URL. One or more ports are then packed into a
``service'' element.
As stated above, the WSDL specification also covers a SOAP and HTTP
extension as these protocols will be most commonly described with WSDL.
- SOAP extensions:
- This extension supports the SOAP data format,
especially a way to connect a binding to the SOAP protocol, the URI for the
``SOAPAction'' field in the HTTP header and a list of definitions for SOAP
headers.
- HTTP extensions:
- This extension makes it possible to bind
messages to HTTP without having to tie it to a certain data format.
Further information on WSDL can be found in [LIV02] and
[WAL02].
Next: UDDI - Universal Description,
Up: Principles of SOAP Web
Previous: Security
Contents
Hermann Himmelbauer
2006-09-27