Webservices
Webservices
Webservices
Basic Architecture
Technologies capable of:
Exchanging messages
Describing Web services
Publishing and discovering Web
service descriptions
Role
service
requestor
retrieves a
service
description
Operation
One-way,
conversational,
many-to-many
Component
Extended Architecture
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. : oneway, 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
More
mature
technologies
Not fully
specified
facts, or assertions, and
rules that apply to a
particular Web service
Input/
Output
rendering
Satisfied
by WSDL
What is XML
XML is a simple tag-based language for
describing information in a structured way.
Basic elements:
Tags
Attributes
LastName
Allen
Text
StartTag
Attributes
Text
EndTag
<xhtml:table><xhtml:tr>
<xhtml:td width="40%">LastName</xhtml:td>
<xhtml:td width="60%">Allen</xhtml:td>
</xhtml:tr></xhtml:table>
Server
Client
HTTP
SOAP
XML
Skeleton
Stub
SOAP
Protocols Folding
XML
XML
HTTP client
POST
HTTP 1.1 200 OK
SOAP
HTTP server
Document Container
Example
<soap:Envelope>
<soap:Header>
<axis:SessionKey>
SDHH37TYEW7R7
</axis:SessionKey>
</soap:Header>
<soap:Body>
<GetPrice>
<Item>Apples</Item>
</GetPrice>
</soap:Body>
</soap:Envelope>
Session, Authentication,
Routing, Security
SOAP Encoding
Dealing directly with XML messages is not easy.
Therefore, SOAP provides a RPC emulation
technology
The result: developers work with web services like
with traditional RPC (e.g. CORBA,DCOM,DCE)
The RPC emulation is named SOAP encoding.
Fundamentally it is a set of rules to map a
procedure invocation to a XML document.
SOAP Encoding
The rules:
method name -> first level element in the
SOAP Body
arguments identifiers -> second level elements
arguments values -> third level elements
arguments types -> attribute xsi:type
Service Request
ClockService.getTime(location="USA");
<soap:Body>
<getTime>
<location xsi:type="xsd:string">USA</path>
</getTime>
</soap:Body>
Service name
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...
At the moment UDDI repositories are offered by
IBM, Microsoft and HP.
Thank you
This presentation is available at:
http://www.dei.unipd.it/~garelli/ics243
References
J2EE: A platform of choice for Web Services.
http://www.sun.it/eventi/codecamps_2002/pdf/j2ee_a_platfor
m_of_choice_for_web_services.pdf
XML in J2EE Platform.
http://www.sun.it/eventi/codecamps_2002/pdf/xml_in_j2ee_pl
atform.pdf
A Busy Developers Guide to WSDL 1.1
http://radio.weblogs.com/0101679/stories/2002/02/15/aBusy
DevelopersGuideToWsdl11.html
A Busy Developer's Guide to SOAP 1.1 .
http://www.soapware.org/bdg
A Young Person's Guide to The Simple Object Access Protocol.
http://msdn.microsoft.com/msdnmag/issues/0300/soap/soap.
asp
An XML Overview Towards Understanding SOAP.
http://msdn.microsoft.com/library/enus/dnwebsrv/html/xmloverchap2.asp
References
Deploying Web Services on Java 2, Enterprise Edition.
http://developer.java.sun.com/developer/technicalArticles/Web
Services/wsj2ee/
The Python Web services developer. http://www106.ibm.com/developerworks/webservices/library/wspyth1.html
Understanding WSDL in a UDDI registry. http://www106.ibm.com/developerworks/webservices/library/ws-wsdl/
Dot-com builder overview of WSDL.
http://dcb.sun.com/practices/webservices/overviews/overview
_wsdl.jsp
Getting Started with JAX-RPC.
http://developer.java.sun.com/developer/technicalArticles/Web
Services/getstartjaxrpc/
Introduction to WSDL.
http://www.devxpert.com/tutors/wsdl/wsdl.asp
References
Integrating SOAP into ebXML.
http://www.itworld.com/AppDev/1472/ITW010404ebXML/
Top ten FAQs for Web Services.
http://www.oreillynet.com/pub/a/webservices/2002/02/12/web
servicefaqs.html
Web Services Introduction.
http://www.perfectxml.com/WebSvc1.asp
SOAP archives. http://www.soap.org/archive.iphtml
SOAP Introduction.
http://www.w3schools.com/soap/soap_intro.asp
Web Services Description Language (WSDL) Explained.
http://msdn.microsoft.com/library/enus/dnwebsrv/html/wsdlexplained.asp
WSDL Interop Adventures.
http://www.byte.com/documents/s=7031/byt1015007393289/
0304_udell.html
Java Web Services Tutorial.
http://java.sun.com/webservices/docs/1.0/tutorial/doc/JavaWS
TutorialTOC.html