110 likes | 123 Views
This chapter highlights the interoperation architecture, messaging, peer-to-peer computing, and enterprise service bus in service-oriented computing. It covers standards and technologies for interoperation, including transport, messaging, data and structure, finding and binding, semantics, transactions, process, policy, dynamism, and cooperation.
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 • Interoperation Architecture • Messaging • Peer-to-Peer Computing • Enterprise Service Bus • CORBA • Jini • Grid Computing Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Interoperation (Standards and Technologies) • Requires surmounting a series of challenges • Transport: HTTP, SMTP, SIP • Messaging: XML (including XQuery …), SOAP • Data and structure: WSDL • Finding and binding: UDDI, QoS techniques • Semantics: ontologies (RDF, OWL, IEEE SUO, Cyc) • Transactions: WS-Coordination, WS-AtomicTransaction, WS-BusinessActivity • Process: OWL-S, WS-CDL, PSL, BPEL4WS • Policy: XACML • Dynamism: FIPA AMS, RuleML, Jason • Cooperation: FIPA ACL, multiagent systems Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Application Interoperation 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
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
Message-Oriented Middleware: 1 Analogous to store and forward networks • Queues: point to point • Support posting and reading messages • Topics: logical multicasts • Support publishing and subscribing to application-specific topics • Thus more flexible than queues • Some messages correspond to event notifications Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Message-Oriented Middleware: 2 • Inherently, asynchronous • Supports loose coupling • Reliability: cannot guarantee successful message delivery, but can provide failure notification • Usually used through an invocation-based interface • By polling or via registered callbacks • onMessage() method of message-driven beans Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Enterprise Service Bus An abstraction separating enterprise services and transport • Supports services as units of functionality • Supports routing of messages (via MoM or Web services or anything else) • Enables an architectural style in which transformers convert message formats • Often accompanied with modules for process, policy, logging, identity management, … Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns
Peer-to-Peer Computing 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 • Undesirable: push 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
Chapter 10 Summary • Increasingly, interoperation architectures promote loose coupling and arms-length relationships • Hence focus on messaging • Facilitate composition and deployment of services Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns