advanced web service transactions management n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Advanced Web Service Transactions Management PowerPoint Presentation
Download Presentation
Advanced Web Service Transactions Management

Loading in 2 Seconds...

play fullscreen
1 / 75

Advanced Web Service Transactions Management - PowerPoint PPT Presentation


  • 109 Views
  • Uploaded on

Advanced Web Service Transactions Management. Peter Dolog dolog@cs.aau.dk CS Department Intelligent Web Information Systems http://www.cs.aau.dk , http://iwis.cs.aau.dk. Outline. Compensations Design General problem Business transactions Middleware for advanced compensations

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Advanced Web Service Transactions Management' - gwyn


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
advanced web service transactions management

Advanced Web Service Transactions Management

Peter Dolog

dolog@cs.aau.dk

CS Department

Intelligent Web Information Systems

http://www.cs.aau.dk, http://iwis.cs.aau.dk

outline
Outline
  • Compensations Design
    • General problem
    • Business transactions
    • Middleware for advanced compensations
    • Service provider and client feature modelling
    • Matchmaking and restriction model
    • Further Challenges
  • Distributed Transactions and Waiting Cycles
    • Motivation
    • Related Work
    • Transaction Dependencies Management
    • Protocol
    • Cycle Detection
    • Experiments
    • Conclusions and Further Work

Web Engineering, Lecture 14, Advanced Transactions Management

outline1
Outline
  • General problem
  • Business transactions
  • Middleware for advanced compensations
  • Service provider and client feature modelling
  • Matchmaking and restriction model
  • Further Challenges

Web Engineering, Lecture 14, Advanced Transactions Management

open web service environment
Open Web Service Environment
  • Service Providers
    • A number of autonomous service providers exist
    • They can provide similar functionality
    • They can dis-/appear any time
    • Each wants to maximize its profit for executing provided services by external consumers
  • Service Consumers
    • Number of consumers with similar requirements exist
    • They want to achieve high value for their expense
    • To maximize their service
    • By composing matched available services from different providers

Web Engineering, Lecture 14, Advanced Transactions Management

software product lines
Software Product Lines
  • Software Providers
    • Number of reusable software assets exist
    • They may vary in its functionality
    • They want to maximize its profit by providing the assets in an application in a family mostly from one company
  • Software Consumers
    • Number of consumers with similar requirements
    • They want to achieve high value for their expense
    • To maximize their service
    • By composing a final application from the reusable assets

Web Engineering, Lecture 14, Advanced Transactions Management

feature modelling as a technique in software product lines
Feature Modelling as a Technique in Software Product Lines

Web Engineering, Lecture 14, Advanced Transactions Management

outline2
Outline
  • General problem
  • Business transactions
  • Middleware for advanced compensations
  • Service provider and client feature modelling
  • Matchmaking and restriction model
  • Further Challenges

Web Engineering, Lecture 14, Advanced Transactions Management

payroll scenario
Payroll Scenario

Company

Employee

Print and

mail payslip

Wait for payment

Transfer monthly instalment for the new car

Print and send payslip

Transfer salary

Transfer tax

Transfer

tax

Transfer car

instalment

Transfer

salary

Bank

Web Engineering, Lecture 14, Advanced Transactions Management

service oriented payroll scenario
Service Oriented Payroll Scenario

Company

Employee

Print and

mail payslip

Transfer

tax

Transfer car

instalment

Transfer

salary

Bank

To reach mutually-agreed outcome (commit/cancel)

In environment with concurrent access

Web Engineering, Lecture 14, Advanced Transactions Management

transactions
Transactions
  • Control the execution of the required operations on the external services.
  • Consist of a set of operations (e.g. database operations) that are performed by multiple participants.
  • Control the collective outcome of the operations.
  • Distributed transactions control the execution of operations on multiple providers.
    • Participant
    • Coordinator

Web Engineering, Lecture 14, Advanced Transactions Management

error compensation
Error Compensation

