Download presentation
Presentation is loading. Please wait.
Published byElvin Heath Modified over 9 years ago
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">
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.