Upload
nyx
View
44
Download
0
Embed Size (px)
DESCRIPTION
Understanding Web Services. Presented By: Woodas Lai. Understanding Web Services. By Jaideep Roy and Anupama Ramanujan What is Web Services? Architecture Core technologies XML SOAP WSDL UDDI. What is Web Services?. A Web Services is a unit of application - PowerPoint PPT Presentation
Citation preview
1
Understanding Web Services
Presented By: Woodas Lai
2
Understanding Web Services By Jaideep Roy and Anupama Ramanujan
What is Web Services? Architecture Core technologies
XML SOAP WSDL UDDI
3
What is Web Services?What is Web Services?
A Web Services is a unit of application logic providing data and services to
other applications
They are published to the Web in such a way
that other applications can find and use them
4
Examples of Web Services
a credit card service thatprocesses credit card transactionsfor a given account
a market data service thatprovides stock market dataassociated with a specifiedstock symbol
5
Architecture
6
Core Technologies Technologies for Web Services
XML UDDI ( XML Based ) SOAP ( XML Based ) WSDL ( XML Based )
7
SOAP
Simple Object Access Protocol (SOAP)http://www.w3.org/TR/SOAP/
A lightweight XML communication message protocol
8
Role of SOAP
.NETapplication
J avaApplication
SOAP ClientSOAPServer
.NET function callrequest
Binary
Perform Serialization orMarshalling
Perform De-Serializationor Un-Marshalling
XML (Text Based)
Binary J ava function callrequest
SOAP Message
9
SOAP Overview
Describe the messaging format for machine-to-machine communication
Enable procedure calls on remote objects Define elements to specify remote function
names, parameters and return types
10
SOAP Overview
Support different Internet protocols, such as HTTP, SMTP, FTP (Protocol neutral)
SOAP = XML + RPC + HTTP (Typical use) A SOAP document is an XML document
designed to invoke methods on remote computers over HTTP
11
SOAP Structure
Header (Optional)
Body (Mandatory)
SOAP Message
Envelope
12
SOAP Example<env:Envelope xmlns:env="http://www.w3.org/2001/06/soap-envelope" >
<env:Header>……
</env:Header><env:Body>
<m:GetLastTradePrice env:encodingStyle= "http://www.w3.org/2001/06/soap-encoding
" xmlns:m="http://example.org/2001/06/quotes"><symbol>DIS</symbol>
</m:GetLastTradePrice></env:Body>
</env:Envelope>
13
WSDL Web Services Description Language (WSDL)
http://www.w3.org/TR/wsdl
Description of Web Services via XML-based standard format
Define the set of functions supported by the server and the formats a client should be used to request the service, like IDL in CORBA
14
WSDL WSDL is used to describe the web
services. So, how to describe? WSDL has its own XML vocabulary
defined so as to describe the web service
15
WSDL has a well-defined XML vocabulary to answer
the following questions regarding the web service
involved: What does the service do?
Both in machine and human-readable forms What language does the service speak?
The format/data structure of the message exchanged
WSDL
16
How does the client talk to the service? HTTP/SMTP/FTP
Where is the location of the web service? The access point (URL)
WSDL
17
WSDL <?xml version="1.0" encoding="UTF-8" ?> <wsdl:definitions
targetNamespace="http://137.189.94.136:8080/axis/echo.jws" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://137.189.94.136:8080/axis/echo.jws" xmlns:intf="http://137.189.94.136:8080/axis/echo.jws" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><wsdl:message name="echoStringResponse"> <wsdl:part name="echoStringReturn" type="xsd:string" /> </wsdl:message><wsdl:message name="echoStringRequest"> <wsdl:part name="str" type="xsd:string" /> </wsdl:message>
18
WSDL <wsdl:portType name="echo"> <wsdl:operation name="echoString" parameterOrder="str"> <wsdl:input message="intf:echoStringRequest"
name="echoStringRequest" /> <wsdl:output message="intf:echoStringResponse"
name="echoStringResponse" /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="echoSoapBinding" type="intf:echo"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="echoString"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="echoStringRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://137.189.94.136:8080/axis/echo.jws" use="encoded" /> </wsdl:input>
19
WSDL <wsdl:output name="echoStringResponse">
<wsdlsoap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/
namespace=http://137.189.94.136:8080/axis/echo.jws
use="encoded" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="echoService"> <wsdl:port binding="intf:echoSoapBinding" name="echo"> <wsdlsoap:address location="http://137.189.94.136:8080/axis/echo.jws" /> </wsdl:port>
</wsdl:service> </wsdl:definitions>
20
UDDI Universal Description, Discovery, and Integration Specifications for service description and discovery Open-Standard
Raised By Ariba, IBM and Microsoft http://www.uddi.org (by Oasis)
XML-based message
21
Service Architecture
UDDI defines a way to publish and discover information about Web services
22
UDDI
• Information about the business (company name, company address ……)
• Categorization of the business and its services
• Technical information about services provided by a business (like the URL to invoke the Web Services)
White Page
Yellow Page
Green Page
23
Core Structures of UDDI
• Business Entity• White Pages information
• Business Services• Yellow Pages information
• Binding Templates• Green Pages information • Contains references to tModels
• tModels• Service Type Definitions• Interface specifications for a service (WSDL)
Business Entity
BusinessService
tModel
tModel
BindingTemplate
BindingTemplate
24
Research Challenge How to secure the Web Services
Invocation? How to ensure the reliability of the
Web Services? How to deal with the Quality of
Services?
25
Q&A