Different transaction specifications exist for different purposes

  • Backward recoveryNormally, predefined rollback operations are executed in order to restore the state before the transaction.
    • Time and money is lost
    • Dependent transactions also have to roll back (domino effect)
  • Forward recoveryAims at changing pro-actively the state of the participant or transaction to enable a successful execution after a failure.
    • Complex
    • Can normally only be performed semi-automatically

Web Engineering, Lecture 14, Advanced Transactions Management

traditional ws transaction coordin structure
Traditional WS-Transaction Coordin. Structure

1. Create new transaction

Normal request processing

Request failure handling

2. Return coordination context

3. Invoke service, send

coordination context

7. Send request

result

8. Abort

transaction

4. Register with coordination context

7. Send failure notification

5. Confirm registration

6. Process request

→ Failure

Web Engineering, Lecture 14, Advanced Transactions Management

ws tx business activity coordination type

T1

WS1

WS4

WS2

WS3

WS – Tx / Business Activity Coordination Type

C

abstract state diagram

Web Engineering, Lecture 14, Advanced Transactions Management

payroll processing
Payroll Processing

Transfer instalment to the car dealer‘s account

3. Specify the salary details, print and send the payslip

1. Transfer of the salary to the employee‘s account

2. Transfer of the tax to the tax authority‘s account

Transaction

Web Engineering, Lecture 14, Advanced Transactions Management

motivating scenario problem
Motivating Scenario – Problem

Transaction

  • A service fails due to an internal error.
  • The error can only be compensated by aborting the complete transaction.

Why should the transaction be aborted, if a different service exists that can perform the same operations?

Web Engineering, Lecture 14, Advanced Transactions Management

outline3
Outline
  • General problem
  • Business transactions
  • Middleware for advanced compensations
  • Service provider and client feature modelling
  • Matchmaking and restriction model
  • Further Challenges

Web Engineering, Lecture 14, Advanced Transactions Management

extended transaction coordination structure
Extended Transaction Coordination Structure

1. Create new transaction

2. Return coordination context

13. Send request

result

3. Invoke abstract service, send

coordination context

5. Register with

coordination

context

4. Request adapter

context

7. Return

adapter

context

6. Confirm

registration

8. Invoke concrete

service, send

adapter context

12. Send request

result

10. Confirm registration

9. Register with

adapter context

11. Process request

Web Engineering, Lecture 14, Advanced Transactions Management

new components abstract service
New Components - Abstract Service
  • Does not directly implement functionalities.
  • Manages a list of concrete services.
  • Is a mediator between the client and the concrete service.
  • Manages and performs compensation actions.
  • Interfaces:
    • Service
    • Event (internal compensation handling)
    • Compensation (external compensation handling)
    • Contract exchange

Web Engineering, Lecture 14, Advanced Transactions Management

compensation activities and types
Compensation Activities and Types

Web Engineering, Lecture 14, Advanced Transactions Management

example internal compensation rule
Example: Internal Compensation Rule
  • <cmp:InternalCompensationRule identifier="internalFailureLastRequestResending">
  • <cmp:CompensationCondition>
  • <cmp:ParticipantEvent eventCode= "http://sourceforge.net/projects/frogs/AdapterInteraction/ParticipantFault"/>
  • <cmp:ParticipantState
  • stateType='http://schemas.xmlsoap.org/ws/2004/10/wsba/Faulting' />
  • <cmp:ReplacementService exists="true" isDirectReplacement="true" />
  • <cmp:RequestSequence>
  • <cmp:Request identifier="transferSalaryMethod" />
  • </cmp:RequestSequence>
  • </cmp:CompensationCondition>
  • <cmp:CompensationPlan>
  • <cmp:Compensation>
  • <cmp:ServiceReplacement/>
  • </cmp:Compensation>
  • <cmp:Compensation>
  • <cmp:RequestResending lastN="1" />
  • </cmp:Compensation>
  • </cmp:CompensationPlan>
  • </cmp:InternalCompensationRule>

The condition of the compensation rule

Condition 1: The internal event must have been a failure of the concrete service

Condition 2: The state in which the concrete service has to be

Condition 3: A direct replacement concrete service has to exist

Condition 4: The last request must have called this method

The execution plan of the compensation rule

Step 1: Replace the current concrete service

