+ All Categories
Home > Documents > Chapter 1: Computing with Services

Chapter 1: Computing with Services

Date post: 31-Dec-2015
Category:
Upload: randolph-tripp
View: 20 times
Download: 4 times
Share this document with a friend
Description:
Chapter 1: Computing with Services. Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005. Semantic Web and Beyond. Human  Machine  Agents Client-Server  P2P  Cooperative - PowerPoint PPT Presentation
Popular Tags:
60
Chapter 1: Computing with Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Transcript
Page 1: Chapter 1: Computing with Services

Chapter 1:Computing with ServicesService-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

Page 2: Chapter 1: Computing with Services

Chapter 1 2Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Semantic Web and Beyond Human Machine Agents Client-Server P2P Cooperative Syntax Semantics Mutual Understanding

Pragmatics and Cognition Data Services Processes

Syntax, Language, and Vocabulary- FIPA ACL

Semantics and Understanding- Ontologies, OWL

Pragmatics (getting work done)- Workflows, BPEL4WS

Distributed Cognition- Decisions and Plans

Current Web Services:focus on individual and small group

Future Web Services:focus on organization and society

Page 3: Chapter 1: Computing with Services

Chapter 1 3Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Open Environments: Characteristics

Cross enterprise boundaries Comprise autonomous resources that

Involve loosely structured addition and removal Range from weak to subtle consistency

requirements Involve updates only under local control Frequently involve nonstandard data

Have intricate interdependencies

Page 4: Chapter 1: Computing with Services

Chapter 2:Basic Standards for Web Services

Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

Annotated by Juggy Jagannathan in this color

Page 5: Chapter 1: Computing with Services

Chapter 1 5Service-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)

Page 6: Chapter 1: Computing with Services

Chapter 1 6Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Standards for Web Services

BPEL4WSOWL-S Service

Model

ebXMLCPA

Process and workfloworchestrations

QoS: Servicedescriptions and bindings

Contracts andagreements

XLANG

WSCL

WSDLebXML

CPP

ebXMLBPSS

XML, DTD, and XML Schema

HTTP, FTP, SMTP, SIP, etc.

SOAPebXML

messaging

OWL

UDDIebXML

Registries

WSCLWSCI

WS-Coordination

WS-AtomicTransaction and WS-BusinessActivity

OWL-S ServiceGrounding

OWL-S ServiceProfile

BTP

BPML

Discovery

Messaging

Transport

QoS: Conversations

QoS: Choreography

QoS: Transactions

Encoding

WS-Policy

WS-Security

WS-ReliableMessaging

PSL

RDF

Page 7: Chapter 1: Computing with Services

Chapter 1 7Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

XML Web Service Foundation

Open and with broad industry support

Publish, Find, Use Services UDDI

Service Interactions SOAP

Universal Data Format XML

Description Language WSDL

Ubiquitous Communications TCP/IP, HTTP, SMTP, SIP, Reliable messaging

Security (authentication and authorization) WS-Security, SAML

Page 8: Chapter 1: Computing with Services

Chapter 1 8Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Web Services: Basic Architecture

ServiceBroker

ServiceProvider

ServiceRequesto

r

Bind or invoke(SOAP)

Find or discover(UDDI)

Publish or announce(WSDL)

Registry; well-known

Not well-known

Page 9: Chapter 1: Computing with Services

Chapter 1 9Service-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

Page 10: Chapter 1: Computing with Services

Chapter 1 10Service-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

Page 11: Chapter 1: Computing with Services

Chapter 1 11Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Ex. SOAP Request

POST /temp HTTP/1.1Host: www.socweather.comContent-Type: text/xml; charset="utf-8"Content-Length: xxxSOAPAction: "http://www.socweather.com/temp"

<!-- The above are HTTP headers --><?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>

Message sent to this URL

Get me the temp in Honolulu now

Define the namespace for the message

Page 12: Chapter 1: Computing with Services

Chapter 1 12Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Ex. SOAP Response

HTTP/1.1 200 OKContent-Type: text/xml; charset="utf-8"Content-Length: xxxSOAPAction: "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>

Temp is 30o Celsius

Syntax for encoding response

Page 13: Chapter 1: Computing with Services

Chapter 1 13Service-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

Page 14: Chapter 1: Computing with Services

Chapter 1 14Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Concepts Operation: Equivalent to a method Message: Typed data that can be IN,

OUT or INOUT Type: Typed data using XML Schema Port Type: Like a class or like Java

