Siam7 PDF
Siam7 PDF
Siam7 PDF
One-way, Component
conversational,
many-to-many
Web Services –
Architectural Extensions
– Incorporates additional features and functionality by extending technologies and
components defined within the basic architecture, such as:
• Asynchronous messaging
• Attachment – typical usage : associating binary data with SOAP messages.
• Caching
• Message exchange pattern (MEP) - Describes a generalized pattern of message exchange
between two services. e.g. : one-way, request/response, publish/subscribe, and broadcast.
• Reliable message - implementation of Reliable Messaging one MEP is a series of requests
between two nodes with an acknowledgement SOAP Module.
• Message confidentiality – Can transmit the message via SSL or TLS, or have a SOAP Module
provides for encryption and decryption.
• Message integrity – Can have a SOAP Module use digital signature.
• Session
The Complete Web Services "Stack"
More
mature
technologie
s
The Wire Stack
•Transport: HTTP is
the de facto, other
may be supported.
•Packaging: SOAP is
the de facto standard
for XML messaging.
•Extensions :
Additional information
attached to web
services messages.
The Description Stack
It is actually a stack of description
documents defined using XML
Schema.
Not fully
specified
facts, or assertions, and
rules that apply to a
particular Web service
Input/
Output
rendering
minimum service description
necessary to support Satisfied
interoperable Web services. by WSDL
The Discovery Stack
WSIL : de-centralized
service discovery method
The lowest-level layers (the transport layer) should exploit some existing Internet
protocols, like HTTP or SMTP
What is XML
XML is a simple tag-based language for describing information in a
structured way.
Basic elements:
■ Tags
■ Attributes
LastName Allen
■ Text
<xhtml:table><xhtml:tr>
<xhtml:td width="40%">LastName</xhtml:td>
<xhtml:td width="60%">Allen</xhtml:td>
</xhtml:tr></xhtml:table>
How to work on XML
The tree-like structure of XML makes developers life hard.
In practice there is not a standard way for editing and analyzing, but the best
method depends on your need. Just choose among:
■ SAX -> callback-based parser
■ DOM -> tree representation
■ XSLT -> “XML to XML” conversion
■ XPATH -> queries
■ XML Binding -> transparent conversion to objects
Simple Object Access Protocol
SOAP is a technology to support the exchange of XML-coded
messages over a transport protocol, such as HTTP and SMTP.
(wire stack)
SOAP SOAP
POST…
HTTP client HTTP server
Protocols Folding HTTP 1.1 200 OK
ClockService.getTime(location="USA");
Service Request
<soap:Body>
<getTime>
<location xsi:type="xsd:string">USA</path>
</getTime>
</soap:Body>
Web Service Description
Language
WSDL is a standard format to describe a Web Service (description stack)
Fundamentally a client uses the WSDL to create the stub or to dynamically decode
messages.
Web Service Introspection
Language
WSIL and UDDI are the standard way to search Web Services. (Discovery
stack)
WSIL is the decentralized approach.
<inspection>
<abstract>Acme Industries Public Web Services</abstract> <service>
<name>Store Finder Service</name>
<abstract>
A service to perform a geographical search of Acme stores.
</abstract>
<description location="http://example.org/services/storefinder.wsdl"/>
</service>
<link location="http://example.org/services/ecommerce.wsil"/>
</inspection>
Service name
Link to an other WSIL page
Service location and description
UDDI
UDDI is a complimentary approach for searching based on a centralized
repository.
The repository is an “electronic yellow pages” for firms that offer web services
online. Besides the names of services and their WSDL descriptors, firms can
add a description of their business, phone numbers, addresses...
UDDI repositories are offered by many agencies - e.g. IBM, Microsoft and HP.
QUESTIONS???