Web Services Architecture

Download Report

Transcript Web Services Architecture

Web Services Architecture
Presentation for ECE8813
Spring 2003
By: Mohamed Mansour
What is a Web Service

Any piece of software that makes itself
available over the Internet and uses a
standardized XML messaging system
Roles



Service Provider
Service Requestor
Discovery Agencies
Wire Protocol

Transport


Packaging


HTTP (or other Internet protocols)
SOAP (or other packaging protocols)
Extensions

Context, routing, policy
SOAP Example
<SOAP:Envelope
xmlns:SOAP=http://schames.xmlsoap.org/soap/envelope/
<SOAP:Header>
<!– contents of header goes here -- >
</SOAP:Header>
<SOAP:Body>
<!– contents of body goes here -- >
</SOAP:Body>
End-to-End Scenario
Requestor
SOAP message
SOAP run-time
HTTP Request
Network Layer
Server (Provider)
Dispatch to appropriate
runtime
SOAP run-time
Deliver HTTP
Network Layer
Description Stack

Interface, Implementation


Described in a WSDL (Web Service Description
Language) document
Minimum layers for any web service
Stack Components
WSDL Example
<message name="GetStockQuotesSoapIn">
<part name="parameters" element="s0:GetStockQuotes" />
</message>
<message name="GetStockQuotesHttpPostOut">
<part name="Body" element="s0:ArrayOfQuote" />
</message>
<portType name="StockQuotesSoap">
<operation name="GetStockQuotes">
<input message="s0:GetStockQuotesSoapIn" />
<output message="s0:GetStockQuotesSoapOut" />
</operation>
</portType>
WSDL Example – contd.
<service name="StockQuotes">
<port name="StockQuotesSoap" binding="s0:StockQuotesSoap">
<soap:address
location="http://www.swanandmokashi.com/HomePage/WebServices/
StockQuotes.asmx" />
</port>
</service>
WSDL Example – contd.
<binding name="StockQuotesSoap" type="s0:StockQuotesSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document" />
<operation name="GetStockQuotes">
<soap:operation
soapAction="http://swanandmokashi.com/GetStockQuotes"
style="document" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
WSDL Example – contd.
<service name="StockQuotes">
<port name="StockQuotesSoap" binding="s0:StockQuotesSoap">
<soap:address location="http://.... />
</port>
<port name="StockQuotesHttpGet" binding="s0:StockQuotesHttpGet">
<http:address location="http://......" />
</port>
<port name="StockQuotesHttpPost" binding="s0:StockQuotesHttpPost">
<http:address location="http://......" />
</port>
</service>
Description Stack – contd.






Policy
 additional description to specify the business context, qualities of
service, security requirements and offerings, and management
requirements.
Presentation
 how to render the input and output messages on a screen for a
user to interact with. This is particularly useful for rendering Web
services to users on many different types of devices.
Orchestration
 An orchestration description reflects a simple choreography of
Web service invocations between two business partners to
complete a multi-step business interaction.
Composition
Service Level Agreements
Business Level Agreements
Discovery Stack

Publication




Discovery


Providers produce their service descriptions in a
UDDI document.
Direct publish (ftp, CD-ROM, …)
UDDI registry
Discovery methods parallel publication methods
Inspection


Web Service Inspection Language (WSIL)
a de-centralized, light weight method
Resources






http://www.w3.org/TR/2002/
http://www.xmethods.com
http://www.alphaworks.ibm.com/webservices
http://www.microsoft.com/webservices
http://java.sun.com/webservices
http://www.borland.com/webservices