Step 2: Resend the last request

Web Engineering, Lecture 14, Advanced Transactions Management

new components adapter
New Components - Adapter
  • Encapsulates coordinator-specific functionality.
  • Functions as a coordinator for the concrete service.
  • Manages messaging:
    • Forwards normal messages between the real coordinator and the concrete service.
    • Intercepts failure messages and informs the abstract service.
    • Creates additional notifications as part of a compensation process.

Web Engineering, Lecture 14, Advanced Transactions Management

internal compensation handling no action
Internal Compensation Handling – No Action

15. Forward

failure

notification

14. Fail

16. Abort

transaction

13. Report

event

  • Concrete service fails.
  • Abstract service checks its compensation rules and contract.
  • Compensation is not possible.

Normal transaction abort.

12. Signal failure

11. Process request

Web Engineering, Lecture 14, Advanced Transactions Management

internal compensation handling replacement
Internal Compensation Handling – Replacement

21. Send request

result

14. Forget

participant

13. Report

event

  • Concrete service fails.
  • Abstract service checks its compensation rules and contract.
  • Concrete service is replaced.

Coordinator was not notified!

16. Resend

request

20. Send request

result

17. Register with

adapter context

12. Signal failure

15. Confirm failure

18. Confirm registration

11. Process request

19. Process request

Web Engineering, Lecture 14, Advanced Transactions Management

evaluation
Evaluation
  • Multiple scenarios for internal and external compensation handling have been implemented and tested.
  • An evaluation model has been created, which calculates net values for the standard environment and the abstract service environment.
    • Allows an assessment whether the utilization of the new design is economical and beneficial.

Experiment performed on a simalated environment

More in ACM TWEB paper

Web Engineering, Lecture 14, Advanced Transactions Management

outline4
Outline
  • General problem
  • Business transactions
  • Middleware for advanced compensations
  • Service provider and client feature modelling
  • Matchmaking and restriction model
  • Further Challenges

Web Engineering, Lecture 14, Advanced Transactions Management

compensation types
Compensation Types

Web Engineering, Lecture 14, Advanced Transactions Management

compensation features
Compensation Features

Web Engineering, Lecture 14, Advanced Transactions Management

capability feature model
Capability Feature Model
  • Consists of:
    • functionality feature model
    • compensation feature model
  • The compensation feature model can contain custom features.

Web Engineering, Lecture 14, Advanced Transactions Management

service capabilities
Service Capabilities

Web Engineering, Lecture 14, Advanced Transactions Management

consumer requirements
Consumer Requirements

Web Engineering, Lecture 14, Advanced Transactions Management

outline5
Outline
  • General problem
  • Business transactions
  • Middleware for advanced compensations
  • Service provider and client feature modelling
  • Matchmaking and restriction model
  • Further Challenges

Web Engineering, Lecture 14, Advanced Transactions Management

matchmaking between service and consumer feature models
Matchmaking between service and consumer feature models
  • Compatibility score calculation
  • Iteratively compares feature models
  • Features must appear at the same place in the graph
  • Mandatory features must all match but do not contribute to the compatibility score
  • If a mismatch is found in a mandatory feature, algorithm stops and a negative score is returned
  • Optional features add to the compatibility score when a match is found (in our case +1)
  • Additional features may contribute with different scores

Web Engineering, Lecture 14, Advanced Transactions Management

restriction feature model
Restriction Feature Model

Web Engineering, Lecture 14, Advanced Transactions Management

example internal compensation rule1
Example: Internal Compensation Rule
  • <cmp:InternalCompensationRule identifier="internalFailureLastRequestResending">
  • <cmp:CompensationCondition>
  • <cmp:ParticipantEvent eventCode= "http://sourceforge.net/projects/frogs/AdapterInteraction/ParticipantFault"/>
  • <cmp:ParticipantState
  • stateType='http://schemas.xmlsoap.org/ws/2004/10/wsba/Faulting' />
  • <cmp:ReplacementService exists="true" isDirectReplacement="true" />
  • <cmp:RequestSequence>
  • <cmp:Request identifier="transferSalaryMethod" />
  • </cmp:RequestSequence>
  • </cmp:CompensationCondition>
  • <cmp:CompensationPlan>
  • <cmp:Compensation>
  • <cmp:ServiceReplacement/>
  • </cmp:Compensation>
  • <cmp:Compensation>
  • <cmp:RequestResending lastN="1" />
  • </cmp:Compensation>
  • </cmp:CompensationPlan>
  • </cmp:InternalCompensationRule>

