Web Services
Web Services
Web Services
CS 237
Web Services - Definition from W3C
“ A Web service is a software system identified
by a URI, whose public interfaces and bindings
are defined and described using XML. Its
definition can be discovered by other software
systems. These systems may then interact
with the Web service in a manner prescribed
by its definition, using XML based messages
conveyed by internet protocols.”
Service Oriented Architectures
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
<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)
<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.