interface – a collection of operations Binding: A mechanism to invoke

operations – how do I invoke this method?

Port: a reference to where an operation may be invoked

Service: a collection of ports (classes)

Page 15: Chapter 1: Computing with Services

Chapter 1 15Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

WSDL Data Model definitions targetNamespace=thisNamespace xmins:tns=thisNamespace

types message name=in message name=out

portType name=foo operation input message=tns:in output message=tns:out

binding name=foobar type=tns:foo [binding information]

service name=foobar Service

Port name=foobarPort binding=tns:foobar [endpoint information]

Types contains data type definitionsMessages consist of one or more parts

A portType describes an abstract setof operations

A binding describes a concrete set offormats and protocols for the fooportTypes

A port describes an implementationof the foobar binding

Page 16: Chapter 1: Computing with Services

Chapter 1 16Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Yellow, Green, and White Pages in UDDI

-businessKey : string(idl)-name : string(idl)-description : string(idl)-URL : string(idl)-contacts : contact-businessServices : businessService-identifierBag : keyedReference-categoryBag : keyedReference

businessEntity

1

*

-tModelKey : string(idl)-keyName : string(idl)-keyValue : string(idl)

keyedReference

-serviceKey : string(idl)-tModelKey : string(idl)-name : string(idl)-description : string(idl)-bindingTemplates

businessService

-phone : string(idl)-address : string(idl)

contact

Page 17: Chapter 1: Computing with Services

Chapter 3:Programming Web Services

Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2004

Page 18: Chapter 1: Computing with Services

Chapter 1 18Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Web Service Development Tools

Several exist (e.g., .NET, Cape Clear) Generate WSDL documents automatically

from OO (e.g., Java) source code Generate source code stubs from WSDL

WSDL DocsWSDL GeneratorJava Class Files

Page 19: Chapter 1: Computing with Services

Chapter 1 19Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Chapter 3 Summary Tools help with low-level details

Agreeing on standards is more important than the standards themselves

Should conceptualize interactions in a manner compatible with the Web architecture Can simplify from SOAP in many cases

The above is a small point anyway Bigger challenges are in ensuring larger-scale

interactions, ensuring integrity, handling exceptions, …

Sophisticated programming models are emerging

Page 20: Chapter 1: Computing with Services

Chapter 4:Enterprise ArchitecturesService-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

Few slides added by Juggy Jagannathan

Page 21: Chapter 1: Computing with Services

Chapter 1 21Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Highlights of this Chapter

Enterprise Integration J2EE .NET Model Driven Architecture Legacy Systems

Page 22: Chapter 1: Computing with Services

Chapter 1 22Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

J2EE Architecture

J2EEApplication

Server

JAF

JavaMail

JMS

JDB

C

JTA

JND

I

RM

I/IIOP

Servlets JSPsTag

Library

Web Container

JAF

JavaMail

JMS

JDB

C

JTA

JND

I

RM

I/IIOP

EJB Container

SessionBeans

EntityBeans

RDBMS Mail Server

Java App.

CORBA Server

DirectoryService

Message Queue

XHTMLXML

Applet

ClientApp.

HTTP(S)

Reproduced with Permission from Java Server Programming J2EE Edition – Wrox Press, Ltd, 2000

Page 23: Chapter 1: Computing with Services

Chapter 1 23Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

.NET Technology

Microsoft Transaction Server

Shared PropertyManager

COM+COMPONENT

BabylonIntegrationServer

RelationalDBMS

LegacySystem

ADO,OCEDB,ODBC

CORBA Client

ActiveX Controlin Browser

Applications

Web Browser

IIS/ASP

XML, HTML, HTTP (SSL)

MicrosoftMessageQueue

Active Directory

Windows Operating System

Page 24: Chapter 1: Computing with Services

Chapter 1 24Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Chapter 4 Summary

Services must fit into existing architectures

J2EE and .NET are architecturally similar

Legacy systems provide the basis for many services Interoperating with legacy systems is

nontrivial Challenge: refactoring legacy

capabilities to derive best value from resulting services

Page 25: Chapter 1: Computing with Services

Chapter 5:Principles of Service-Oriented Computing

Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2004

Page 26: Chapter 1: Computing with Services

Chapter 1 26Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Key Concepts for an SOA

Loose coupling Implementation neutrality Flexible configurability Persistence Granularity Teams

Page 27: Chapter 1: Computing with Services

Chapter 6:Modeling and Representation

Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

Page 28: Chapter 1: Computing with Services

