250 likes | 457 Views
Chapter 10: Execution Models. Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005. Highlights of this Chapter. Messaging CORBA Peer-to-Peer Computing Jini Grid Computing. Engagement as Interoperation.
E N D
Chapter 10:Execution Models Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005
Highlights of this Chapter • Messaging • CORBA • Peer-to-Peer Computing • Jini • Grid Computing Service-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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
GERAM/CIMOSA/GRAI/PERA Smart organization and social aspects BUSINESS Cooperation Knowledge Management Inter-enterprise relationships BP/workflow engines/Coll. work APPLICATION EDI/EDIFACT STEP/Express HTML/XML Coordination KQML/KIF PIF WPDL SQL/OQL/XQuery Integration/Web services SOAP RosettaNet J2EE, .NET OSF/DCE IIOP/CORBA COM/DCOM PHYSICAL SYSTEM Communication ATM ASI TCP/IP HTTP/SMTP EI Evolution Interoperation Levels Service-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 Service-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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Application Interoperation Service-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 Service-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 Service-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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
CORBA • Persistence • Externalization and Streams • Naming and Trading • Events • Transactions Service-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 Service-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—this is a key to interoperability Service-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) Service-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 Service-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 Service-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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Consumer Consumer 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 Supplier Service-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 Service-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 In-Process Object Local Object Stub Local Server Client Application LRPC Local Object Local Object Stub Remote Object RPC Client Process Remote Server (DCOM) Service-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 Service-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. Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Jini Services Lookup Service Service object & attributes 1. discover 3. look up 2. join Client (digital camera) Service Provider (printer) Service object & attributes 4. invoke Service object & attributes Service-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 Service-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 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns