An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett
Introduction – Why the Paper was written?? Increase in attention of developing semantic based services on the Web There is a need to allow for the composition of services based on abstract descriptions (by use of Ontologies) Aim of paper to give semantics to the framework of process composition to develop an ontological framework for service process description and discovery
Contents What is a Service Process How a Process is Composed Operation Framework presented in the paper Ontological Framework presented in the paper
What is a Service Process? Models the dynamic behavior of business or workflow systems Composition of individual services Service is a set of coherent operations provided at a certain location Services are made available through abstract interfaces where users can locate and invoke a desired service Web Services Framework (WSF) is a platform that allows services to be invoked in a once-off basis
Service Composition Two forms of service composition Orchestration Specifies the internal and external services to perform its task Focuses on the execution order through the use of message exchanges Controlled by one agent in the system Known as the Process Model Choreography Specifies the interactions and collaboration between services Specifies the synchronization and the exchange of data between the services Involves multiple agents where each agent describes its own part in the interaction Known as the Interaction Model
Example of a Web Process
Service Composition Orchestration: Each process implements many services Describes process of online shopping user starting at login, then repeatedly buying products and finally logging out Choreography: Each invocation results in an interaction – message exchange
Service Composition Process Assembly is a two step process: 1) Discovery Clients search for suitable services in registry Based on abstract descriptions (formalised on Ontologies) 2) Assembly and Usage Composition of matching services Interaction
Service Composition
Services & Processes – An Operational Framework Introduce the abstract language that forms the Operational Framework for Description and Composition By use of pi-calculus Operational Framework serves to capture requirements and forms an underlying layer for the Ontological Framework
Orchestration and Choreography Formal Description Identifies Core Requirements for Orchestration Description Notation (based on the Web Services Process Execution Language (WS- BPEL)) Basic Elements: message-based actions Invocations for external services Receive/Reply actions if service is available to others Process Language Service Process Combinations Sequence, choice, iteration, concurrency Abstraction Interface Process can be provided as a Web Service State & Data Needed variables and parameters for actions
Orchestration and Choreography Formal Description Orchestration Defines a Process in terms of actions and control flow Describe the external, interaction pattern that a service can engage in
Orchestration and Choreography Formal Description Orchestration Language Orchestration Language now allows for an Abstract Process expression to be defined
Orchestration and Choreography Formal Description Identifies Core Requirements for Choreography Description Notation (based on Web Services Choreography Interface (WSCI) and Web Services Choreography Description Language (WS-CDL)) Basic Activities Request and Response Activities for local activities Invoke to call operations to external services Structured Activities Loop, sequence, choice, concurrency Infrastructure Channels (connections between ports) Ports – represent services and their operations
Orchestration and Choreography Description Focus on interaction behavior, not execution order Based on Fixed Connections Shared channel that forms a connection between two service processes
Orchestration and Choreography Formal Description Choreography Language
Composition Support Description and matching are design activities Need to also integrate aspects of deployment in a life cycle of a process Each service is a family of ports Sc – Contract Port Interface to capture abstract properties Si – Connection Port for interaction Handles service invocation and input Sr – Connection Port for interaction Handles the service reply
Composition Support Defining the three ports a llows the Notation of a Service Life Cycle Client Provider Request Service s using port Sc (requirements) Invoke Action using port Si and specify result to be sent thru Sr Result of action y is then received on port Sr Provides Service s using port Sc (requirements) Executes action received thru Si Returns result of action f(a) to specified port Sr
Composition Support Composition and Interaction Protocol Activities captured in a standard life cycle form
Composition Support Matching of a Process Provider needs to meet the expected request pattern of the client Defined using the notion of transition graph Client Provider
Composition Support If the pairs of service operations match based on their individual descriptions Catalog/CatalogBrowse, Quote/QuoteProd Purchase/ProdPurch then the provider matches the requested process
Composition Support Connection & Interaction Successful matching results in a contract between two ports Contract Phase- both processes form a contract based on matching abstract descriptions Once Contract Port is established, processes can then interact through the a connector channel Connection Phase
Composition Support Formal definition of Contract and Connector Rules
Services & Processes – an Ontological Framework Ontology Framework Defined Data model used to represent a set of concepts within a domain and the relationships between these concepts Enables the shared representation of knowledge Services Service Process Descriptions Reasoning about this knowledge Needed to support the discovery and matching of processes through the use of descriptions Represented through use of Description Logic i.e. Resource Description Framework (RDF) XML-based language Semantic Web Services is a current available framework that allows descriptions and searches but only at a service-level and not a process level
Services & Processes – an Ontological Framework A Basic Process Ontology Defined Concepts Classes of objects with same properties Represent states in a process Roles Relations between concepts Two Types Transitional roles Represent Service Operations Description roles Properties of a state Pre & post Conditions, Service Name & Description Constructors Allow complex concepts to be constructed in form of concept description - interpreted as reaching a new state C through role R
Services & Processes – an Ontological Framework Service Process Ontology Concepts (States) & Roles (Transitional, Descriptive) preState & postState (describe states in terms of conditions)
Services & Processes – an Ontological Framework Notational for Ontology Language
Services & Processes – an Ontological Framework Importance of incorporating Role Constructors Role constructors allow composition of services to service processes Role constructors allow for data and process parameters
Services & Processes – an Ontological Framework Now with the complete ontological language specified, a service process can now be specified
Services & Processes – an Ontological Framework Matching Ontologies of Service Processes Through use of Subsumption Defined as a Subset-relationship Incorporating something into a more generalized class Subsumption of Concepts Subsumption of Roles More Input/Output oriented Subsumption in terms of simulation Looking at the internal states of a composite role expression
Services & Processes – an Ontological Framework Example of Matching UserLogin matches requirements of Login Weaker, less restricted precondition (synax(id) -> True) Stronger postcondition (valid(id) v invalid(id) -> valid(id) v invalid(id) v unknown())
Services & Processes – an Ontological Framework Ontological Matching of Service Processes Requires some additional rules Reachability of a concept A concept description with composite transitional role P is reachable if the set of transitions is not empty Consistency of a role A composite role is consistent if the last state is reachable through transitions.
Conclusion Paper presented a layered approach to service process composition Presented an Operational Framework Presented an Ontological Framework These frameworks are created through the use of Pi-Calculus Allows for the mobility of interations by allow the sending of ports for communication
Thank You! Questions?