Talk-ServiceOrientedComputing

clappingknaveSoftware and s/w Development

Dec 14, 2013 (3 years and 8 months ago)

67 views

Service Oriented
Computing

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 Oriented
Computing?




It is the paradigm for distributed computing to
enable application networks to be built using
services as fundamental elements for
developing applications.

Service Oriented Architecture


Management Level


Operations Management:


Support critical applications that require organizations to manage the service
platform, the applications and the deployment of services.


The organization responsible for these functions is known as the service
operator.


Market Management:


Administration of the marketplace and maintenance to guarantee the
administration 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 composite
service using the following functionality:


Coordination:


Controls the execution of component services and manages the
dataflow between them.


Monitoring:


Monitors events or information produced by component services.


Conformance:


Ensures consistency of composite services by matching parameter
types with parameters of component services


imposes constraints on component services to enforce business
rules.


Quality of Service (QoS) composition:


Combines the component’s QoS to determine the composite QoS
such 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 and
conditions.


Provision


the agreed
-
upon service is supplied within the period agreed
to 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 three
functions are known.

Description/Integration Level


Service Protocols


Simple Object Access Protocol (SOAP)


Provides a format for communicating between web
services.


Web Services Description Language (WSDL)


Provides the definition interface for web components
to communicate.


Universal Description, Discovery, and Integration
(UDDI)


Provides a directory that can be used to locate
available services and learn their details.

Web Service
Componentization

Web Service
Componentization

Service Composition


Componentized model becomes a natural
architecture


Services become the building blocks of an application.


Service compositions become the “glue” which binds the
services.


Web services must provide standards on:


An interoperability communication protocol,


Mechanisms for service description, discovery, and
communication, and


Quality of Service

The Web Services Stack

Business Process Execution Language for Web
Services (BPEL4WS)


BPEL (for short)


Standardized by the Organization for the
Advancement of Structured Information Standards
(OASIS).


Provides a mechanism for defining service
compositions in the form of choreographies of Web
services.


A choreography consists of the aggregation of
services to certain business rules.

BPEL Interactions


BPEL composition are called processes.


Services that interact with each other are partners.

Business Protocols

in BPEL


BPEL composition defines the message
exchange between partners.


Partnerships are declared through the WSDL
interfaces that are specified in the BPEL
process.


WSDL provides the abstraction between service
description and service deployment.


Provides multi
-
protocol access to services.

Business Protocols

in BPEL


Facilities the message exchange between the
process 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 a
particular conversation.


Fault Handling and Compensation
in BPEL


Provides a fault handling to deal with errors
that may occur in an application.


Similar to a “try
-
catch” block.


Compensation is the process of rolling back
actions that have been completed before a
fault 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 to
reach a consistent and defined outcome.


Elements of WS
-
Coordination


CoordinationContext


extensible context representing the
coordination that is propagated to the distributed
participants.


Activiation


used by clients to create a coordination
context.


Registration


used by participants to register resources for
inclusion in specific coordination protocols.

Coordinating BPEL Web Services

Behavioral Aspects of Service


Connectivity is great, but most of the
complexity comes with interoperating
services.


Web services have the autonomy to run
independently of each other.


The heterogeneity of the web causes
processes to be written in any language
under any assumptions.

Port Types


A service can send any message to a port a
process may be running on and expect a
response.


The port must be able to understand the
message.


Thus, port types describes to the requesting
service what messages the port will respond
to.


Convenient because programmers do not have to
code 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 between
service and port.


Allows the service to eliminate ports whose service
agreements 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 the
service 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 activities
must may be necessary to get the system back to a
consistent state.

Business Transaction Protocol

(BTP)


Developed by Oasis


Gives the appearance of a two
-
phase commit
protocol without have ACID characteristics


Closed
-
top commit protocol


Executes entire two
-
phase commit protocol before
returning 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 cohesion
collapses to a atom and the participates see the resulting
outcome.

Summary


Service Oriented Architecture


Management, Composition, and Description/Integration
Level


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 the
ACM
. 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 the
Web Services Web: An Introduction of SOAP, WSDL, and UDDI
.
IEEE Internet
Computing
. March/April 2003. p 86.

Questions?

Thank you!