Surya \’s Blog

… ever streaming tools and technologies….!!!

Dynamic Service Compositons

Posted by kathayat on October 9, 2007

Service Compositions Approaches – Static/Dynamic, Automatic/Manual, model-driven, declarative, context-based

Static – allowing the user to build an abstract model of the tasks that should be carried-out during the execution of the web service (in brief services are specified), at design time or compile time. Usually implemented through graphs. Number of services provided to the end users is limited.

Dynamic – composing services on demand, composing a service upon receiving a request from user, composing a service at runtime..etc. Capabilities of the application can be extended at runtime. Customisation of the services based on the individual needs of the user can be made dynamic. Seamless upgrading of application or composite services.

Dynamic Approaches – Predefined workflow and AI planning (Declarative, Semantic, Context-Aware, Workflow-driven, etc)

  • Requires creating a service template may not be trivial or intuitive to users. (Declarative-Based, Workflow-driven)

Choosing or creating a service template (flowchart like) that describe the structure of the composite service and then discovering the components necessary to convert (instantiate) the template into an executable workflow. SELF-SERV, eFLOW are examples.

  • Requires a user to specify inputs/outputs of the service he/she requests. User may have difficulty to specify (Declarative-Based)

Composing the requested service through connecting the inputs and outputs of the components such that the execution of the components accepts the user-specified inputs and generates user specified outputs. Examples BU-Grid, NinjaWorkflow etc

  • Requires a user to request service using a logic language for example SWORD requires a user to request a service by specifying pre/post conditions of the service using the first-order logics. Ok..user have to understand the logic prog. (Semantic-Based, Declarative-Based)

Composing a service requested in the logic language through some form of planning techniques. Examples SHOP2, SWORD etc

Rao et al 2003. Use of Linear Logic for the Service Composition. Available services are specified in the form of LL formulae (from DAML-S profile to LL axioms), then LL theorem proving is used to determine whether the requested service (composite) can be composed or not. If a proof of the theorem exists then composed service is exxtracted from the proof (ie. process model). Resulting dataflow of the selected of selected atomic services is presented to the user for inspection via GUI. Since is the composed service is guaranteed to meet the specification (available services and inference rules), no further verification is needed.

  • Requires the users request the service in intuitive manner (in natural language). Semantics of the requested service(which is express in intuitive form) is converted into machine-understandable format (semantic graph) through existing technologies (natural language sentence to semantic graph) (Semantic-Based, Ontology-driven)

Composes the service through discovering the components necessary to compose the requested service based on the semantics of the requested service, creating workflow of the requested service using discovered components and executing the workflow. Example Fujii and Suda (2007) Semantic based dynamic service composition. In order to support discovering components based on semantic of requested service, they propose CoSMoS (component service model with semantic) and middleware named CoRE(component runtime environment). In order to support creating and executing an workflow of the requested service, they propose semantic graph-based service composition(SeGSeC). SeGSec first istructs CoRE to discover components based on semantic of the requested service, next, SeGSeC creates a workflow using the discovered components such that workshow satisfies the semantic of the requested services, then, SeGSeC instructs core to execute the workflow.

  • OWL, DAML-S or other formal languages provides the semantics for the web service composition and ontology representation(ontology-driven)
  • Extending WSDL like adding QoS information, WSTL for adding transaction information etc

Challenges – Severals

  • Service modeling (description) and discovery
  • Service analysis and selection
  • Service composition and execution
  • Execution monitoring

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: