Current Solution for Web Service Composition - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Current Solution for Web Service Composition

Description:

Complex problems solved by combining available basic services ... Code to execute when 'undoing' an action. What the process actually does process ... partners ... – PowerPoint PPT presentation

Number of Views:263
Avg rating:3.0/5.0
Slides: 24
Provided by: Nee66
Category:

less

Transcript and Presenter's Notes

Title: Current Solution for Web Service Composition


1
Current Solution for Web Service Composition
  • Nikola Milanovich
  • Miroslaw Malek
  • Humboldt University, Berlin

2
Introduction
  • Complex problems solved by combining available
    basic services
  • Composition accelerates rapid application
    development, service reuse, and complex service
    consumption
  • If Service Oriented Computing is to become a
    successful paradigm, we must provide stable and
    dependable service composition solution

3
Composition Requirements
  • Connectivity
  • composition must guarantee connectivity
  • Nonfunctional Quality of Service
  • Security, Dependability, or Performance
  • Correctness
  • Verification of composed services properties
  • Scalability

4
Example
  • Service A is called synchronously and starts a
    process
  • Two synchronous process B and C are then called
    in parallel using service As output as their
    input

B
A
C
5
WS Composition Approaches
  • BPEL4WS
  • OWL-S
  • Web Components
  • Algebraic Composition Process
  • Petri Nets
  • Model Checking and Finite State Machine

6
Business Process Execution Language (BPEL)
  • Allow specification of compositions of Web
    services
  • business processes as coordinated interactions of
    Web services
  • Influences from
  • Traditional flow models
  • Structured programming
  • Successor of WSFL and XLANG

7
Structure of a BPEL Process
ltprocess ...gt ltpartnersgt ...
lt/partnersgt ltcontainersgt ... lt/containersgt ltco
rrelationSetsgt ...lt/correlationSetsgt ltfaultHandl
ersgt ...lt/faultHandlersgt ltcompensationHandlersgt
...lt/compensationHandlersgt (activities) lt/pro
cessgt
  • Web services the process interacts with
  • Data used by the process
  • Used to support asynchronous interactions
  • Alternate execution path to deal with faulty
    conditions
  • Code to execute when undoing an action
  • What the process actually does

8
BPEL Structured Activities
ltsequencegtexecute activities sequentially ltflowgt
execute activities in parallel ltwhilegtiterate
execution of activities until condition is
violated ltpickgtseveral event activities (receive
message, timer event) scheduled for execution in
parallel first one is selected and corresponding
code executed ltlink ...gtdefines a control
dependency between a source activity and a target
9
Example
  • VariableAOutput/gt
  • lt/sequencegt
  • lt/scopegt
  • ltassigngtltcopygt
  • ltfrom variableAOutput/gt
  • ltto variableBCInput/gt
  • lt/copygtlt/assigngt
  • ltflowgt
  • ltsequencegt
  • ltinvoke nameinvokeB partner-
  • LinkserviceB
  • inputVariableBCInput/gt
  • ltreceive namereceive_invokeB
  • partnerLinkserviceB
  • variableBOutput/gt
  • lt/sequencegt
  • ltsequencegt
  • ltinvoke nameinvokeC partner-
  • LinkserviceC
  • ltprocess nametestgt
  • ltpartnerLink nameserviceA/gt
  • ltpartnerLink nameserviceB/gt
  • ltpartnerLink nameserviceC/gt
  • lt/partnerLinksgt
  • ltvariablesgt
  • ltvariable nameprocessInput/gt
  • ltvariable nameAInput/gt
  • ltvariable nameAOutput/gt
  • lt/variablesgt
  • ltsequencegt
  • ltreceive namereceiveInput variable
  • input/gt
  • ltassigngtltcopygt
  • ltfrom variableprocessInput/gt
  • ltto variableAInput/gt
  • lt/copygtlt/assigngt
  • ltscopegt
  • ltfaultHandlersgt

10
OWL-S (Formerly DAML-S)
  • An emerging standard to add semantics
  • An upper ontology for describing properties
    capabilities of web services using OWL
  • input types
  • output types
  • preconditions
  • effects

ServiceProfile
provides
presents (what it does)
Resource
Service
describedby(how it works)
supports(how to access)
ServiceModel
ServiceGrounding
  • communication protocol (RPC, HTTP, )
  • port number
  • marshalling/serialization
  • process flow
  • composition hierarchy
  • process definitions

11
OWL-S Process Model
  • Process model is a service model subclass that
    describes service in terms of input, output pre
    condition and post condition
  • Process can be
  • Atomic
  • Simple
  • Composite
  • Constructs for composite processes
  • Sequence
  • Concurrency Split SplitJoin Unordered
  • Choice
  • If-Then-Else
  • Looping Repeat-Until Iterate

