1 / 24

Lecture 6 & 7 SOAP WSDL UDDI

Lecture 6 & 7 SOAP WSDL UDDI. Highlights. eXtensible Markup Language (XML) Simple Object Access Protocol (SOAP) Web Services Description Language (WSDL) Directory Services Universal Description, Discovery, and Integration (UDDI). Standards for Web Services.

eljah
Télécharger la présentation

Lecture 6 & 7 SOAP WSDL UDDI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 6 & 7 SOAP WSDL UDDI

  2. Highlights • eXtensible Markup Language (XML) • Simple Object Access Protocol (SOAP) • Web Services Description Language (WSDL) • Directory Services • Universal Description, Discovery, and Integration (UDDI) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  3. Standards for Web Services Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  4. Web Services: Basic Architecture Service Broker Registry; well-known Publish or announce (WSDL) Find or discover (UDDI) Service Provider Service Requestor Bind or invoke (SOAP) Not well-known Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  5. Basic Profile (BP 1.0) • The Web Services Interoperability Organization (WS-I) has specified the following Basic Profile version 1.0: • SOAP 1.1 • HTTP 1.1 • XML 1.0 • XML Schema Parts 1 and 2 • UDDI Version 2 • WSDL 1.1 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  6. Describing a Service • Namee.g., GetTemperature • Types of Input Parameterse.g., (String, String) • Types of Output Parameterse.g., Integer Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  7. SOAP (Simple Object Access Protocol) • Used to exchange messages via HTTP, SMTP, and SIP (Session Initiation Protocol for Internet telephony) • Originally designed for remote-procedure calls (RPC) • Works through firewalls on port 80 • Character-based, so easy to encrypt/decrypt and thus easy to secure • Inefficient due to character, not binary, data and large headers • Does not describe bidirectional or n-party interaction Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  8. SOAP architecture • An Envelope element that identifies the XML document as a SOAP message • A Header element that contains header information • A Body element that contains call and response information • A Fault element containing errors and status information Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  9. Ex. SOAP Request POST /temp HTTP/1.1 Host: www.socweather.com Content-Type: text/xml; charset="utf-8" Content-Length: xxx SOAPAction: "http://www.socweather.com/temp" <!-- Above: HTTP headers and a blank line. --> <!—These comments below: an XML document --> <?xml version=“1.0”?> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <env:Body> <m:GetTemp xmlns:m="http://www.socweather.com/temp.xsd"> <m:City>Honolulu</m:City> <m:When>now</m:When> </m:GetTemp> </env:Body> </env:Envelope> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  10. Ex. SOAP Response HTTP/1.1 200 OK Content-Type: text/xml; charset="utf-8" Content-Length: xxx SOAPAction: "http://www.socweather.com/temp" <?xml version="1.0"?> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> <env:Body> <m:GetTempResponse xmlns:m="http://www.socweather.com/temp.xsd"> <m:DegreesCelsius>30</m:DegreesCelsius> </m:GetTempResponse> </env:Body> </env:Envelope> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  11. WSDL: Web Services Description Language • Describes a programmatic interface to a Web service, including • Definitions of data types • Input and output message formats • The operations provided by the service • Network addresses • Protocol bindings Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  12. <?xml version="1.0"?> <!-- the root element, wsdl:definitions, defines a set of --> <!-- related services --> <wsdl:definitions name="Temperature" targetNamespace="http://www.socweather.com/schema" xmlns:ts="http://www.socweather.com/TempSvc.wsdl" xmlns:tsxsd="http://schemas.socweather.com/TempSvc.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <!-- wsdl:types encapsulates schema definitions of --> <!-- communication types; here using xsd --> <wsdl:types> <!-- all type declarations are expressed in xsd --> <xsd:schema targetNamespace="http://namespaces.socweather.com" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  13. <!-- xsd def: GetTemp [City string, When string] --> <xsd:element name="GetTemp"> <xsd:complexType> <xsd:sequence> <xsd:element name="City" type="string"/> <xsd:element name="When" type="string"/> </xsd:sequence> </xsd:complexType> </xsd:element> <!-- xsd def: GetTempResponse [DegreesCelsius integer] --> <xsd:element name="GetTempResponse"> <!-- XML Schema entry as above --> </xsd:element> <!-- xsd def: GetTempFault [errorMessage string] --> <xsd:element name="GetTempFault"> <!-- XML Schema entry as above --> </xsd:element> </xsd:schema> </wsdl:types> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  14. <!-- wsdl:message elements describe potential transactions --> <!-- Most messages, as here, have only one part. Multiple --> <!-- parts provide a way to aggregate complex messages --> <!-- request GetTempRequest is of type GetTemp --> <wsdl:message name="GetTempRequest"> <wsdl:part name="body" element="tsxsd:GetTemp"/> </wsdl:message> <!-- response GetTempResponse is of type GetTempResponse --> <wsdl:message name="GetTempResponse"> <wsdl:part name="body" element="tsxsd:GetTempResponse"/> </wsdl:message> <!-- wsdl:portType describes messages in an operation --> <wsdl:portType name="GetTempPortType"> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  15. <!-- wsdl:operation describes the entire protocol from --> <!-- input to output or fault --> <wsdl:operation name="GetTemp"> <!-- The order input preceding output indicates the --> <!-- request-response operation type --> <wsdl:input message="ts:GetTempRequest"/> <wsdl:output message="ts:GetTempResponse"/> <wsdl:fault message="ts:GetTempFault"/> </wsdl:operation> </wsdl:portType> <!-- wsdl:binding specifies a serialization protocol --> <wsdl:binding name="TempSvcSoapBinding" type="ts:GetTempPortType"> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  16. <!-- leverage off soap:binding document style --> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <!-- semi-opaque container of network transport details --> <!-- classed by soap:binding above @@@ --> <wsdl:operation name="GetTemp"> <soap:operation soapAction="http://www.socweather.com/TempSvc"/> <!-- further specify that the messages in the --> <!-- wsdl:operation "GetTemp" use SOAP? @@@ --> <wsdl:input> <soap:body use="literal" namespace="http://schemas.socweather.com/TempSvc.xsd"/> </wsdl:input> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  17. <!-- As above for wsdl:output and wsdl:fault --> </wsdl:operation> </wsdl:binding> <!-- wsdl:service names a new service "TemperatureService" --> <wsdl:service name="TemperatureService"> <wsdl:documentation>socweather.com temperature service </wsdl:documentation> <!-- connect it to the binding "TempSvcSoapBinding" above --> <wsdl:port name="GetTempPort" binding="ts:TempSvcSoapBinding"> <!-- give the binding a network address --> <soap:address location="http://www.socweather.com/TempSvc"/> </wsdl:port> </wsdl:service> </wsdl:definitions> Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  18. WSDL Data Model Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  19. Directory Services • Support discovery: enable applications, agents, Web service providers, Web service requestors, people, objects, and procedures to locate each other • White pages – entries found by name • Yellow pages – entries found by characteristics and capabilities • A basic directory might be a simple database (passive) or a broker/facilitator (active, that provides alerts and recruits participants) • UDDI – both white pages and yellow pages, but passive Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  20. UDDI: Universal Description, Discovery, and Integration • UDDI is a Web service that is based on SOAP and XML • UDDI registers • tModels: technical descriptions of a service’s behavior • businessEntities: describes the specifications of multiple tModels Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  21. Yellow, Green, and White Pages in UDDI Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  22. Data Model for UDDI Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  23. WSDL  UDDI Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

  24. Chapter 2 Summary The main triad of Web services standards • Bring together well-known ideas • SOAP: object access and messaging • WSDL: based on CORBA IDL • UDDI: based on directories • Provide necessary functionality for interoperation • Are complicated in their details • Meant for tool vendors rather than programmers • Increasingly hidden by tools Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

More Related