Chapter 1 28Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Integration versus Interoperation

Application

Transform

Application Application Application Application

Integration EDI XML Portal + Workflow Solution

APIsolution

Standard DataFormat

XML-Based DataExchange Format

Application Application Application Application Application

Distributed application: XML +Web services + workflow

TransformationTransformation

Transform Transform Transform Transform

Transform Transform Transform Transform Transform

Page 29: Chapter 1: Computing with Services

Chapter 1 29Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Modeling and Composing Services

RequirementsAnalysis

ConceptualSchema

BackgroundKnowledge

Universe ofDiscourse

Universe ofDiscourse

RequirementsAnalysis

CO

MP

RE

HE

ND

ConceptualSchema

ServiceInterface

ServiceInterface

DesignService

Implementation

DesignService

Implementation

MA

P

INT

ER

OP

ER

AT

E

Page 30: Chapter 1: Computing with Services

Chapter 1 30Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Ontologies and Articulation Axioms

SeatingArrangement

Airplane

TransportationDevice

nonNegativeInteger

seats

nonNegativeInteger

range

numpassengers

Airliner

Flight

Airport

to from

equipment

CommercialTransportation

Device

PublicTransportation

Device

Itinerary

LocationClass ofService

classto Leg

from

uses

1*

Boeing777

JumboJet

CommonOntology

Travel Agent Service

User’s Agent

Page 31: Chapter 1: Computing with Services

Chapter 1 31Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Exercise: Which Conceptualization Has More Expressive Power?

awg22SolidBlueWire(ID5) blueWire(ID5, AWG22, Solid) solidWire(ID5, AWG22, Blue) wire(ID5, AWG22, Solid, Blue) wire(ID5)^size(ID5,

AWG22)^type(ID5, solid)^color(ID5, Blue)

Page 32: Chapter 1: Computing with Services

Chapter 1 32Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Chapter 6 Summary

Shared models are essential for interoperation Based on shared ontologies or

conceptualizations Good models must accommodate several

important considerations Modeling requires several subtle considerations

Declarative representations facilitate reasoning about and managing models

Formalization enables ensuring correctness of models and using them for interoperation

Page 33: Chapter 1: Computing with Services

Chapter 7:Resource Description Framework (RDF)

Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

Page 34: Chapter 1: Computing with Services

Chapter 1 34Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

RDF

Provides a basis for knowledge representation

Simple language to capture assertions (statements), which help capture knowledge, e.g., about resources

RDF puts together old KR ideas but uses the Web to enhance their range and avoid some longstanding problems

Page 35: Chapter 1: Computing with Services

Chapter 1 35Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Statements or Triples

RDF is based on a simple grammar An RDF document is just a set of

statements or triples Each statement consists of

Subject: a resource Object: a resource or a literal Predicate: a resource

Page 36: Chapter 1: Computing with Services

Chapter 1 36Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Example (Using Dublin Core)

<?xml version='1.0' encoding='UTF-8'?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-

syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description

rdf:about="http://www.wiley.com/SOC"> <dc:title>Service-Oriented

Computing</dc:title> <dc:creator>Munindar</dc:creator> <dc:creator>Michael</dc:creator> <dc:publisher>Wiley</dc:publisher> </rdf:Description></rdf:RDF>

rdf:Description gathers statements about one subject

Page 37: Chapter 1: Computing with Services

Chapter 1 37Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

N-Triples Notation<http://www.wiley.com/SOC> <http://purl.org/dc/elements/1.1/title> "Service-Oriented Computing" .<http://www.wiley.com/SOC> <http://purl.org/dc/elements/1.1/creator> "Munindar" .<http://www.wiley.com/SOC> <http://purl.org/dc/elements/1.1/creator> "Michael" .<http://www.wiley.com/SOC> <http://purl.org/dc/elements/1.1/publisher> "Wiley” .

Could also write individual statements in the XML syntax, but the rdf:Description element simplifies the notation

Page 38: Chapter 1: Computing with Services

Chapter 1 38Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Chapter 7 Summary

RDF captures the deep structure whereas XML captures the surface structure RDF captures graphs in general

RDF is based on an simple linguistic representation: subject, predicate, object But “webified” via URIs

RDF comes with RDF Schema In essence, an object-oriented type system Has been used for important custom

vocabularies For our purposes, best used as part of OWL

Page 39: Chapter 1: Computing with Services

Chapter 8:Web Ontology Language (OWL)

Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

Page 40: Chapter 1: Computing with Services

