Chapter 10:Execution Models
Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Chapter 10 2Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Highlights of this Chapter
Messaging CORBA Peer-to-Peer Computing Jini Grid Computing
Chapter 10 3Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Engagement as Interoperation
Requires surmounting a series of challenges Transport: HTTP, SMTP, SIP Messaging: XML (including XSLT …), SOAP Data and structure: WSDL Finding and binding: UDDI Semantics: ontologies (RDF, OWL, IEEE SUO, Cyc) Transactions: WS-Coordination, WS-
AtomicTransaction, WS-BusinessActivity Process: OWL-S, WSCI (WS-CDL), PSL, BPEL4WS Policy: XACML, Rei, possibly in rule frameworks Dynamism: agents Cooperation: multiagent systems
Chapter 10 4Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Interoperation Levels
BUSINESS
PHYSICAL SYSTEM
EI Evolution
APPLICATION
EDI/EDIFACT STEP/Express
BP/workflow engines/Coll. work
HTML/XML
SQL/OQL/XQuery PIFKQML/KIF WPDL
SOAP RosettaNetIntegration/Web services
Communication
Coordination
Cooperation
OSF/DCE IIOP/CORBA
TCP/IP
COM/DCOM
ASI HTTP/SMTPATM
J2EE, .NET
Knowledge Management
GERAM/CIMOSA/GRAI/PERA
Smart organization and social aspects
Inter-enterprise relationships
Chapter 10 5Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Architectural Elements
Low-level (included in app server): Directories, messaging
Data and process interoperation: Metadata and transformations Routing Rules engine
Business process Modeling and execution engine
Chapter 10 6Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Resource Adapters Expose connection factory in
appropriate namespace (directory) Connections can be pooled by app server
Transactions: so they can be controlled externally
Security Authentication (one-way or mutual) Authorization Potentially contracts for access control, data
integrity, nonrepudiation could be addedJava Connection Architecture standardizes
system contracts for connections, transactions, security
Chapter 10 7Service-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
Chapter 10 8Service-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
Chapter 10 9Service-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
Chapter 10 10Service-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
Chapter 10 11Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
CORBA
Persistence Externalization and Streams Naming and Trading Events Transactions
Chapter 10 12Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Persistent Object Service
The POS standardizes how an object's persistent state is
stored and retrieved via operations such as store, checkpoint, and restore (aka revert)
provides a persistence service with an IDL interface is superfluous if an OODB is available
Variations the POS must handle whether control of the storage is automatic or by the
client whether control is over individual objects or sets (or
graphs) of them what underlying systems are available what is the granularity of the underlying operations
Chapter 10 13Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Naming Services
Essence: bind names to objects (their references) find objects given their namesKey issues: Representing names Making NSs federate, i.e., share names
so that objects in different domains can be found-key to interoperability
Chapter 10 14Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Names
Lots of naming conventions exist, e.g., Unix and DOS
OMG defines a name as a sequence of name components, each component being an identifier and a type field.
the last component binds to an object reference all preceding components define successive naming
contexts main operations: bind, resolve, unbind
It is claimed this can map to any naming convention
(IMHO, should work for any (tree-based) hierarchical naming scheme)
Chapter 10 15Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Trader
Name service = white pages Trader = yellow pages + mail-order
catalog. YP to discover objects that meet some criteria Mail-order to dynamically invoke operations
Services are given by domain-specific properties:
what how how much
Traders can federate with other traders
Chapter 10 16Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
CORBA Event Service
Generalization of techniques for maintaining referential integrity
One way to maintain constraints is to notify other objects of changes in a given object
ES separates notification from object’s program logic
Chapter 10 17Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
ORB Communication
ORB communications are of 3 kinds: synchronous: sender blocks until receiver responds asynchronous: (one-way) sender doesn't wait for
receiver deferred synchronous: sender proceeds
independently of the receiver, but only up to a point
Execution is best effort, at most once With idempotent operations, more than once would
be OK, but with nonidempotent operations it wouldn't
Chapter 10 18Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
CORBA ES Architecture
Event channels decouple communication Each event from a supplier is sent to
every consumer Amount of storage for notifications is a
QoS issue, left to implementers
Supplier
Supplier
Event Channel
Consumer
Consumer
Chapter 10 19Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
CORBA Transaction Services
OTS supports OnLine Transaction Processing ACID transactions: flat or nested Wrapping existing systems Interoperability of various shades, e.g.,
single transaction over ORB and nonORB apps access to nonobject programs and resources access to objects from existing programs coordination over the above
Network interoperability: >=1 OTS over >=1 ORB (4 cases)
Flexible transaction control: client determines if op is part of transaction client can invoke trans and nontrans objects objects can specify transaction behavior of interfaces
TP monitors: concurrency and recovery across processes
Chapter 10 20Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Distributed Component Object Model (DCOM)
COM is an ORB; it provides an object standard and a common method of inter-ORB communication using OLE. DCOM distributes this across platforms
ClientApplication
In-ProcessObject
LocalObject
RemoteObject
Client Process
LocalObject
LocalObject
Stub
Stub
Local Server
Remote Server (DCOM)
RPC
LRPC
Chapter 10 21Service-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
Chapter 10 22Service-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
Chapter 10 23Service-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
Chapter 10 24Service-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
Chapter 10 25Service-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
Chapter 10 26Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and
Michael Huhns
Chapter 10 Summary