Web Engineering, Lecture 14, Advanced Transactions Management

feature model
Feature Model
  • <feature name="Compensation" type="NONE" id="compensation">
  • <feature name="InternalCompensationHandling" type="NONE” id="internalCompensationHandling">
  • <feature name="PartialRequestRepetition" type="NONE" id="reference3IXIpartialRequestRepetition">
  • <feature name="ResultResending" type="NONE" id="reference3IXIreferenceIXIresultResending">
  • </feature>
  • </feature>
  • </feature>
  • <feature name="Replacement" type="NONE" id="replacement">
  • <feature name="LastRequestRepetition" type="NONE" id="reference4IXIlastRequestRepetition">
  • </feature>
  • <feature name="PartialRequestRepetition" type="NONE" id="reference5IXIpartialRequestRepetition">
  • <feature name="ResultResending" type="NONE" id="reference5IXIreferenceIXIresultResending">
  • </feature>
  • </feature>
  • <feature name="AllRequestRepetition" type="NONE" id="reference6IXIallRequestRepetition">
  • <feature name="ResultResending" type="NONE" id="reference6IXIreferenceIXIresultResending">
  • </feature>
  • </feature>
  • </feature>
  • </feature>
  • </feature>

Web Engineering, Lecture 14, Advanced Transactions Management

layers of abstraction
Layers of Abstraction

Navigation and Interaction

Restriction Profiles

Capability and Compensation

Features and Configurations

Capability and Compensation

Concepts

Physical Services and Workflow Variants

xor

and

xor

Web Engineering, Lecture 14, Advanced Transactions Management

outline6
Outline
  • IWIS group and background
  • General problem
  • Business transactions
  • Middleware for advanced compensations
  • Service provider and client feature modelling
  • Matchmaking and restriction model
  • Further Challenges

Web Engineering, Lecture 14, Advanced Transactions Management

workflows vs middleware
Workflows vs. Middleware
  • Compensations and adaptations can be specified at the design level in workflows
  • Copensations and adaptations can be encoded in an intelligent middleware
  • How to combine them
  • How to compose them
  • How to ensure consistency

Web Engineering, Lecture 14, Advanced Transactions Management

references
References
  • M. Schäfer and P. Dolog: Feature-Based Engineering of Compensations in Web Service Environment. ICWE 2009: 197-204
  • M. Schäfer, P. Dolog, W. Nejdl: An Environment for Flexible Advanced Compensations of Web Service Transactions. ACM TWEB, 2(2), 2008
  • P. Dolog, W. Nejdl: Using UML-based feature models and UML collaboration diagrams to information modelling for web-based applications. UML 2004.

Web Engineering, Lecture 14, Advanced Transactions Management

distributed coordination of concurrent transactions

Distributed coordination of concurrent transactions

Web Engineering, Lecture 14, Advanced Transactions Management

outline7
Outline
  • Motivation
  • Related Work
  • Transaction Dependencies Management
  • Protocol
  • Cycle Detection
  • Experiments
  • Conclusions and Further Work

Web Engineering, Lecture 14, Advanced Transactions Management

business activity
Loosly coupled

Long-running

With user interaction

Business Activity

WS2

WS3

WS1

WS4

  • WS1: Conference
  • WS1: Flight Ticket
  • WS3: Hotel Room
  • WS4: Car rental

Web Engineering, Lecture 14, Advanced Transactions Management

transactional business activity
WS1: Conference

WS1: Flight Ticket

WS3: Hotel Room

WS4: Car rental

To reach mutually-agreed outcome (commit/cancel)

Transactional Business Activity

T1

Transactionas Business Activity

WS2

WS3

WS1

WS4

