research challenges and opportunities in web services mining

31
Research Challenges and Opportunities in Web Services Mining Discovering and improving transactional behavior of composite Web Services from event based log -ICWS’06 September 2006 Chicago- Walid Gaaloul ([email protected]) Sami Bhiri ([email protected]) Claude Godart ([email protected]) ECOO, LORIA – INRIA, Nancy France DERI , National University of Galway, Galway Ireland

Upload: others

Post on 03-Feb-2022

0 views

Category:

Documents


0 download

TRANSCRIPT

Research Challenges andOpportunities in Web Services MiningDiscovering and improving transactional behavior of composite Web

Services from event based log -ICWS’06 September 2006 Chicago-

Walid Gaaloul ([email protected])

Sami Bhiri ([email protected])

Claude Godart ([email protected])

ECOO, LORIA – INRIA, Nancy FranceDERI , National University of Galway, Galway Ireland

Outline

Concepts

Overview

Web services Mining

Improving WS transactional behavior

Conclusion

TCS logging

WS interaction

ConceptsOverviewMining Control flow transactional Improving

Logging SOAP messages

Who could log the message? WS itself

Requires additional implementation effort -> no, we want existing WS to be minable

WS engine/container Operates on HTTP-level Listens to a port, filters and logs SOAP messages and forwards

HTTP to actual port + works well with already deployed WS -> not nice in productive use

We provide a logger Require the WS container to provide a log of ALL SOAP-messages WS container definitely gets a hold of all SOAP-messages There we go! … and an easy way out for us :-)

ConceptsOverviewMining Control flow transactional Improving

TCS Log Model

EventStream

Date

Initial

EventTCSLog

Aborted

Failed

Terminated

Compensated

Time

ServiceState ServiceID

TimeStampOne instance

All instances

Overlapping concurrent windows

ConceptsOverviewMining Control flow transactional Improving

Different levels to discover ?

the Web service Operation level

the Web services Interaction level

the Web service Workflow level

ConceptsOverviewMining Control flow transactional Improving

Different levels to discover ?

the Web service Operation level

the Web services Interaction level

the Web service Workflow level

ConceptsOverviewMining Control flow transactional Improving

Composite service

Motivations

Set of servicesDesigners

Transactional behavior

Questions:

What is the transactional behavior of

the composite service ?

How to ensure a correct and reliable

WS execution?

ConceptsOverviewMining Control flow transactional Improving

Motivations

Previous works (BTP, WS-AtomicTransaction,WS-Business-Activity, etc.) Depend on their modeling formalisms Impose a predefined structure Come from assumptions

Our approach Use a flexible transactional WS model Starts from a WS executions log Discovering the transactional behavior Improve the WS failures handling and recovery

ConceptsOverviewMining Control flow transactional Improving

Example

dc A N D

A N D

X O R

X O R

CustomerRequirementsSpecification

Local Transport Accommodation

Hotel reservation

Flights reservation

Docs Validity

Credit card

Check

PTIP

SendDocs

Compensatable

Compensatable Sure to complete

activate

activate

compensate

compensate

“Flights reservation” and “Check” services never fail “PTIP” service is not sure to complete

?

ConceptsOverviewMining Control flow transactional Improving

TCS : Transactional composite WS

A Transactional Composite Web Service (TCS) emphasizes

transactional behavior for failures handling and recovery.

We distinguish, within TCS, between the control flow and the

transactional behavior

TCS control flow :

Completion dependencies between WSs describe the TCS control

flow.

We use (workflow-like) patterns to specify the TCS control flow.

ConceptsOverviewMining Control flow transactional Improving

TCS : Transactional composite WS

Web services transactional properties [Elmagarmid90] Retriable: sure to complete after a finite number of activations

Compensatable: can be effect-free

Pivot: keeps the completed state

TCS Transactional flow Transactional dependencies (compensation, cancellation and alternative)

Depends on control flow as following:

R1: A compensation dependency from s1 to s2 can exist only if there is ancompletion dependency from s2 to s1, or s1 and s2 are executed in parallel andare synchronized.

R2: A cancellation dependency from s1 to s2 can exist only if s1 and s2 areexecuted in parallel and are synchronized.

R3: An alternative dependency from s1 to s2 can exist only if s1 and s2 come afterthe same “fork” point and are exclusive (only one of them is executed).

ConceptsOverviewMining Control flow transactional Improving

Relations between control flow, and potentialtransactional flows

Synchronize pattern Potential transactional flow

A transactional flow defines for each service its effective compensation, cancellationand alternative conditions

For instance in cs1 CpsCond(A) = failure of C ⊕ compensation of C, in cs2 CpsCond(A) = ∅

A

BAnd C

A

BAnd C

A

BAnd C

cp

r,cpcomposite service cs1

r

composite service cs2

A

BAnd C

r,cp

control flow

compensation flowcancellation flow

A Potential transactional flow defines for each service its potential compensation, cancellation and alternative conditions

For instance: ptCpsCond(A)= failure of B ⊕ failure of C ⊕ compensation of C

ConceptsOverviewMining Control flow transactional Improving

Discovering and improving TCS : OverviewConceptsMotivationsOverviewMining Control flow transactional Improving

Log Analysis: Statistical dependencytable

For each Web service Si in TCS log : ##SSii : the overall occurrence of Si

p(Sp(Sii | | SSjj)) : the dependency of Si to a “directly” previous service Sj

instance 1 : ABDCEinstance 1 : ABDCE

