Towards a Unifying Theory for Web Services Composition PowerPoint PPT Presentation

presentation player overlay
About This Presentation
Transcript and Presenter's Notes

Title: Towards a Unifying Theory for Web Services Composition


1
Towards a Unifying Theory for Web Services
Composition
Ivan Lanese Computer Science Department University
of Bologna Italy
Manuel Mazzara Faculty of Computer Science Free
University of Bozen - Bolzano Italy
2
Roadmap
  • Service Oriented Computing
  • Webp8 as a model for SOC
  • How to compute process equivalence
  • Conclusions

3
Roadmap
  • Service Oriented Computing
  • Webp8 as a model for SOC
  • How to compute process equivalence
  • Conclusions

4
Web services
  • Set of technologies
  • to facilitate B2B integration
  • using a standard web-messaging infrastructure
  • support Service Oriented Computing
  • There is no web services revolution
  • an evolution based on already existing Internet
    protocols

5
Service Oriented Computing
  • Emerging paradigm for distributed computing and
    e-business processing
  • Based on web services composition
  • Finds its origin in object-oriented and component
    computing
  • Goal
  • Enabling developers to build networks of
    integrated and collaborative applications,
    regardless of
  • the platform where the application runs
  • the used programming language

6
Web services composition
  • Allows to build complex services and business
    processes out of simpler ones
  • Called web services composition or orchestration
  • Web services composition transparent to the final
    consumer
  • Many industrial proposals to deal with web
    services orchestration
  • WSFL (IBM) graph-oriented
  • XLANG (Microsoft) block-structured
  • WS-BPEL (OASIS) tries to unify both

7
WS-BPEL
  • The most credited candidate to become a future
    standard for web services composition
  • Workflow-based programming language
  • Describes sophisticated business processes by
    orchestrating web services
  • Allows for a mixture of block and
    graph-structured process models
  • We are mostly interested in the first style
  • It is expressive at the price of being complex

8
Error handling
  • An important aspect of web services orchestration
  • Many things can go wrong in a web service
    execution
  • Broken connections
  • Server crashes
  • Unsatisfied requirements
  • Usually treated by transactions
  • ACID transactions
  • From database field
  • If a transaction commits then its
  • complete effect is granted
  • If a transaction fails all its effects are
    annulled

9
Long-running transactions
  • ACID transactions not practical in SOC
  • Web services are loosely coupled
  • Transactions can last long-time (e.g., shipping
    good)
  • Some actions cannot be simply undone (e.g.,
    message communication)
  • Non ACID transactions are usually called
    long-running
  • Based on the idea of compensations
  • If a transaction fails then execute the
    compensation for it
  • Should be explicitly programmed since
    application-dependent
  • Send annul communication to partners
  • Ask for refunding
  • Mark order as no more valid

10
Transactions in WS-BPEL
  • WS-BPEL has three different mechanisms for error
    handling
  • fault handling, compensation handling, event
    handling
  • Able to deal with many possibilities
  • Complex and difficult to use
  • Informal and unclear documentation

11
Towards formal methods
  • Need of a formal framework
  • To provide a clear and rigorous semantics
  • To prove properties of web services composition
  • We start from p-calculus
  • Many languages (included WS-BPEL) claim being
    based on it (but the connection is not always
    evident)
  • We add a transaction operator to easily deal with
    error handling

12
Roadmap
  • Service Oriented Computing
  • Webp8 as a model for SOC
  • How to compute process equivalence
  • Conclusions

13
Webp8
  • Extension of asynchronous p-calculus
  • To deal with asynchronous communications among
    loose coupled web services
  • With an operator of transaction to deal with
    compensations
  • Originally proposed as the timed language Webp
    Laneve, Zavattaro FOSSACS05
  • We are interested in the untimed version