Web Engineering, Lecture 14, Advanced Transactions Management

transactional business activity1
WS1: Conference

WS1: Flight Ticket

WS3: Hotel Room

WS4: Car rental

To reach mutually-agreed outcome (commit/cancel)

In environemnt with concurrent acces

Transactional Business Activity

T2

WS2T2

WS3T2

T1

Transactional Business Activity

WS3T2

WS2

WS3

WS1

WS4T2

WS4

Web Engineering, Lecture 14, Advanced Transactions Management

acid properties relaxation
ACID Properties Relaxation
  • Current Standards and Open Specifications:
    • Atomicity Relaxation
      • Allow partial sets of participants to commit or abort (e.g. without having some services complete succesfully)
    • Isolation Relaxation
      • Allow concurrent users to observe partial results (e.g. after having some services executed, temporal results comming from their execution may be shown)

Web Engineering, Lecture 14, Advanced Transactions Management

existing open specifications
Existing Open Specifications
  • WS-Coordination/WS-Transaction (IBM, Microsoft, and BEA …)
  • OASIS Business Transaction Protocol (HP, Oracle)
  • All support coordination activation, participant registration, transaction context
  • Protocols with limited abilities for concurrency under relaxed ACID properties

Web Engineering, Lecture 14, Advanced Transactions Management

ws tx business activity coordination type1

T1

WS1

WS4

WS2

WS3

WS – Tx / Business Activity Coordination Type

C

abstract state diagram

Web Engineering, Lecture 14, Advanced Transactions Management

ws tx business activity coordination type2

T1

WS1

WS4

WS2

WS3

WS – Tx / Business Activity Coordination Type

C

  • Standards do not prescribe how to handle conflicts in concurent access
  • It is all a matter of compensation which is considered part of a business logic
  • We propose an approach where concurency control is part of the protocol based on completion dependency graph and cycle detection as a new coordination type

abstract state diagram

Web Engineering, Lecture 14, Advanced Transactions Management

completion dependency graphs
Completion Dependency Graphs
  • Within a transaction: two operations in conflict
  • Between transactions:
    • Assuming that T1 and T2 are two different transactions, a Completion Dependency T1 T2 occurs if there are two Web Service operations O1 and O2 (possibly from different Web Services) where O1 belongs to T1 and O2 belongs to T2 and:
    • O1 reads data updated by O2
    • O2 still may compensate (roll-back is a special case of compensation)
    • T1 is called: dependent transaction
    • T2 is called: dominant transaction

Web Engineering, Lecture 14, Advanced Transactions Management

concurrency control for ws

T2

T1

Concurrency Control for WS

T1

T2

WS4

WS2

WS4

  • Maintain an operation conflict matrix
  • Keep track of invocations
  • Recognize completion dependencies
  • Do not commit before dominant and cycle is resolved

WS3

WS2

WS1

WS6

WS3

WS1

WS6

WS3

WS4

WS2

P1

P2

Web Engineering, Lecture 14, Advanced Transactions Management

chaining coordinators

T1

WS1

WS1

WS4

WS2

WS2

WS3

WS3

Chaining Coordinators

C1

XCoordinatorPortType

  • S. Choi, H. Jang, H. Kim, J. Kim, S. Kim, J. Song, and Y. Lee. Maintaining consistency under isolation relaxation of web services transactions. WISE 2005,
  • K. Haller, H. Schuldt, and C. Türker. Decentralized coordination of transactional processes in peer to peer environments. CIKM 2005

XParticipantPortType

C2

T2

WS4

Web Engineering, Lecture 14, Advanced Transactions Management

chaining coordinators1

T1

WS1

WS1

WS4

WS2

WS2

WS3

WS3

  • Information about other transactions might be considered sensitive
  • Creates similar problem as

in EAI – a need for publish/subscribe or message queueing middleware

Chaining Coordinators

C1

XCoordinatorPortType

  • S. Choi, H. Jang, H. Kim, J. Kim, S. Kim, J. Song, and Y. Lee. Maintaining consistency under isolation relaxation of web services transactions. WISE 2005,
  • K. Haller, H. Schuldt, and C. Türker. Decentralized coordination of transactional processes in peer to peer environments. CIKM 2005

