Basic Standards for Web Services ServiceOriented Computing Semantics Processes Agents Munindar P Singh and Michael N Huhns Wiley 2005 Chapter 2 2 ServiceOriented Computing Semantics Processes Agents ID: 433782
Download Presentation The PPT/PDF document "Chapter 2:" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Chapter 2:Basic Standards for Web Services
Service-Oriented Computing:
Semantics, Processes, Agents
– Munindar P. Singh and Michael N. Huhns, Wiley, 2005Slide2
Chapter 22
Service-Oriented Computing: Semantics, Processes, Agents
- Munindar Singh and Michael Huhns
Highlights of this Chapter
eXtensible Markup Language (XML)
Simple Object Access Protocol (SOAP)
Web Services Description Language (WSDL)
Directory Services
Universal Description, Discovery, and Integration (UDDI)Slide3
Chapter 23
Service-Oriented Computing: Semantics, Processes, Agents
- Munindar Singh and Michael Huhns
Standards for Web ServicesSlide4
Chapter 24
Service-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
General,
comprehensible (easier debugging), though verbose and arcaneSlide5
Chapter 25
Service-Oriented Computing: Semantics, Processes, Agents
- Munindar Singh and Michael Huhns
XML Basics and Namespaces
<?xml version
="1.0"
?>
<!– not part of the document per se
-->
<
arbitrary:elemZ
xmlns
=
"http://one.default.namespace/if-needed"
xmlns:arbitrary
=
"http://wherever.it.might.be/arbit-ns"
xmlns:random
=
"http://another.one/random-ns">
<
arbitrary:
elemA
attr1=
"v1"
attr2=
"v2"
>
Optional text also known as PCDATA
<
arbitrary:
elemB
attr1=
"v1"
attr2=
"v2"
/>
</
arbitrary:elemA
>
<
random:simpleElem
/>
<!– abbreviate start and end -->
<
random:elemA
attr3=
"v3"
/>
<!–
cf
arbitrary:elemA
-->
</
arbitrary:elemZ
>Slide6
Chapter 26
Service-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 constraintsSlide7
Chapter 27
Service-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-knownSlide8
Chapter 28
Service-Oriented Computing: Semantics, Processes, Agents
- Munindar Singh and Michael Huhns
Basic Profile (BP 1.0)
Standard of standards:
SOAP 1.1
HTTP 1.1
XML 1.0
XML Schema Parts 1 and 2
UDDI Version 2
WSDL 1.1
Web Services Interoperability Organization (WS-I)
Newer versions in progressSlide9
Chapter 29
Service-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., IntegerSlide10
Chapter 210
Service-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 symmetric or multiparty interactionsSlide11
Chapter 211
Service-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"
<!-- Above: HTTP headers and a blank line. -->
<!—These
comments onwards:
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
>Slide12
Chapter 212
Service-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"
<?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>Slide13
Chapter 213
Service-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 bindingsSlide14
Chapter 214
Service-Oriented Computing: Semantics, Processes, Agents
- Munindar Singh and Michael Huhns
WSDL Data ModelSlide15
Chapter 215
Service-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 attributes
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 passiveSlide16
Chapter 216
Service-Oriented Computing: Semantics, Processes, Agents
- Munindar Singh and Michael Huhns
UDDI: Universal Description, Discovery, and Integration
UDDI is itself 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 tModelsSlide17
Chapter 217
Service-Oriented Computing: Semantics, Processes, Agents
- Munindar Singh and Michael Huhns
Yellow, Green, and White Pages in UDDISlide18
Chapter 2
18
Service-Oriented Computing: Semantics, Processes, Agents
- Munindar Singh and Michael Huhns
Data Model for UDDISlide19
Chapter 219
Service-Oriented Computing: Semantics, Processes, Agents
- Munindar Singh and Michael Huhns
WSDL
UDDISlide20
Chapter 220
Service-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 from distributed computing
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, not programmers
Increasingly hidden by tools