14
Webp8 syntax
15
The semantics
  • We give a reduction semantics in Milner style
  • Structural congruence reduction rules
  • Weak barbed congruence as abstract semantics
  • Barbs allow to observe basic process behaviours
  • Weak to abstract from internal activities
  • Congruence to ensure preservation under
    composition
  • Two equivalent web services remain equivalent
    also when composed in two complex business
    processes

16
Structural congruence
  • Standard rules for parallel composition and
    restriction

17
Structural congruence
  • Standard rules for parallel composition and
    restriction
  • Commit of a workunit

18
Structural congruence
  • Standard rules for parallel composition and
    restriction
  • Commit of a workunit
  • Flattening of workunit nesting different e.g.
    w.r.t. c-join

19
Structural congruence
  • Standard rules for parallel composition and
    restriction
  • Commit of a workunit
  • Flattening of workunit nesting different e.g.
    w.r.t. c-join
  • Messages can float away

20
Reduction rules
  • Standard rules for communication

21
Reduction rules
  • Standard rules for communication
  • Rule for transaction abort
  • only if P contains only (and at least one) inputs

22
Weak barbed congruence
  • Barbs P ? x if P contains a message with subject
    x
  • Weak reduction P ? Q if P has a sequence of
    reductions leading to Q
  • Weak barb P ? x if P ? P? x
  • Barbed bisimulation relation S such that P S Q
    implies
  • If P ? x then Q ? x
  • If P ? P then Q ? Q and P S Q
  • Barbed congruence largest barbed bisimulation
    that is also a congruence

23
Properties of barbed congruence
  • Good abstraction of process behaviour
  • Preserved by composition
  • Problem difficult to compute
  • Requires quantification over all contexts
  • Solution using an auxiliary labeled semantics
    that implies barbed congruence and is easier to
    compute

24
Roadmap
  • Service Oriented Computing
  • Webp8 as a model for SOC
  • How to compute process equivalence
  • Conclusions

25
Labeled semantics
  • Most rules as in standard late p-calculus
  • Special rules to deal with transactions
  • Predicate inp(P) true if P contains at least an
    input
  • Function xtr(P) extracts messages and
    transactions inside P

26
Deriving a suitable abstract semantics
  • We use weak asynchronous bisimilarity
  • Labels must be matched but
  • An action µ can be matched by a sequence tt µ
    tt (weak)
  • An input can be matched by a t which leaves the
    message available (asynchronous)
  • Weak asynchronous bisimilarity is not a
    congruence
  • Closed bisimilarity closed under inp and xtr
  • Closed bisimilarity is a congruence
  • Closed bisimilarity implies barbed congruence
  • Useful tool to prove behavioural equivalence

27
Example compensations reducibility
28
Example compensations reducibility
  • Compensations can always be reduced to a single
    output
  • if x,y fresh
  • Proved using closed bisimulation

29
Example compensations reducibility
  • Compensations can always be reduced to a single
    output
  • if x,y fresh
  • Proved using closed bisimulation
  • The following relation is a closed bisimulation
  • Note property not valid in a strong or timed
    setting

30
Other applications
31
Other applications
  • Properties of web services composition can be
    proved
  • Decoupling of a service body
  • Webp8 has been used to formalize a simplification
    of BPEL recovery framework Lucchi, Mazzara JLAP

32
Roadmap
  • Service Oriented Computing
  • Webp8 as a model for SOC
  • How to compute process equivalence
  • Conclusions

33
Conclusions
  • Webp8 is a suitable formal framework
  • For analyzing web services orchestration
  • For reasoning about transactions
  • Able to treat WS-BPEL
  • Labeled semantics makes it practically usable to
    prove properties of web services
  • Next step exploiting it via tools

34
Related work
  • Webp extension of Webp8 with time
  • Similar semantic properties but different aim
  • Allows to use timeouts
  • C-join extends join instead of p
  • The nesting of transactions matters
  • When transactions interact are merged
  • Compensating CSP extends CSP
  • Analyze the composition of compensations
  • No synchronization nor mobility

35
End of talk
  • Thanks!
Write a Comment
User Comments (0)
About PowerShow.com