XParticipantPortType

C2

T2

WS4

Web Engineering, Lecture 14, Advanced Transactions Management

state diagram with waiting state

completed

wait

waiting

compensating

State Diagram with Waiting State

Web Engineering, Lecture 14, Advanced Transactions Management

cycle detection in waiting state
Cycle Detection in Waiting State
  • Participant sends CycleCheck with ID token to a direct dominant transactions coordinators
  • The coordinator checks with participants in the schedule about dependencies
  • Participants forward the CycleCheck as it is in coordinators of direct dominant transactions
  • If there is no dominant transaction the participant sends back NoCycle token
  • If NoCycle token received back, transaction may end
  • If the CycleCheck token with the same ID received, there is a cycle, transaction may end

Web Engineering, Lecture 14, Advanced Transactions Management

example

WS6

WS2

WS4

WS3

WS1

WS5

Example

C3

C2

C1

T2

T3

T1

WS5

WS4

WS1

WS2

WS3

WS6

P12

P34

WS: Web Service

P: Peer hosting Web Services

T: Transactional Process

C: WS Coordinator

P56

Web Engineering, Lecture 14, Advanced Transactions Management

protocol

T3

T2

T1

T1

T2

T3

Protocol

C3

C2

C1

Complete?

T2

T3

T1

WS5

WS4

WS1

WS2

WS3

WS6

P12

P34

WS: Web Service

P: Peer hosting Web Services

T: Transactional Process

C: WS Coordinator

P56

Web Engineering, Lecture 14, Advanced Transactions Management

protocol1

T2

T1

T3

T3

T2

T1

Protocol

C3

C2

C1

wait

T2

T3

T1

WS5

WS4

WS1

WS2

WS3

WS6

P12

P34

WS: Web Service

P: Peer hosting Web Services

T: Transactional Process

C: WS Coordinator

P56

Web Engineering, Lecture 14, Advanced Transactions Management

protocol2

T2

T1

T3

T3

T2

T1

Protocol

C3

C2

C1

Close/rollback

T2

T3

T1

WS5

WS4

WS1

WS2

WS3

WS6

P12

P34

WS: Web Service

P: Peer hosting Web Services

T: Transactional Process

C: WS Coordinator

P56

Web Engineering, Lecture 14, Advanced Transactions Management

protocol3

T4

T2

T1

T1

T2

T3

Protocol

C3

C2

C1

Completed/rolled back

T2

T3

T1

WS5

WS4

WS1

WS2

WS3

WS6

P12

P34

WS: Web Service

P: Peer hosting Web Services

T: Transactional Process

C: WS Coordinator

P56

Web Engineering, Lecture 14, Advanced Transactions Management

waiting cycle

T2

T1

T3

T3

T2

T1

Waiting Cycle

C3

C2

C1

Complete?

T2

T3

T1

WS5

WS4

WS1

WS2

WS3

WS6

P12

P34

WS: Web Service

P: Peer hosting Web Services

T: Transactional Process

C: WS Coordinator

P56

Web Engineering, Lecture 14, Advanced Transactions Management

waiting cycle1

T2

T1

T3

T3

T2

T1

Waiting Cycle

C3

C2

C1

wait

T2

T3

T1

WS5

WS4

WS1

WS2

WS3

WS6

P12

P34

WS: Web Service

P: Peer hosting Web Services

T: Transactional Process

C: WS Coordinator

P56

Web Engineering, Lecture 14, Advanced Transactions Management

waiting cycle2

T2

T1

T3

T3

T2

T1

Waiting Cycle

C3

C2

C1

checkCycle

T2

T3

T1

WS5

WS4

WS1

WS2

WS3

WS6

P12

P34

WS: Web Service

P: Peer hosting Web Services

T: Transactional Process

C: WS Coordinator

P56

Web Engineering, Lecture 14, Advanced Transactions Management

waiting cycle3

T2

T1

T3

T3

T2

T1

Waiting Cycle

C3

C2

C1

checkCycle

T2

T3

T1

WS5

WS4