Chapter 1 40Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Web Ontology Language (OWL)

RDF captures the basics, i.e., an object-oriented type system

Additional subtleties of meaning are needed for effective KR

OWL standardizes additional constructs to show how to capture such subtleties of meaning

OWL builds on RDF

Page 41: Chapter 1: Computing with Services

Chapter 1 41Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

OWL in Brief

Specifies classes and properties in a form of description logic (DL) Class operators analogous to Boolean

operators and, not, and or Constraints on properties: transitive,

… Restrictions: constructs unique to DL

Has three species: OWL Full, OWL DL, and OWL Lite

Page 42: Chapter 1: Computing with Services

Chapter 1 42Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Ontologies to Define Vocabulary Semantics

A trivial ontology defining our vocabulary Uses simple subclasses and properties

Disjointness goes beyond RDF Object properties refine RDF propeties; relate two

objects

<owl:Class rdf:ID="Mammal"> <rdfs:subClassOf rdf:resource="#Animal"/> <owl:disjointWith rdf:resource="#Reptile"/></owl:Class>

<owl:ObjectProperty rdf:ID="hasParent"> <rdfs:domain rdf:resource="#Animal"/> <rdfs:range rdf:resource="#Animal"/></owl:ObjectProperty>

Page 43: Chapter 1: Computing with Services

Chapter 1 43Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Constructing OWL Classes

Explicitly (as in the examples above) or

Anonymously, using Restrictions (next page) Set operators: intersectionOf,

unionOf, complementOf, e.g.,<owl:Class rdf:ID='SugaryBread'> <owl:intersectionOf rdf:parseType='Collection'> <owl:Class rdf:about='#Bread'/> <owl:Class rdf:about='#SweetFood'/> </owl:intersectionOf></owl:Class>

Page 44: Chapter 1: Computing with Services

Chapter 1 44Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Restrictions: 1 A unique feature of description logics Kind of like division: define classes in terms of a

restriction that they satisfy with respect to a given property

Anonymous: typically included in a class def to enable referring them

Key primitives are someValuesFrom a specified class allValuesFrom a specified class hasValue equal to a specified individual or data type minCardinality maxCardinality Cardinality (when maxCardinality equals

minCardinality)

Page 45: Chapter 1: Computing with Services

Chapter 1 45Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Restrictions: 2Examples of restriction fragments

<owl:Restriction> <owl:onProperty rdf:resource="#hasFather"/> <owl:maxCardinality

rdf:datatype="xsd:nonNegativeInteger"> 1 </owl:maxCardinality></owl:Restriction>

<owl:Restriction> <owl:onProperty rdf:resource='#bakes'/> <owl:someValuesFrom rdf:resource='#Bread'/></owl:Restriction>

Page 46: Chapter 1: Computing with Services

Chapter 1 46Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Restrictions versus Axioms

Axioms are global assertions that can be used as the basis for further inference

Restrictions are constructors When we state that hasFather has a

maxCardinality of 1, we are Defining the class of animals who have zero or one

fathers: this class may or may not have any instances

Not stating that all animals have zero or one fathers

Often, to achieve the desired effect, we would have to combine restrictions with axioms (such as based on equivalentClass)

Page 47: Chapter 1: Computing with Services

Chapter 1 47Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Inference

OWL is about content, not the syntax Statements from different documents about

the same URI are automatically conjoined OWL can appear unintuitive to the uninitiated

Declare that no one can have more than one mother

Declare Mary is John’s mother Declare Jane is John’s mother

A DBMS would declare an integrity violation An OWL reasoner would say Mary = Jane

Page 48: Chapter 1: Computing with Services

Chapter 1 48Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Expressiveness Limitations (sample):

Constraints among individuals Cannot define tall person: one whose

height is above a certain threshold Can define ETHusband: one who has

been married to Elizabeth Taylor Cannot capture defeasibility (also

known as nonmonotonicity) Birds fly Penguins are birds Penguins don’t fly

Page 49: Chapter 1: Computing with Services

Chapter 1 49Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Chapter 8 Summary

OWL builds on RDF to provide a rich vocabulary for capturing knowledge Synthesizes a lot of excellent work on

discrete, taxonomic knowledge representation

Fits well with describing information resources – a basis for describing metadata vocabularies

Critical for unambiguously describing services so they can be selected and suitably engaged

Page 50: Chapter 1: Computing with Services

Chapter 10:Execution Models

Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005

Page 51: Chapter 1: Computing with Services

Chapter 1 51Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Highlights of this Chapter