instanceinstance 2 : ADBCE 2 : ADBCE

instanceinstance 3 : ABCDE 3 : ABCDE

#A = #B = #C = #D = #E = 30.0

1/3 =0.33

2/3 =0.66

0.00.0E

0.00.01/3 =0.33

1/3 =0.33

1/3=0.33

D

0.01/3 =0.33

0.02/3 =0.66

0/0C

0.01/3 =0.33

0.00.02/3=0.66

B

0.00.00.00.00.0A

EDCBA

e.g. p(B | A) = 2 / 3

ConceptsMotivationsOverviewMining Control flow transactional Improving

Log Analysis : Problems & solutions

Erroneous Dependencies Problem : some entries can indicate non-zero values that do not

correspond to casual dependencies.

Solution : mark the erroneous entries by detecting concurrent services

Undetectable Dependencies Problem : A service might not depend on its immediate predecessor, but

on another “indirectly” preceding service.

Solution : concurrent window, i.e. we will not only consider the immediateprevious service but also indirectly previous services covered by theconcurrent window.

More details are given our papers in CoopIS’04 or DEXA’05conferences

MotivationsConceptsOverviewMining Control flow transactional Improving

Patterns rules

MotivationsConceptsOverviewMining Control flow transactional Improving

Example

dc A N D

A N D

X O R

X O R

CustomerRequirementsSpecification

Local Transport Accommodation

Hotel reservation

Flights reservation

Docs Validity

Credit card

Check

PTIP

SendDocs

00.170.350.4800000# SD=100

000010000# PTIP=17

000010000# Ch=35

000010000# CC=48

000001100# DV=100

000000XX1# FR=100

00000X010# HR=100

00000X001# LTA=100

000000000#CRS=100

SDPTIPChCCDVFRHRLTACRS

00.170.350.4800000# SD=100

000010000# PTIP=17

000010000# Ch=35

000010000# CC=48

000001100# DV=100

000000XX1# FR=100

00000X010# HR=100

00000X001# LTA=100

000000000#CRS=100

SDPTIPChCCDVFRHRLTACRS

MotivationsConceptsOverviewMining Control flow transactional Improving

Discovering and improving TCS : OverviewMotivationsConceptsOverviewMining Control flow transactional Improving

Set of termination States

Used to specify a flexible failure atomicity Inspired from the concept of Accepted Termination

States[Ruzinkiewicz]

A termination states, at a specific execution case, ofa TCS composed by n services, is the tuple (x1, x2,..., xn), where xi is the last state of the service si atthis case.

We define STS(cs) the set of all possible terminationstates of “cs”.

A set of EventStreams can share the sametermination states if they have the same terminationbehaviour.

MotivationsConceptsOverviewMining Control flow transactional Improving

Set of termination States

dc A N D

A N D

X O R

X O R

CustomerRequirementsSpecification

Local Transport Accommodation

Hotel reservation

Flights reservation

Docs Validity

Credit card

Check

PTIP

SendDocs

MotivationsConceptsOverviewMining Control flow transactional Improving

Discovering and improving TCS : OverviewMotivationsConceptsOverviewMining Control flow transactional Improving

Mining WS transactional properties

Each S service is by default retriable and notcompensatable

S.failed ∈ STS(S )⇒ S is not retrieble S.compensated ∈ STS(S )⇒ S is compensatable

HR, PCC and PTIP are not retrieble

FR is compensatable

MotivationsConceptsOverviewMining Control flow transactional Improving

Mining transactional flow

Algorithm to compute the transactional behavior induced by the mined

STS and the potential transactional flow (mined TCS patterns):

it specifies when a service s (i.e. conditions) will be compensated,

cancelled or activated as an alternative

The idea: a potential compensation (similarly for cancellation and

alternative) condition of s, ptCpsCondi(s) becomes a compensation

condition of s CpsCondSTS(s) if it is satisfied in a termination states

where the state of s is compensated.

More details are in our WWW’05 paper

MotivationsConceptsOverviewMining Control flow transactional Improving

Mining transactional flowMotivationsConceptsOverviewMining Control flow transactional Improving

CpsCond(FR) = HR.failed

AltCond(PCh) = PCC.failed

Discovering and improving TCS : OverviewMotivationsConceptsOverviewMining Control flow transactional Improving

Improving TCS design

We can improve a TCS, regarding its initial design, throughthe following two phases: suppressing and/or correcting the wrong transactional behavior, and/or adding relevant transactional behavior.

A valid transactional behavior should respect certain wellbehavior rules: R1 : when a service fails, then try always to execute an alternative

if it exists, R2 : when a service fails causing the global service abortion, then

compensate each service already terminated (if its work haseffects),

R3 : when a service fails causing the global service abortion, thencancel all running services.

MotivationsConceptsOverviewMining Control flow transactional Improving

Improving TCS design

S1: add an alternative dependency from PTIP to PCh, or S2: add an alternative dependency from PTIP to PCC.

S3: add a compensation dependency from HR to LTA and S4: LTA should be compensatable

MotivationsConceptsOverviewMining Control flow transactional Improving

Conclusion

Contributions Web service log collecting et Web service mining level

Proposition of a flexible WS transactional model able to integratedifferent transactional semantics

Couple composite WSs with process mining to improve WSreliability

Current work Study in deep the relation to other technologies (BPEL, BTP, WS-

AT/BA, WS-TXM)

Implement Web Services mining in Prom

Web Services Advanced technologies

Thank you