12
Verification of OWL-S
  • Transferring OWL-S description to Prolog
  • Developer manually translates an OWL-S
    description to Prolog, which makes it possible to
    find an adequate plan for composing Web Services.
  • Using Petri Net based notation
  • OWL-S description is automatically translated
    into Petri Nets. Developers use this to automate
    tasks such as simulation, validation,
    verification

13
Web Components
  • Treats services as components.
  • Main idea is to encapsulate composite logic
    information inside a class definition, which
    represents a web component
  • Composition logic comprises composition type and
    message
  • dependency
  • Composite logic
  • Order
  • Alternate Execution
  • Message Dependency
  • Synthesis generates composed output message by
    combining of constituent services
  • Decomposition binds the composed services
    message into the input message
  • Message mapping allows custom mapping between
    constituent services.
  • Supports several composition constructs
  • Sequential, Sequential Alternative, Parallel with
    result synchronization, Parallel alternative

14
Web Components
  • Compatibility Two services,S1 and S2 are
    compatible when S1 is atleast as capable as S2,
    and S1 can substitute for S2
  • Conformance Checking
  • S1 and S2 conform to each other when we can
    combine S1 and S2 so that S1s output can be
    taken as S2s input

15
Example
  • ltconstructgt
  • ltcomposition typesequgt
  • ltactivity nameAgt
  • ltinput messageAInput/gt
  • ltoutput messageAOutput/gt
  • ltperformedBy serviceProviderA/gt
  • lt/activitygt
  • ltactivity nameBCgt
  • ltinput messageBCInput/gt
  • ltoutput messageBCOutput/gt
  • ltperformedBy serviceProviderBC/gt
  • lt/activitygt
  • ltmessageHandlinggt
  • ltmessageDecompositiongt
  • .
  • ltmessageMappinggt
  • ltsource messageAOutput/gt
  • lttarget messageBCInput/gt
  • lt/messageMappinggt
  • class BC is paraWithSyn
  • public Msg BCInput, BCOutput
  • public operation(Msg)-gtMsg
  • private void compose(B.operation,
  • C.operation)
  • private void
  • messageDecomposition(BCInput, BInput,
  • CInput)
  • private void messageSynthesis(BOutput,
  • COutput, BCOutput)

16
Algebraic Process Composition
  • Models services as mobile processes.
  • To ensure verification of properties such as
    safety, liveness (correct termination, for
    example), and resource management.
  • Mobile process theory is based on pi-calculus
  • Basic entity is a process in which the basic
    entity it can be an emptv process a choice
    between several I/O operations and their
    continuations a parallel composition a recursive
    definition or a recursive invocation. I/O
    operations can be input (receive) or output
    (send).

17
Example
  • Composition guarantees lock freedom

18
Petri Nets
  • Petri net is a directed connected and bipartite
    graph in which nodes represent places and
    transition occupy places.
  • We can model services as Petri nets
  • by assigning transition to methods and place to
    state.
  • At any given time service can be in one of the
    states not instantiated, ready, running,
    suspended, or completed.
  • Operators perform composition sequence,
    alternative (choice), unordered sequence,
    iteration, parallel with communication,
    discriminator, selection, and refinement.

19
Example
20
Model Checking and Finite-State Machine
  • Model Checking
  • Model checking can be applied to web service
    composition by verifying correctness inside a
    workflow specification. We can check data
    consistency etc.
  • Finite State
  • Berardi and colleagues present a framework that
    describes a web services behavior as an execution
    tree and then translates into FSM. They propose
    an algorithm that checks a compositions
    existence and returns one if it exists.

21
Method Comparison
  • Connectivity and Nonfunctional properties
  • All approaches offer service connectivity. Most
    approaches neglect QOS properties such as
    security, dependability or performance
  • Composition Correctness
  • Except OWL and BPEL all other approaches
    offer verification correctness. Pi calculus and
    Petri nets offers algebraic verification
  • Model checking verification are compatible with
    pi-calculus
  • Composition Scalability
  • BPEL and OWL composition is tedious as XML files
    begin to grow
  • Web Component requires additional time for
    mapping between class definition and XML files.
  • Petri nets has complexity issues, since they are
    not scalable modeling technique

22
Comparison
23
Conclusion
  • Industry methods lack correctness verification.
    On the other hand formal approaches are difficult
    to apply in real world, and some face scalability
    problems.
  • Composition problem will be there for a while.
    Objective should be to adopt an industry
    standard, and a long term goal should be to
    incorporate those verification mechanisms that
    scale well.
Write a Comment
User Comments (0)
About PowerShow.com