Messaging CORBA Peer-to-Peer Computing Jini Grid Computing

Page 52: Chapter 1: Computing with Services

Chapter 1 52Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Application Interoperation

Application

Transform

Application Application Application Application

DirectIntegration

EDI XMLPortal + workflow

Solution

APIsolution

Standard DataExchangeFormat

Standard DataExchange Formatin XML

Application Application Application Application Application

Application is distributedon the Web: XML + Webservices+ workflow

TransformationTransformation

Transform Transform Transform Transform

Transform Transform Transform Transform Transform

Page 53: Chapter 1: Computing with Services

Chapter 1 53Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Basic Interaction Models: 1 Invocation-based adapters: common in

distributed object settings (EJBs, DCOM, CORBA) Synchronous: blocking method invocation Asynchronous: nonblocking (one-way)

method invocation with callbacks Deferred synchronous: (in CORBA) sender

proceeds independently of the receiver, but only up to a point

Execution is best effort, at most once More than once is OK for idempotent

operations, not otherwise

Page 54: Chapter 1: Computing with Services

Chapter 1 54Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Basic Interaction Models: 2

Message-oriented middleware: usually used through an invocation-based interface (registered callbacks) Post and read messages from queues

(point to point) Publish and subscribe (topic-based;

more flexible) Some messages correspond to

event notifications

Page 55: Chapter 1: Computing with Services

Chapter 1 55Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Basic Interaction Models: 3

Peer to peer computing: Symmetric client-server: (callbacks) each

party can be the client of the other Asynchrony: while the request-response

paradigm corresponds to pull, asynchronous communication corresponds to push Applications that place their entire intelligence on

the server (pushing) side are inappropriate Federation of equals: (our favorite) when the

participants can enact the protocols they like

Page 56: Chapter 1: Computing with Services

Chapter 1 56Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

P2P Models of Computation

The term P2P stands for different models of computation

Symmetric client-server. Each party can query the other, thereby giving each power over the other at different times

doesn't fundamentally look beyond client-server Asynchrony. While the request-response

paradigm corresponds to pull, asynchronous communication corresponds to push

Push, unfortunately, got a lot of bad press with applications that place their entire intelligence on the server (pushing) side

Federation of equals. When the participants can enact whatever protocols they see fit

Page 57: Chapter 1: Computing with Services

Chapter 1 57Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Jini Architecture

Extends Java from one machine to a network Uses Remote Method Invocation (RMI) to move code Has mechanisms for services (devices and users) to

join and detach Provides time-bound leases for resource sharing.

Infrastructure Programming Model Services

Java Java VMRMISecurity

Java APIsJavaBeans

JNDIEnterprise BeansJTS

Java + Jini Discovery/JoinLookupDistributed Security

LeasingTransactionsEvents

PrintingTransaction managerJavaSpaces

Page 58: Chapter 1: Computing with Services

Chapter 1 58Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Jini Services

Service Provider

(printer)

Lookup Service

Client

(digital camera)

Service object & attributes

Service object & attributes

Service object & attributes

1. discover

2. join

3. look up

4. invoke

Page 59: Chapter 1: Computing with Services

Chapter 1 59Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

Grid Computing Goal: efficient utilization of an organization’s

heterogeneous, loosely coupled resources tied to workload management capabilities or information virtualization. The objective of workload management is to allocate resources to the most important applications

Supported by Globus Toolkit that provides Grid Resource Allocation and Management (GRAM)

protocol and its gatekeeper (factory) service; these provide for the secure and reliable creation and management of arbitrary computations, termed transient service instances

Grid Security Infrastructure (GSI), which supports single sign on, delegation, and credential mapping. A two-phase commit protocol is used for reliable invocation

Meta Directory Service (MDS-2), which provides for information discovery through soft-state registration, data modeling, and a local registry

Page 60: Chapter 1: Computing with Services

Chapter 1 60Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and

Michael Huhns

WSRF: Aligning Grid Computing withWeb Services

The Web Services Resource Framework (WSRF) describes how to model stateful resources with Web services, and includes

WS-Resource Properties, which defines how data associated with a stateful resource can be queried and changed using Web service technologies; it allows clients to build applications that read and update data associated with resources, such as contracts, servers, and purchase orders

WS-Resource Lifetime, which allows a user to specify the period during which a resource definition is valid. It can, for example, automatically update suppliers from all systems once contracts or service-level agreements expire, or delete from inventory system products that are no longer being manufactured


Recommended