Chapter 10: Execution Models

advertisement
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
Download