Chapter 10: Execution Models Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005 Highlights of this Chapter Chapter 10 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 2 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 Chapter 10 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 3 Application Interoperation Direct Integration EDI Application Application Application Application Application Transform Transform Transform Transform Transform XML Transformation Chapter 10 Process + Services Transformation Application Application Application Application Application Transform Transform Transform Transform Transform API solution Standard Data Exchange Format Standard Data Exchange Format in XML Enterprise Service Bus (possibly interenterprise) Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 4 Architectural Elements Low-level (included in app server): Data and process interoperation: Metadata and transformations Routing Rules engine Business process Chapter 10 Directories, messaging Modeling and execution engine Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 5 Invocation-Based Adapters Common in distributed object settings (EJBs, DCOM, CORBA) 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 Chapter 10 Synchronous: blocking method invocation Asynchronous: nonblocking (one-way) method More than once is OK for idempotent operations, not otherwise Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 6 Message-Oriented Middleware: 1 Analogous to store and forward networks Queues: point to point Topics: logical multicasts Chapter 10 Support posting and reading messages 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 7 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 Chapter 10 By polling or via registered callbacks onMessage() method of message-driven beans Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 8 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, … Chapter 10 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 9 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 Asynchrony: While the request-response paradigm corresponds to pull, asynchronous communication corresponds to push Chapter 10 Doesn't fundamentally look beyond client-server 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 10 Chapter 10 Summary Chapter 10 Increasingly, interoperation architectures promote loose coupling and arms-length relationships Hence focus on messaging Similar challenges have been addressed multiple times but service improvements result in easier composition and deployment of services Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns 11