Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 6 SOAP WSDL UDDI. Chapter 22Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Highlights eXtensible.

Similar presentations


Presentation on theme: "Lecture 6 SOAP WSDL UDDI. Chapter 22Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Highlights eXtensible."— Presentation transcript:

1 Lecture 6 SOAP WSDL UDDI

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

3 Chapter 23Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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

4 Chapter 24Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Standards for Web Services

5 SOAP SOAP is acronym for Simple Object Access Protocol SOAP is a communication protocol SOAP is designed to communicate via Internet SOAP can extend HTTP for XML messaging SOAP provides data transport for Web services SOAP can exchange complete documents or call a remote procedure SOAP can be used for broadcasting a message SOAP is platform and language independent SOAP is the XML way of defining what information gets sent and how Chapter 25Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

6 Chapter 26Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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

7 Chapter 27Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Markup History None, e.g., CSV Ad hoc tags SGML (Standard Generalized Markup L): complex, few reliable tools HTML (HyperText ML): simple, unprincipled, mixes structure and display XML (eXtensible ML): simple, yet extensible subset of SGML to capture new vocabularies Machine processible Generall, comprehensible (easier debugging), though verbose and arcane

8 Chapter 28Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns XML Basics and Namespaces <arbitrary:toptag xmlns="http://one.default.namespace/if-needed" xmlns:arbitrary="http://wherever.it.might.be/arbit-ns" xmlns:random="http://another.one/random-ns"> Optional text also known as PCDATA

9 Chapter 29Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns XML Schema Grammar (data definition language) for specifying valid documents Uses same syntax as regular XML documents: verbose and difficult to read Provides local scoping of subelement names Incorporates namespaces Types Primitive (built-in): string, integer, float, date, … simpleType constructors: list, union Restrictions: intervals, lengths, enumerations, regex patterns, Flexible ordering of elements Key and referential integrity constraints

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

11 Chapter 211Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Describing a Service Name e.g., GetTemperature Types of Input Parameters e.g., (String, String) Types of Output Parameters e.g., Integer

12 SOAP architecture An Envelope element that identifies the XML document as a SOAP message (mandatory) A Header element that contains header information (optional) A Body element that contains call and response information (mandatory) A Fault element containing errors and status information (optional) Chapter 212Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

13 SOAP Envelope (1) The SOAP envelope indicates the start and the end of the message. The SOAP envelope solves the problem of knowing when you're done receiving a message and are ready to process it. Every SOAP message has a root Envelope element. Envelope element is mandatory part of SOAP Message. Every Envelope element must contain exactly one Body element. If an Envelope contains a Header element, it must contain no more than one, and it must appear as the first child of the Envelope, before the Body. 13

14 SOAP Envelope (2) The envelope changes when SOAP versions change. The SOAP envelope is specified using the ENV namespace prefix and the Envelope element. The optional SOAP encoding is also specified using a namespace name and the optional encodingStyle element, which could also point to an encoding style other than the SOAP one. A v1.1-compliant SOAP processor will generate a fault when receiving a message containing the v1.2 envelope namespace. A v1.2- compliant SOAP processor generates a VersionMismatch fault if it receives a message that does not include the v1.2 envelope namespace. Chapter 214Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

15 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2001/12/soap-envelope" SOAP-ENV:encodingStyle="http://www.w3.org/2001/12/soap- encoding">... Message information goes here... Chapter 215Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

16 Chapter 216Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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" <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> Honolulu now

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

18 SOAP Fault The SOAP fault mechanism returns specific information about the error, including a predefined code, a description, the address of the SOAP processor that generated A SOAP Message can carry only one fault block Fault element is an optional part of SOAP Message For the HTTP binding, a successful response is linked to the 200 to 299 range of status codes; SOAP fault is linked to the 500 to 599 range of status codes. Chapter 218Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

19 Fault example <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> SOAP-ENV:Client Failed to locate method (ValidateCreditCard) in class (examplesCreditCard) at /usr/local/ActivePerl-5.6/lib/ site_perl/5.6.0/SOAP/Lite.pm line 1555.

20 Chapter 220Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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

21 WSDL structure definition of types........ definition of a message.... definition of a port....... definition of a binding.... Chapter 221Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

22 A WSDL document describes a web service using these major elements: ElementDefines The data types used by the web service The messages used by the web service The operations performed by the web service The communication protocols used by the web service Chapter 222Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

23 WSDL Ports The element is the most important WSDL element. It describes a web service, the operations that can be performed, and the messages that are involved. The element can be compared to a function library (or a module, or a class) in a traditional programming language. WSDL Messages The element defines the data elements of an operation. Each message can consist of one or more parts. The parts can be compared to the parameters of a function call in a traditional programming language. WSDL Types The element defines the data types that are used by the web service. For maximum platform neutrality, WSDL uses XML Schema syntax to define data types. WSDL Bindings The element defines the message format and protocol details for each port. Chapter 223Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

24 WSDL example Chapter 224Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

25 portType Operations TypeDefinition One-wayThe operation can receive a message but will not return a response Request-responseThe operation can receive a request and will return a response Solicit-responseThe operation can send a request and will wait for a response NotificationThe operation can send a message but will not wait for a response Chapter 225Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

26 <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/"> <xsd:schema targetNamespace="http://namespaces.socweather.com" xmlns:xsd="http://www.w3.org/1999/XMLSchema">

27

28

29 <wsdl:binding name="TempSvcSoapBinding" type="ts:GetTempPortType">

30 <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <soap:operation soapAction="http://www.socweather.com/TempSvc"/> <soap:body use="literal" namespace="http://schemas.socweather.com/TempSvc.xsd"/>

31 socweather.com temperature service

32 Chapter 232Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns WSDL Data Model

33 Chapter 233Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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

34 Chapter 234Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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

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

36 Chapter 236Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Data Model for UDDI

37 businessEntity data structure: <businessEntity businessKey="uuid:C0E6D5A8-C446-4f01-99DA-70E212685A40" operator="http://www.ibm.com" authorizedName="John Doe"> Acme Company We create cool Web services General Information John Doe (123) 123-1234 jdoe@acme.com... 37

38 Chapter 238Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

39 businessService data structure <businessService serviceKey="uuid:D6F1B765-BDB3-4837-828D- 8284301E5A2A" businessKey="uuid:C0E6D5A8-C446-4f01-99DA-70E212685A40"> Hello World Web Service A friendly Web service... Chapter 239Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

40 bindingTemplate Chapter 240Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

41 Chapter 241Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns WSDL  UDDI

42 Chapter 242Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 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


Download ppt "Lecture 6 SOAP WSDL UDDI. Chapter 22Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Highlights eXtensible."

Similar presentations


Ads by Google