Top Banner

of 34

Semantic Ws

Apr 03, 2018

Download

Documents

zupertiti
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 7/28/2019 Semantic Ws

    1/34

    12/25/20

    C6

    Semantic Web Services

    Fall 2010

    Distributed Systems

    - Master in CS -

    Technical University of Cluj-NapocaComputer Science Department

    Web service

    Definition

    An application accessible to other applications over the Web.

    W3C Definition

    A software application identified by a URI, whose interfaces and bindings

    are capable of being defined, described and discovered as XML artifacts. A

    Web service supports direct interactions with other software agents using

    XML-based messages exchanged via internet based protocols.

  • 7/28/2019 Semantic Ws

    2/34

    12/25/20

    Why need Web service?

    B2B Integration

    Need a solution to the problem of automating processes across companies

    Problems faced by B2B integration are similar to those faced by EAI but

    the solutions are different

    B2B Integration with Web Services

    Everything is an autonomous and independent service

    Based on open standards

    Easier business process management

    Easier integration

    More flexible

    Better and cheaper customer service

    Service-Oriented Architecture (SOA)

    UDDI

    Provides a mechanism for clients to find Web

    services

    SOAP

    Access of services over the Web

    WSDL

    An XML-based language used to define Web

    services and describe how to access them

  • 7/28/2019 Semantic Ws

    3/34

    12/25/20

    WSDL, SOAP

    Web Service Description Language (WSDL)

    W3C effort - WSDL 1.1, WSDL 2.0

    Describes interface for accessing a Web Service

    Interface (operations, inputs and outputs)

    Access (protocol binding)

    Endpoint (location of service)

    Simple Object Access Protocol

    W3C Recommendation http://www.w3.org/TR/soap12-part1/

    XML based protocol for exchange of information in a decentralized,

    distributed environment Binding, Communication aspects, Content

    Universal Description, Discovery, and IntegrationProtocol (UDDI)

    Registry for Web Services

    UDDI data model

    businessEntity

    Information about the service provider (i.e. the providers name, description and

    contact details)

    businessService

    Information about a Web service or a group of services (i.e. the service name,

    description and an optional list ofbindingTemplates

    )

    bindingTemplate

    Information about how and where to access a specific service

    tModel

    Usually a pointer to external technical specifications and service descriptions.

    One common type of such descriptions is WSDL documents. Include also a

    name and a description

  • 7/28/2019 Semantic Ws

    4/34

    12/25/20

    Web Service usage process

    Deployment

    Create and publish Web service description

    Discovery

    Determine the services that satisfy a request

    Composition

    Combine services to achieve a complex goal

    Selection

    Choose most appropriate service among the available ones

    Mediation

    Solve incompatibilities (data, protocol, process) that hamper interoperation Execution

    Invoke Web services following programmatic conventions

    Deficiencies of WS technology

    Current technologies allow usage of Web Services but offers

    Only syntactical information descriptions

    Syntactic support for discovery, composition and execution

    Web Service usage, and integration needs to be inspected

    manually

    No semantically marked up content/services

    No support for the Semantic Web

    Current Web service technology stack failed to realize the

    promise of Web Services

  • 7/28/2019 Semantic Ws

    5/34

    12/25/20

    Semantic Web service (SWS)

    SWS combine two technologies

    Semantic Web technology

    Ontologies as data model

    Allow machine supported data interpretation

    Web services technology

    Discovery, selection, composition

    Web-based execution of services

    SWS represents integrated solution for realizing the vision of the

    next generation of the Web

    Semantic Web service framework

    SWS frameworks need to integrate

    Basic Web design principles

    Design principles defined for the Semantic Web

    Design principles for distributed, service-oriented computing on the Web

    A SWS framework should answer to the following requirements:

    Web compliance

    Ontology-based

    Strict decoupling

    Centrality of mediation

    Ontological role separation

    Description vs. implementation

    Service vs. Web service

  • 7/28/2019 Semantic Ws

    6/34

    12/25/20

    Semantic Web service framework

    Web Compliance

    A set of simple and flexible concepts forming the foundation of Web suchas URI, namespaces, etc.

    Why is it important?

    Reliance on the already established concepts such as URIs enables

    seamless integration of pre-existing Web resources and tested tools

    What is expected from the framework?

    A SWS framework should integrate with the current Web, thus it should

    reuse/rely on the basic Web concepts

    Semantic Web service framework

    Ontology based

    An ontology-based system is a system which adopts ontologies to express

    data and processes which the system deals with

    Why is it important?

    Ontologies are allowing enhanced information processing and automatic

    resolution of heterogeneity issues between resources

    What is expected from the framework?

    Usage of ontologies as the data model throughout framework

    All resource descriptions and data exchanged are ontologically described

  • 7/28/2019 Semantic Ws

    7/34

    12/25/20

    Semantic Web service framework

    Strict Decoupling

    Represents separation of resources which should not depend on eachother

    Why is it important?

    On the Web resources are developed in isolation from one another

    What is expected from the framework?

    Resources should be strictly decoupled from one another

    Semantic descriptions are developed in isolation without regard for their

    possible usage or interaction with other resources

    Semantic Web service framework

    Centrality of Mediation

    Mediation is an activity which reconciles heterogeneities between parties

    Why is it important?

    Decoupling of resources requires existence of a mechanism for resolving

    heterogeneity issues between them

    Mediation performs the role of resolving potential incompatibilities between

    resources that occur at the data, protocol and process level

    What is expected from the framework? Mediators should be top-level elements of the framework

    It should be easy to connect mediators to the other elements

  • 7/28/2019 Semantic Ws

    8/34

    12/25/20

    Semantic Web service framework

    Ontological Role Separation

    Consumers and providers of Web Services are loosely coupled

    Why is it important?

    The contexts within which requesters and providers of services exist can

    be very different from one another

    What is expected from the framework?

    A framework should differentiate between the requirements that a given

    requester has and the functionality that service providers are willing to

    offer

    The framework should stress the difference between the goals and Web

    services

    Semantic Web service framework

    Description vs. Implementation

    Difference between description of functionality and its implementation

    Service description is separated from the way the service is implemented

    Why is it important?

    A firm distinction between the description of elements of SWS and

    executable technologies should be present

    What is expected from the framework? A framework should aim at providing ontological description model for the

    elements and to be compliant with the executable technologies

  • 7/28/2019 Semantic Ws

    9/34

    12/25/20

    Semantic Web service framework

    Service vs. Web Service

    A clear distinction between Services and Web Services

    A Web Service is a computational entity that is able to provide some

    functionality to the user by invoking it

    A service is the actual value provided by the invocation

    Why is it important?

    Although services are what counts for the consumers their value may be

    subjective and context-dependent

    A SWS framework should provides means to describe Web Services

    What is expected from the framework? A framework should be designed as a means to describe Web Services

    Actual value is provided by Web Service invocations

    Semantic Web service framework

    Approaches (W3C Member Submissions)

    WSMO: Ontologies, Goals, Web Services, Mediators

    OWL-S: WS Description Ontology (Profile, Service Model, Grounding)

    WSDL-S/SA-WSDL: Semantic annotation of WSDL descriptions

  • 7/28/2019 Semantic Ws

    10/34

    12/25/20

    OWL-S

    Represents an upper ontology for the description of semantic

    Web services

    Has its roots in the DAML Service Ontology (DAML-S)

    Adopts existing Semantic Web recommendations (i.e. OWL)

    Maintains bindings to the Web Services world by linking to WSDL

    descriptions

    W3C Member Submission

    OWL-SConceptual Model Service Class

    Provides an organizational point of reference fora declared Web service

    The class has three properties

    presents

    Defines what service does

    Points to the ServiceProfile instance

    supports Defines how to access the described service

    Points to the ServiceGroundinginstance

    describedBy Defines how the service works

    Points to the ServiceModelinstance

  • 7/28/2019 Semantic Ws

    11/34

    12/25/20

    OWL-SConceptual Model Service Profile Class

    Expresses what a service does for

    Advertising purposes

    Used to express the service functional and non-functional properties

    OWL-S Profile represents two aspects of the functionality of the service:

    The information transformation represented by inputs and outputs (using Input and

    Output class as specifications of Parameter general class)

    The state change produced by the execution of the service represented by

    preconditions and effects (using Condition and Result class)

    Template for service requests

    Exposes how a service works to enable

    Invocation, composition, monitoring, recovery, etc.

    To give a detailed perspective on how to interact with a service,

    it can be viewed as aprocess

    Specifically, OWL-S defines a subclass ofServiceModel,Process

    A OWL-SProcess is not a program to be executed. It is a specification of the

    ways a client may interact with a service

    OWL-SConceptual Model Service Model Class

  • 7/28/2019 Semantic Ws

    12/34

    12/25/20

    Process class is specialized into

    Atomic process

    Have no sub-processes and execute in a single step, as far as the service

    requester is concerned

    They take an input message, do something, and then return their output

    message

    Simple process

    Not invocable and are not associated with a grounding

    Used as elements of abstraction

    Used to provide a view of some atomic process

    Simplified representation of some composite process

    Composite process Decomposable into other (non-composite or composite) processes by using

    control constructs such as Sequence andIf-Then-Else

    OWL-SConceptual Model Service Model Class

    The grounding of a service

    Specifies the details of how to access the service

    Protocol and message formats, serialization, transport, and addressing

    Can be thought of as a mappingfrom an abstractto a concrete

    specification of those service description elements that are required for

    interacting with the service

    OWL-SConceptual Model Service Grounding Class

  • 7/28/2019 Semantic Ws

    13/34

    12/25/20

    WSDL-S

    Developed by IBM and the University of Georgia, following the

    guidelines stated below: Build on existing Web services standards

    The mechanism for annotating Web services with semantics should be

    independent of the semantic representation language

    The mechanism for annotating services with semantics should allow the

    association of multiple annotations written in different semantic

    representation languages

    Support semantic annotation of Web services whose data types are

    described in XML schema

    WSDL-S

    Advantages of adding semantics to WSDL

    Users can, in an upwardly compatible way, describe both the semantics

    and the operation level details in WSDL

    By externalizing the semantic domain models, agnostic approach to

    ontology representation languages has been considered

    Allows developers to annotate their services with their choice of modeling

    language

    Users can use OWL or WSMO or any other modeling language of their choice

    Is considered to be significant because the ability to reuse existing domain models

  • 7/28/2019 Semantic Ws

    14/34

    12/25/20

    WSDL-S

    Adding semantic annotations to the WSDL document

    An extension element wssem:modelReference

    To specify the association between a WSDL entity and a concept in some

    semantic model

    An extension attribute wssem:schemaMapping

    Added to XSD elements and complex types, for handling structural differences

    between the schema elements of a Web service and their corresponding

    semantic model concepts

    Two elements, namely wssem:precondition and wssem:effect

    Specified as child elements of the operation element

    Preconditions and effects are primarily used in service discovery, and are not

    necessarily required to invoke a given service

    An extension attribute on the interface element, namely category

    Consists of service categorization information that could be used when

    publishing a service in a Web Services registry such as UDDI

    Web Services Modeling Ontology (WSMO)

    Identifies four main concepts which have to be described in

    order to define semantic Web services

    Ontologies

    Provide the terminology used by other WSMO elements to describe the relevant

    aspects of the domains of discourse

    Web services

    Provides a conceptual model for describing, in an explicit and unified manner, all

    aspects of a service, including its non-functional properties, its functionality, and theinterfaces needed to obtain it

    Goals

    Describe aspects related to user desires with respect to the requested functionality

    Mediators

    Describe elements that handle interoperability problems between differentWSMO elements; they are the core concepts to resolve incompatibilities on thedata, process and protocol level

  • 7/28/2019 Semantic Ws

    15/34

    12/25/20

    Web service discovery

    The process of finding suitable Web services for given task

    A reference architecture of conventional WS discovery systems

    Conventional WS discovery systemsMain components

    Service provider is an entity that offers some services to other

    entities upon request

    Each implemented service of a provider is called service instance

    Service requestors are the entities that search for services

    Issue service requests against this registry

    Service Registry is an implementation of a directory service (i.e.,

    yellow pages)

    Indexes service advertisements in several ways

    Classify the services according to their application domain, service provider, and

    so forth

    Does not contain the actual service instances but only the bindings of

    service descriptions with the actual service instances

  • 7/28/2019 Semantic Ws

    16/34

    12/25/20

    Conventional WS discovery systems

    Main components

    Matching Algorithm

    Matches the service requests with service descriptions

    Tightly coupled with the service registry

    Service Request

    Declares the intention of the service requestor regarding the desired

    service functionality

    Is a formal/informal description of the functional and technical capabilities

    and/or constraints that should be satisfied by the discovered service

    Service Advertisement

    Is analogous to a service request but from the providers perspective

    Describes the functionality, invocation details and execution flow of an

    offered service. Depending on the registry type, this specification may be

    more or less formal

    Conventional WS discovery systemsMatching methods

    Standard UDDI registries allow for keyword based search

    Services can be searched by category, name, location, business,

    bindings ortModels

    Keyword based matching

    Many researchers have proposed extensions to this querying mechanism.

    The most interesting approaches are based on information retrieval

    techniques

  • 7/28/2019 Semantic Ws

    17/34

    12/25/20

    Limitations of conventional WS discovery systems

    Informal description of service functionality/capabilities

    The high-level functionality of the services is described in an unstructuredor semi-structured format

    Most service descriptions are provided in natural language form

    Inference cannot be performed on UDDI business and service catalogs

    This hinders the matching process, if the provider and requestor do not use

    common vocabulary

    Incomplete description of service functionality/capabilities

    The level of detail for the service descriptions is determined by each

    provider

    Since no predefined and mandatory fields exist, providers are free to

    describe their services in arbitrary detail

    Limitations of conventional WS discovery systems

    Syntax-based matching of service capabilities cannot give

    quality results, because a service request matches an

    advertisement only if their keywords match

    Exact matching methods cannot fully capture the intentional

    semantics of services or service requests

    Phenomena such as linguistic polysemy (i.e., the property of a word

    having many meanings)

    Keyword-based descriptions cannot describe internal servicestructure (e.g., data and execution flows), which may be of use

    during service discovery or composition

    The search methods of UDDI cannot support indirect matching

    This is a serious limitation, especially if there are only primitive and very

    simple services available in a registry

  • 7/28/2019 Semantic Ws

    18/34

    12/25/20

    Semantic Web service discovery

    Is based on semantic service annotations

    Semantic service annotations

    Were introduced to automate the whole service lifecycle, from advertisement to

    invocation and execution

    Have a crucial role in service discovery and affects the architectures, algorithms,

    effectiveness of service retrieval and every other aspect of the discovery

    Architectural components of the conventional WS discovery

    systems are maintained, but implemented differently in order to

    provide enhanced functionality

    In addition, several new components are introduced

    i.e. Service Annotation Ontologies, Domain Ontologies Service discovery interaction steps remain the same as for

    traditional Web services discovery systems

    SWS discovery architecture

    Service advertisement are described according to specific

    Service Annotation Ontologie

    OWL-S (Martin, 2005)

    WSDL-S (Li, 2006)

    WSMO (Roman, 2005)

    The annotation terms used in the service advertisements are

    expressed through shared vocabularies, defined byDomain

    Ontologies Describe the terminology and term relationships in specific application

    domains

    Are used in the semantic service annotations, as specified by the Service

    Annotation Ontologies

  • 7/28/2019 Semantic Ws

    19/34

    12/25/20

    SWS discovery architecture

    Service Request

    May vary from natural language text to the service annotation ontologies

    Irrespectively of the adopted format, a request contains information

    relevant to that specified by the used service annotation ontology (e.g.,

    IOPE values)

    Domain ontologies

    The use of the same domain ontologies by both the service requestors and

    providers, although not mandatory, significantly simplifies the matching

    process by eliminating the need for mediation layers

    SWS discovery architecture

    Service Registry

    The traditional WS registries (e.g., UDDI) are still used by most SWS

    discovery architectures

    However, besides the traditional WS descriptions (e.g., tModelentries,

    WSDL documents), they also store, or contain references to semantics

    information annotating the advertised services

    Several methods have been proposed for linking semantic service

    annotations to UDDI registry entries (e.g., tModels)

    Matching Algorithm

    The semantic matching algorithms are, in general, more complex and

    intelligent than their syntax-based counterparts

    Are designed so as to exploit the explicit functionality semantics of the

    provided service descriptions and requests

  • 7/28/2019 Semantic Ws

    20/34

    12/25/20

    Algorithmic approaches to matchmaking

    Most service matchmaking approaches exploit the service

    profile of a SWS During discovery, the requestor is more interested in whether a service can

    fulfill the posed requirements than in how it works or how it can be invoked

    Moreover, most approaches exploit the IOPE attributes,

    described in the service profile

    This is also intuitively correct, since two services that have similar IOPE

    attributes are generally considered similar

    Algorithmic approaches to matchmaking

    The most important problems in matchmaking

    Is unrealistic to expect advertisements and requests to be in perfect match

    Adopting a hard-decision logic, would result in ignoring services that

    partially match a service request

    The problem is becoming worse if we take into account that the service

    request may not fully capture the requestors intention

    In that case, one can observe the paradox where a service advertisement that

    partially matches the service request might perfectly match the requestors

    intention

  • 7/28/2019 Semantic Ws

    21/34

    12/25/20

    Algorithmic approaches to matchmaking

    Degree of Match (DoM)

    A value that expresses how similar two entities are, with respect to some

    similarity metric(s)

    Entities may be services,IOPEattributes or specific service operations

    Important feature of most SWS matchmaking algorithms

    Allows for ranking of discovered services according to their relevance to

    the service request

    Algorithmic approaches to matchmaking

    Matchmaking approaches can be categorize according to

    various criteria

    Direct vs. Indirect match

    Direct: A service request is matched against single service advertisements

    Indirect: A service request is matched against composite services, constructed

    from simple or complex workflows of single service advertisements

    Supporting DoMor not

    Using only service profile or other service information Assessing service similarity through logic-based reasoning or other

    techniques

  • 7/28/2019 Semantic Ws

    22/34

    12/25/20

    Algorithmic approaches to matchmakingSemantic Capabilities Matching (Paolucci, 2002)

    One of the first, and probably most influent work in the field of

    SWS discovery

    The basic idea

    An advertisement matches a request when all the outputs of the request

    are matched by the outputs of the advertisement, and all the inputs of the

    advertisement are matched by the inputs of the request

    Takes into account only the inputs and outputs of the service

    profiles during matchmaking

    DoMbetween two outputs/inputs depends on the relationship

    between the domain ontology concepts associated with those

    inputs/outputs

    Algorithmic approaches to matchmakingSemantic Capabilities Matching (Paolucci, 2002)

    The approach is based on thesubsumption matching

    FourDoMs have been specified

    The matching algorithm

    Implements degreeOfMatch rules

    Returns an ordered list of matching service advertisements

    DoM Matching conditions

    EXACT Ifreq.o is equivalent to adv.o, or

    Ifreq.o is a direct subclass ofadv.o

    PLUGIN Ifadv.o subsumes req.o

    SUBSUMES Ifreq.o subsumes adv.o

    FAIL If there is no subsumption relationship between req.o and adv.o

  • 7/28/2019 Semantic Ws

    23/34

    12/25/20

    Web services composition

    Service composition

    The process of developing a composite service

    Can be either performed by composing

    Elementary services

    Composite services

    Are recursively defined as an aggregation of elementary and composite services

    The need for Web services composition

    If the implementation of a Web services business login involves the

    invocation of other Web services it is necessary to combine the

    functionality of several Web services

    This is called composite service

    Web services composition

    When composing Web services, the business logic of the client

    is implemented by several services

    This is analogous to workflow management, where the application logic is

    realized by composing autonomous applications

    This allows the definition of increasingly complex applications by

    progressively aggregating components at higher levels of abstraction

    A composite service can itself be exposed as a Web service

    Despite all research efforts, the Web service composition still isa highly complex task, and it is already beyond the human

    capability to deal with the whole process manually

  • 7/28/2019 Semantic Ws

    24/34

    12/25/20

    Composition Issues

    Number of services available

    The number of services available over the Web increases dramatically

    during the recent years, and one can expect to have a huge Web service

    repository to be searched

    Domain Dynamic

    Web services can be created and updated on the fly, thus the composition

    system needs to detect the updating at runtime and the decision should be

    made based on the up to date information

    Heterogeneity

    Web services can be developed by different organizations, which use

    different concept models to describe the services However, there does not exist a unique language to define and evaluate

    the Web services in an identical means

    Composition Issues

    Coordination

    When it comes to composing Web services and building complex software

    systems, it is likely that interaction requires coordination of sequences of

    operations, to ensure correctness and consistency

    New protocols and abstractions are needed and this is exactly the case of

    coordination

    Context

    In terms of Web services, context may be inferred as information utilized by

    the Web service to adjust execution and output to provide the client with acustomized and personalized behavior

    Context is extensible with new types of information at any time, without any

    changes to the underlying infrastructure

    Context may contain information such as a consumers name, address, and

    current location, the type of client device, including hard and software that the

    consumer is using, or all kinds of preferences regarding the communication

  • 7/28/2019 Semantic Ws

    25/34

    12/25/20

    Aspects of composition

    Component Model

    Composition Model

    Formal: State charts, Petri Nets, -Calculus

    XML-Oriented: Activity Hierarchies

    Process Based: JOpera (Visual), WS-BPEL (XML)

    Others: Rule Based, UML Activity Diagrams, Data Driven

    Service Selection Model

    Data Transfer Model

    Exception Handling

    Transactions

    Aspects of compositionComponent Model

    Component model defines the assumptions about the

    components that should be composed

    In general, composing homogeneous components is easier than

    composing heterogeneous ones as the corresponding

    infrastructure is less complex

    In one case, all components could be Web services (accessed with the

    SOAP/HTTP protocols and described by a WSDL document)

    On the other extreme, the components are just services that can beaccessed using a variety of invocation mechanisms

  • 7/28/2019 Semantic Ws

    26/34

    12/25/20

    Aspects of compositionComposition Model

    Composition models define how to build a coherent system out

    of a collection of services

    They define:

    What is the order in which the services are invoked and what are the

    conditions under which a certain service may or may not be invoked

    (control flow)

    How the services exchange data with one another (data flow) and how

    they interact

    Some for ofexception handling, i.e., what happens if a service is not

    available

    Aspects of compositionService Selection Model

    In addition to specifying what are the messages to be

    exchanged, a composition model should also define how to

    select the services that should receive or send such messages

    In order to enhance the reusability of a composition, such

    services are usually not hard-coded into the composition but

    bound into it at different times:

    Composition time

    Compilation and deployment time

    Invocation time

  • 7/28/2019 Semantic Ws

    27/34

    12/25/20

    Aspects of compositionService Selection Model

    The service selection model defines how services are bound

    into a composition:

    Static binding (URL of service endpoint is hard-coded)

    Dynamic binding by reference: (Service URL is computed and stored into a

    variable)

    Dynamic binding by lookup (before each service invocation a query is sent

    to a registry to locate a suitable implementation)

    Dynamic operation selection (no assumptions are made about the

    signature of the arbitrary service to be invoked)

    Aspects of compositionData Model

    Services typically interact by exchanging some data

    Not all composition languages include an explicit model of the

    data flow

    Data is not always treated in the same way:

    Composition-level data is modeled at a finer level as it is used to control

    the composition (control flow branches) and has data types associated

    with it

    Application-specific data is seen as an opaque pointer (URL) which isforwarded between services

  • 7/28/2019 Semantic Ws

    28/34

    12/25/20

    Aspects of compositionException Handling

    Exception Handling is very important as service compositions

    should explicitly model what to do if a service is not available orif its invocation fails

    Flow-based exception handling uses normal control flow

    constructs to branch after a service invocation has failed

    Try/Catch blocks are used in a similar way to associate an

    exception handler to a set of service invocations

    Rules may also be associated to a composition in order to

    detect global exceptional conditions

    Aspects of compositionTransactions

    In order to support long running transactions, each service

    operation can be also associated with a compensation handler,

    which is invoked only if the operation should be undone

  • 7/28/2019 Semantic Ws

    29/34

  • 7/28/2019 Semantic Ws

    30/34

    12/25/20

    3

    Composition approaches

    Automated vs. manual web services composition

    Traditionally, Web service composition has been performed manually,

    making it a difficult and error prone task

    In an automatic composition system, the userss role is limited to

    specifying the functional requirements. Instead, the system should define

    the data and control flow by assembling individual services based on user

    provided inputs and expected outputs

    Manual Web service composition process

    Initially, a user would create an abstract specification of a high-

    level task

    The specification may include the task goals, I/O and control parameters,

    and any conditions and effects

    As a next step, if the user possesses enough domain

    knowledge, he could create an abstract composite workflow by

    decomposing the specification

  • 7/28/2019 Semantic Ws

    31/34

    12/25/20

    3

    Manual Web service composition process

    To create the abstract workflow, the user may utilize some Web

    service standard language (WS-BPEL or OWL-S)

    Besides the basic flow of the process, additional constraints

    may be specified for the task as a whole or each subtask within

    the workflow

    e.g. QoSparameters and security policy information

    At this point, the user needs to have some guarantee that the

    abstract workflow he created satisfies his intended high level

    goal

    Manual Web service composition process

    Next, the user would have to bind Web services to his workflow

    The most widely used method is to search and discover services published

    in a Web service repository such as UDDI

    There is no guarantee that services will be a one-to-one match with the

    task descriptions: I/O parameter differences may make them incompatible,

    several tasks may be fulfilled by one service, requiring further

    decomposition of the specification, or visa versa

    Once the user binds services to tasks, an executable process is

    created

    As the process is executed, the user needs to monitor the execution and

    handle faults if they arise

  • 7/28/2019 Semantic Ws

    32/34

    12/25/20

    3

    Requirements for automatic Web service composition

    Specification phase

    Provide an easy way for a user to specify task goals, requirements andconstraints without extensive domain knowledge

    Planning phase Provide an automatic way to compose an abstract workflow based on the

    specification

    Validation phase Provide techniques to ensure that the composite process realized via an

    abstract workflow satisfies the users stated task goals

    Discovery phase Provide a way to discover services that satisfy task specifications in the

    workflow Execution with monitoring phase Provide a framework for monitoring an executing service, and provide

    automatic fault-handling mechanisms

    Requirements for automatic Web service composition

    Specification Phase

    The user specifies the goal he is trying to achieve

    The specification

    Should have enough detail to aid in creating the abstract specification

    Include functional and non-functional requirements

    Functional requirements are constraints, control/data flow and high-level goal of the

    complex task

    Non-functional aspects may include security policy, QoSconstraints, etc.

    Desired behavioral issues (i.e. termination conditions, failure recoveryrequirements) should also be able to be specified

  • 7/28/2019 Semantic Ws

    33/34

    12/25/20

    3

    Requirements for automatic Web service composition

    Planning Phase

    Takes the abstract specification created in the specification phase andproduces an abstract composite workflow

    If the specification did not contain enough detail (i.e., it was a partial

    specification) or was stated as P/E and goals, then the description needs

    to be decomposed into simpler steps in this phase

    Requirements for automatic Web service composition

    Validation Phase

    Takes an abstract composite workflow that is an output of the planning

    phase to address the following:

    Syntactic validation:

    Is the workflow well-formed and structurally correct (i.e. does not contain deadlocks,

    infinite cycles, etc)?

    Syntactic validation may be handled by the planning tool, depending on the approach

    used

    Semantic validation:

    Does the plan satisfy user goals and requirements/constraints that were detailed in the

    specification phase?

    If the user created more than one abstract composite workflow in the

    planning phase, there may be multiple candidates to validate. The result of

    the validation should produce a syntactically and semantically optimal

    abstract composite workflow

  • 7/28/2019 Semantic Ws

    34/34

    12/25/20

    Requirements for automatic Web service composition

    Discovery Phase

    Takes the abstract composite workflow, and finds suitable atomic servicesfor each task in the workflow by querying service repositories

    Execution and Monitoring Phase

    Provides deployment and execution of a newly created composite service

    This phase includes following control flows that were specified in the

    workflow and recovery mechanisms to ensure proper execution of

    composition