+ All Categories
Home > Documents > Service Oriented Computing Burr Watters Tasha Wells April 5, 2004.

Service Oriented Computing Burr Watters Tasha Wells April 5, 2004.

Date post: 30-Dec-2015
Category:
Upload: melvin-benedict-french
View: 215 times
Download: 1 times
Share this document with a friend
30
Service Oriented Computing Burr Watters Tasha Wells April 5, 2004
Transcript

Service Oriented Computing

Burr WattersTasha 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 Protocolsin 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 Protocolsin 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 TransactionsLong 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

ResourcesPapazoglou, 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!


Recommended