Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005."— Presentation transcript:

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

2 Chapter 102Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Highlights of this Chapter Messaging CORBA Peer-to-Peer Computing Jini Grid Computing

3 Chapter 103Service-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

4 Chapter 104Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Interoperation Levels BUSINESS PHYSICAL SYSTEM EI Evolution APPLICATION EDI/EDIFACTSTEP/Express BP/workflow engines/Coll. work HTML/XML SQL/OQL/XQuery PIFKQML/KIFWPDL SOAPRosettaNetIntegration/Web services Communication Coordination Cooperation OSF/DCEIIOP/CORBA TCP/IP COM/DCOM ASIHTTP/SMTP ATM J2EE,.NET Knowledge Management GERAM/CIMOSA/GRAI/PERA Smart organization and social aspects Inter-enterprise relationships

5 Chapter 105Service-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

6 Chapter 106Service-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 added Java Connection Architecture standardizes system contracts for connections, transactions, security

7 Chapter 107Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Application Interoperation

8 Chapter 108Service-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

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

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

11 Chapter 1011Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns CORBA Persistence Externalization and Streams Naming and Trading Events Transactions

12 Chapter 1012Service-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

13 Chapter 1013Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Naming Services Essence: bind names to objects (their references) find objects given their names Key issues: Representing names Making NSs federate, i.e., share names so that objects in different domains can be found-key to interoperability

14 Chapter 1014Service-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)

15 Chapter 1015Service-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

16 Chapter 1016Service-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

17 Chapter 1017Service-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

18 Chapter 1018Service-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 Event Channel Consumer

19 Chapter 1019Service-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

20 Chapter 1020Service-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 Client Application In-Process Object Local Object Remote Object Client Process Local Object Local Object Stub Local Server Remote Server (DCOM) RPC LRPC

21 Chapter 1021Service-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

22 Chapter 1022Service-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.

23 Chapter 1023Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Jini Services Service Provider (printer) Lookup Service Client (digital camera) Service object & attributes 1. discover 2. join 3. look up 4. invoke

24 Chapter 1024Service-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

25 Chapter 1025Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns WSRF: Aligning Grid Computing with Web 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

26 Chapter 1026Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns Chapter 10 Summary


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

Similar presentations


Ads by Google