Research Challenges and Opportunities in Web Services Mining
Transcript of Research Challenges and Opportunities in Web Services Mining
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
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
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