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