Service OrientedComputing
Burr Watters
Tasha Wells
April 5, 2004
Overview
What Service Oriented Computing?
Service Oriented Architecture
Web Service Componentization
Service Composition
BPEL4WS
Coordination
Contracts and Port Types
Web Service Transactions
What is Service OrientedComputing?
It is the paradigm for distributed computing toenable application networks to be built usingservices as fundamental elements fordeveloping applications.
Service Oriented Architecture
Management Level
Operations Management:
Support critical applications that require organizations to manage the serviceplatform, the applications and the deployment of services.
The organization responsible for these functions is known as the serviceoperator.
Market Management:
Administration of the marketplace and maintenance to guarantee theadministration is open for business.
The creator/maintainer of a marketplace is known as the market-maker.
Composition Level
Allows consolidation of multiple services into a single compositeservice using the following functionality:
Coordination:
Controls the execution of component services and manages thedataflow between them.
Monitoring:
Monitors events or information produced by component services.
Conformance:
Ensures consistency of composite services by matching parametertypes with parameters of component services
imposes constraints on component services to enforce businessrules.
Quality of Service (QoS) composition:
Combines the component’s QoS to determine the composite QoSsuch as overall cost, performance and security.
Description/Integration Level
Creation of composite service through the following functions:
Service description:
Communicates the service’s capabilities/functionalities, interface,behavior, cost and quality of service.
Service discovery:
Locates appropriate services using requirements and selection criteria.
Service delivery:
Invocation – request for specified service according to agreed terms andconditions.
Provision – the agreed-upon service is supplied within the period agreedto in the contract.
Suspension – establish point where the service will no longer be needed.
Service composition:
Composes service from lower-level services in which the previous threefunctions are known.
Description/Integration Level
Service Protocols
Simple Object Access Protocol (SOAP)
Provides a format for communicating between webservices.
Web Services Description Language (WSDL)
Provides the definition interface for web componentsto communicate.
Universal Description, Discovery, and Integration(UDDI)
Provides a directory that can be used to locateavailable services and learn their details.
Web ServiceComponentization
Web ServiceComponentization
Service Composition
Componentized model becomes a naturalarchitecture
Services become the building blocks of an application.
Service compositions become the “glue” which binds theservices.
Web services must provide standards on:
An interoperability communication protocol,
Mechanisms for service description, discovery, andcommunication, and
Quality of Service
The Web Services Stack
Business Process Execution Language for WebServices (BPEL4WS)
BPEL (for short)
Standardized by the Organization for theAdvancement of Structured Information Standards(OASIS).
Provides a mechanism for defining servicecompositions in the form of choreographies of Webservices.
A choreography consists of the aggregation ofservices to certain business rules.
BPEL Interactions
BPEL composition are called processes.
Services that interact with each other are partners.
Business Protocolsin BPEL
BPEL composition defines the messageexchange between partners.
Partnerships are declared through the WSDLinterfaces that are specified in the BPELprocess.
WSDL provides the abstraction between servicedescription and service deployment.
Provides multi-protocol access to services.
Business Protocolsin BPEL
Facilities the message exchange between theprocess and its partners.
Complex algorithm are created using
Primitive Activities
Signaling faults, Terminating process execution,Manipulating data
Structured Activities
Sequence, Switch, While, Pick, Flow
Message Correlation
Tracks messages received from one partner to another in aparticular conversation.
Fault Handling and Compensationin BPEL
Provides a fault handling to deal with errorsthat may occur in an application.
Similar to a “try-catch” block.
Compensation is the process of rolling backactions that have been completed before afault occurred.
Scopes determine how fault handling /compensation are resolved in a process.
Closed tied to WS-Transactions.
WS-Coordination
Framework for pluggable coordination models.
Allows a set of independently distributed services toreach a consistent and defined outcome.
Elements of WS-Coordination
CoordinationContext – extensible context representing thecoordination that is propagated to the distributedparticipants.
Activiation – used by clients to create a coordinationcontext.
Registration – used by participants to register resources forinclusion in specific coordination protocols.
Coordinating BPEL Web Services
Behavioral Aspects of Service
Connectivity is great, but most of thecomplexity comes with interoperatingservices.
Web services have the autonomy to runindependently of each other.
The heterogeneity of the web causesprocesses to be written in any languageunder any assumptions.
Port Types
A service can send any message to a port aprocess may be running on and expect aresponse.
The port must be able to understand themessage.
Thus, port types describes to the requestingservice what messages the port will respondto.
Convenient because programmers do not have tocode for erroneous messages.
Contracts
Port types do not describe:
Quality of Service
Timeliness
Execute Order
These are prescribed in a contract
Sets the communication protocol for using the port.
Disciplines the channels of communication betweenservice and port.
Allows the service to eliminate ports whose serviceagreements do not conform to its needs.
WS-Transaction
Specifies two types of coordination activities.
Atomic Transaction
Short-running transactions.
Allows the transaction to hold the resources being used by theservice operations.
All resources must be committed before transaction succeeds.
Similar to the two-phase commit protocol.
Business Activity
Long-running business transactions.
Resources are not held; business logic provides error handling.
Allows for participants to register and leave the activity at will.
Participants can declare its outcome before being asked.
Web Service Transactions
Example of Two-Phase Commit Protocol
Are ACID transactions too strong?
Could hold a service until the transaction is completed.
Thus, making it available to other services.
Web Service Transactions
Long running activities
vs.
“Logical” long running activities
Each transaction is confirmed and release when done.
In the event of a rollback, certain compensation activitiesmust may be necessary to get the system back to aconsistent state.
Business Transaction Protocol(BTP)
Developed by Oasis
Gives the appearance of a two-phase commitprotocol without have ACID characteristics
Closed-top commit protocol
Executes entire two-phase commit protocol beforereturning an outcome
Verbs: begin, commit, and rollback
Open-to commit protocol
Allows the application to control the time between the two-phase commit protocol
Verbs: prepare, confirm, and cancel
Business Transaction Protocol(BTP)
BTP introduced two types of extended transactions
Atom Transactions
Traditional method of performing transactions.
All participants see the same outcome.
Cohesion Transactions
Allows business logic to confirm/cancel transaction.
Sets a “cohesion” scope for entire transaction.
Creates Atom scopes for services to “enroll” in.
These Atom scopes come with caveat.
That it may be “canceled” or “prepared”.
That it could take some time before arriving at its “confirm-set”.
Once the “confirm-set” has been reached, then the cohesioncollapses to a atom and the participates see the resultingoutcome.
Summary
Service Oriented Architecture
Management, Composition, and Description/IntegrationLevel
Web Service Componentization
Service Composition
BPEL4WS
Interactions, Protocols, Fault Handling and Compensation
Coordination
Contracts and Port Types
Transactions
Web Service Transactions and BTP
Resources
Papazoglou, M. & Georgakopoulos, D.  Service Oriented Computing.  Communications of theACM.  October 2003.  p 25.
Curbera, F., Khalaf, R., Mukhi, N., Tai, S., & Weerawarana, S.  The Next Step in Web Services.Communications of the ACM.  October 2003.  p 29.
Yang, J.  Web Service Componentization.  Communications of the ACM.  October 2003.  p 35.
Meredith L. & Bjorg, S.  Contracts and Types.  Communications of the ACM.  October 2003.p 41.
Little, M.  Transactions and Web Services.  Communications of the ACM.  October 2003.  p 49.
Tuner, M., Budgen, D., & Brereton, P.  Turning Software into a Service.  IEEE Computer.October 2003.  p 38.
Curbera, F., Duftler, M., Khalaf, R., Nagy, W., Mukhi, N., & Weerawarana, S.  Unraveling theWeb Services Web: An Introduction of SOAP, WSDL, and UDDI.  IEEE InternetComputing.  March/April 2003.  p 86.
Questions?
Thank you!