Professional Documents
Culture Documents
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
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
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