250 likes | 489 Views
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
E N D
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 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
Examples of Web Services • a credit card service that processes credit card transactions for a given account • a market data service that provides stock market data associated with a specified stock symbol
Core Technologies • Technologies for Web Services • XML • UDDI ( XML Based ) • SOAP ( XML Based ) • WSDL ( XML Based )
SOAP • Simple Object Access Protocol (SOAP) http://www.w3.org/TR/SOAP/ • A lightweight XML communication message protocol
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
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
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>
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
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
WSDL 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 • How does the client talk to the service? • HTTP/SMTP/FTP • Where is the location of the web service? • The access point (URL)
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>
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:operationsoapAction="" /> <wsdl:input name="echoStringRequest"> <wsdlsoap:bodyencodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://137.189.94.136:8080/axis/echo.jws" use="encoded" /> </wsdl:input>
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>
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
Service Architecture UDDI defines a way to publish and discover information about Web services
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
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)
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?