Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar...

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

Transcript of Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar...

Page 1: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

Chapter 10:Execution Models

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

Page 2: 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

Page 3: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 4: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 5: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 6: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 7: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 8: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 9: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

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

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

Page 11: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Michael Huhns

CORBA

Persistence Externalization and Streams Naming and Trading Events Transactions

Page 12: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 13: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 14: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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)

Page 15: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 16: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 17: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 18: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 19: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 20: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 21: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 22: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 23: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 24: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 25: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Page 26: Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.

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

Michael Huhns

Chapter 10 Summary