WS1

WS2

WS3

WS6

P12

P34

WS: Web Service

P: Peer hosting Web Services

T: Transactional Process

C: WS Coordinator

P56

Web Engineering, Lecture 14, Advanced Transactions Management

waiting cycle4

T2

T1

T3

T3

T2

T1

Waiting Cycle

C3

C2

C1

checkCycle

T2

T3

T1

WS5

WS4

WS1

WS2

WS3

WS6

P12

P34

WS: Web Service

P: Peer hosting Web Services

T: Transactional Process

C: WS Coordinator

P56

Web Engineering, Lecture 14, Advanced Transactions Management

waiting cycle5

T2

T1

T3

T3

T2

T1

Waiting Cycle

C3

C2

C1

checkCycle

T2

T3

T1

WS5

WS4

WS1

WS2

WS3

WS6

P12

P34

WS: Web Service

P: Peer hosting Web Services

T: Transactional Process

C: WS Coordinator

P56

Web Engineering, Lecture 14, Advanced Transactions Management

waiting cycle6

T2

T1

T3

T3

T2

T1

Waiting Cycle

C3

C2

C1

T2

T3

T1

WS5

WS4

WS1

WS2

WS3

WS6

checkCycle

P12

P34

WS: Web Service

P: Peer hosting Web Services

T: Transactional Process

C: WS Coordinator

P56

Web Engineering, Lecture 14, Advanced Transactions Management

waiting cycle7

T2

T1

T3

T3

T2

T1

Waiting Cycle

C3

C2

C1

T2

T3

T1

WS5

WS4

WS1

WS2

WS3

WS6

checkCycle

P12

P34

WS: Web Service

P: Peer hosting Web Services

T: Transactional Process

C: WS Coordinator

P56

Web Engineering, Lecture 14, Advanced Transactions Management

waiting cycle8

T2

T1

T3

T3

T2

T1

Waiting Cycle

C3

C2

C1

checkCycle

T2

T3

T1

WS5

WS4

WS1

WS2

WS3

WS6

P12

P34

WS: Web Service

P: Peer hosting Web Services

T: Transactional Process

C: WS Coordinator

P56

Web Engineering, Lecture 14, Advanced Transactions Management

waiting cycle9

T2

T1

T3

T3

T2

T1

Waiting Cycle

C3

C2

C1

checkCycle

T2

T3

T1

WS5

WS4

WS1

WS2

WS3

WS6

P12

P34

WS: Web Service

P: Peer hosting Web Services

T: Transactional Process

C: WS Coordinator

P56

Web Engineering, Lecture 14, Advanced Transactions Management

experimental set up
Experimental Set Up
  • num of Tx =  100
  • num of Providers = 1
  • num of WS (10000, 8000, 6000, 4000, 2000)
  • length of each transaction = [4,12]
  • each WS is executed in 2 seconds
  • there are 2 seconds delay between every 2 ws invocations at the client side
  • IBM Thinkpad T6x, Genuine Intel CPU, T2500 @ 2.00 GHz, 2.00 GB RAM, Microsoft Windows XP Professional, Version 2002, Service Pack 2, JVM: J2SE 1.5.0_07

Web Engineering, Lecture 14, Advanced Transactions Management

throughput in running time
Throughput in Running Time

Web Engineering, Lecture 14, Advanced Transactions Management

throughput and nr of ws
Throughput and Nr. of WS

Web Engineering, Lecture 14, Advanced Transactions Management

throughput vs tx lenght
Throughput vs. Tx Lenght

Web Engineering, Lecture 14, Advanced Transactions Management

tx execution times vs nr of ws
Tx Execution Times vs. Nr.of WS

Web Engineering, Lecture 14, Advanced Transactions Management

conclusions and further work
Conclusions and Further Work
  • We have proposed and experimented with a protocol for concurrency control in WS environment
    • Without direct communication between coordinators
    • With information kept on the participant side
    • With cycle detection
    • Experiments shows that it is promising
  • We will look at the compensations, partial roll-backs, or redo for some operations in combination with our protocol

Web Engineering, Lecture 14, Advanced Transactions Management