Professional Documents
Culture Documents
Basic Standards For Web Services: Service-Oriented Computing
Basic Standards For Web Services: Service-Oriented Computing
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 2
Standards for Web Services
ebXML Discovery (not
UDDI
Registries selection)
ebXML Contracts and
CPA agreements
OWL-S Service Process and workflow
BPEL4WS BPML
Model orchestrations
WS-AtomicTransaction and WS-
BTP QoS: Transactions
XLANG
BusinessActivity
OWL-S Service
WSCL WS-Reliable
WS-Coordination QoS: Choreography
Profile Messaging ebXML
WSCI
OWL-S Service BPSS
WS-Security WSCL QoS: Conversations
Grounding
ebXML QoS: Service
OWL PSL WS-Policy WSDL
CPP descriptions and bindings
ebXML
RDF SOAP
messaging Messaging
XML, DTD, and XML Schema Encoding
HTTP, FTP, SMTP, SIP, etc. Transport
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 3
Markup and Metadata 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
Generally, comprehensible (easier debugging),
though verbose and arcane
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 4
XML Basics and Namespaces
<?xml version="1.0"?> <!– not part of the document per se -->
<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">
<arbitrary:atag attr1="v1" attr2="v2">
Optional text also known as PCDATA
<arbitrary:btag attr1="v1" attr2="v2" />
</arbitrary:atag>
<random:simple_tag/> <!– abbreviate start and end -->
<random:atag attr3="v3"/> <!– compare arbitrary:atag -->
</arbitrary:toptag>
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 5
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
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 6
Web Services: Basic Architecture
Publish or Find or
announce discover
(WSDL) (UDDI)
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 7
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
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 8
Describing a Service
Name
e.g., GetTemperature
Types of Input Parameters
e.g., (String, String)
Types of Output Parameters
e.g., Integer
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 9
SOAP (Simple Object Access Protocol)
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 10
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"
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 11
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>
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 12
WSDL: Web Services Description Language
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 13
definitions
targetNamespace=thisNamespace
xmins:tns=thisNamespace
Data
A portType describes an abstract set
operation of operations
input message=tns:in
output message=tns:out
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 14
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
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 15
UDDI: Universal Description,
Discovery, and Integration
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 16
Yellow, Green, and White Pages in UDDI
businessEntity
-businessKey : string(idl)
-name : string(idl)
-description : string(idl) contact
-URL : string(idl) -phone : string(idl)
-contacts : contact -address : string(idl)
-businessServices : businessService
-identifierBag : keyedReference
-categoryBag : keyedReference 1
businessService
-serviceKey : string(idl)
* -tModelKey : string(idl)
-name : string(idl)
-description : string(idl)
keyedReference -bindingTemplates
-tModelKey : string(idl)
-keyName : string(idl)
-keyValue : string(idl)
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 17
businessEntity: Information about the
party who publishes information about tModel: Descriptions of specifications
a service for services or value sets. Basis for
technical fingerprints
businessEntities contain
businessServices
businessServices contain
bindingTemplates
bindingTemplate: Technical
information about a service entry point
Data Model
for UDDI
and implementation specs
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 18
WSDL UDDI
WSDL UDDI
Service Implementation
BusinessEntity
<import>
<service>
BusinessService
<port>
<port>
BindingTemplate
BindingTemplate
Service Interface
<types>
<message>
tModel
<portType>
<binding>
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 19
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
Chapter 2 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 20