SWS tutorial iswc05

Views:
 
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Semantic Web Services Tutorial : 

Semantic Web Services Tutorial Michael Stollberg and Armin Haller DERI – Digital Enterprise Research Institute 3rd International Conference on Web Services (ICWS 2005) Orlando, Florida, 2005 July 11

Slide2: 

Agenda Part I: Introduction to Semantic Web Services Vision of Next Generation Web Technology Semantic Web Service Challenges Part II: The Web Service Modeling Ontology WSMO Aims andamp; Design Principles Top Level Element Definitions BREAK Part III: A Walkthru Example Virtual Travel Agency Example Roles, Elements, Semantic Web Service technology usage Part IV: The Web Service Execution Environment WSMX Aims andamp; Design Principles Architecture andamp; Components

Slide3: 

PART I: Introduction to Semantic Web Services The vision of the Semantic Web Ontologies as the basic building block Current Web Service Technologies Vision and Challenges for Semantic Web Services

The Vision: 

Static 500 million users more than 3 billion pages WWW URI, HTML, HTTP The Vision

The Vision: 

WWW URI, HTML, HTTP Serious Problems in information finding, information extracting, information representing, information interpreting and and information maintaining. Semantic Web RDF, RDF(S), OWL Static The Vision

The Vision: 

WWW URI, HTML, HTTP Bringing the computer back as a device for computation Semantic Web RDF, RDF(S), OWL Dynamic Web Services UDDI, WSDL, SOAP Static The Vision

The Vision: 

WWW URI, HTML, HTTP Bringing the web to its full potential Semantic Web RDF, RDF(S), OWL Dynamic Web Services UDDI, WSDL, SOAP Static Semantic Web Services The Vision

Slide8: 

The Semantic Web the next generation of the WWW information has machine-processable and machine-understandable semantics not a separate Web but an augmentation of the current one Ontologies as basic building block

Ontology Definition : 

Ontology Definition formal, explicit specification of a shared conzeptualization commonly accepted understanding conceptual model of a domain (ontological theory) unambiguous terminology definitions machine-readability with computational semantics

Ontology Example: 

Ontology Example Concept conceptual entity of the domain Property attribte describing a concept Relation relationship between concepts or properties Axiom coherency description between Concepts / Properties / Relations via logical expressions Person Student Professor Lecture isA – hierarchy (taxonomy) name email matr.-nr. research field topic lecture nr. attends holds holds(Professor, Lecture) =andgt; Lecture.topic = Professor.researchField

Slide11: 

Ontology Technology To make the Semantic Web working we need: Ontology Languages: expressivity reasoning support web compliance Ontology Reasoning: large scale knowledge handling fault-tolerant stable andamp; scalable inference machines Ontology Management Techniques: editing and browsing storage and retrieval versioning and evolution Support Ontology Integration Techniques: ontology mapping, alignment, merging semantic interoperability determination and … Applications

Web Services : 

Web Services loosely coupled, reusable components encapsulate discrete functionality distributed programmatically accessible over standard internet protocols add new level of functionality on top of the current web

The Promise of Web Services: 

The Promise of Web Services web-based SOA as new system design paradigm

WSDL : 

WSDL Web Service Description Language W3C effort, WSDL 2 final construction phase describes interface for consuming a Web Service: - Interface: operations (in- andamp; output) - Access (protocol binding) - Endpoint (location of service)

UDDI: 

UDDI Universal Description, Discovery, and Integration Protocol OASIS driven standardization effort Registry for Web Services: - provider - service information - technical access

SOAP: 

SOAP Simple Object Access Protocol W3C Recommendation XML data transport: - sender / receiver - protocol binding - communication aspects - content

Deficiencies of WS Technology: 

Deficiencies of WS Technology current technologies allow usage of Web Services but: only syntactical information descriptions syntactic support for discovery, composition and execution =andgt; Web Service usability, usage, and integration needs to be inspected manually no semantically marked up content / services no support for the Semantic Web =andgt; current Web Service Technology Stack failed to realize the promise of Web Services

Semantic Web Services: 

Semantic Web Technology + Web Service Technology Semantic Web Services =andgt; Semantic Web Services as integrated solution for realizing the vision of the next generation of the Web allow machine supported data interpretation ontologies as data model automated discovery, selection, composition, and web-based execution of services

Semantic Web Services: 

Semantic Web Services define exhaustive description frameworks for describing Web Services and related aspects (Web Service Description Ontologies) support ontologies as underlying data model to allow machine supported data interpretation (Semantic Web aspect) define semantically driven technologies for automation of the Web Service usage process (Web Service aspect)

Semantic Web Services: 

Semantic Web Services Usage Process: Publication: Make available the description of the capability of a service Discovery: Locate different services suitable for a given task Selection: Choose the most appropriate services among the available ones Composition: Combine services to achieve a goal Mediation: Solve mismatches (data, protocol, process) among the combined Execution: Invoke services following programmatic conventions

Semantic Web Services: 

Semantic Web Services Execution support: Monitoring: Control the execution process Compensation: Provide transactional support and undo or mitigate unwanted effects Replacement: Facilitate the substitution of services by equivalent ones Auditing: Verify that service execution occurred in the expected way

Slide22: 

PART II: The Web Service Modeling Ontology WSMO Aims andamp; Working Groups Design Principles Top Level Notions Ontologies Web Services Goals Mediators Comparison to OWL-S

WSMO is ..: 

WSMO is .. a conceptual model for Semantic Web Services: ontology of core elements for Semantic Web Services a formal description language (WSML) execution environment (WSMX) derived from and based on the Web Service Modeling Framework WSMF a SDK-Cluster Working Group (joint European research and development initiative)

WSMO Working Groups: 

WSMO Working Groups A Conceptual Model for SWS A Formal Language for WSMO A Rule-based Language for SWS Execution Environment for WSMO

WSMO Design Principles: 

Web Compliance Ontology-Based Goal-driven Strict Decoupling Centrality of Mediation Description versus Implementation Execution Semantics WSMO Design Principles

WSMO Top Level Notions: 

WSMO Top Level Notions Objectives that a client wants to achieve by using Web Services Provide the formally specified terminology of the information used by all other components Semantic description of Web Services: Capability (functional) Interfaces (usage) Connectors between components with mediation facilities for handling heterogeneities WSMO D2, version 1.2, 13 April 2005 (W3C submission)

Non-Functional Properties: 

Non-Functional Properties every WSMO elements is described by properties that contain relevant, non-functional aspects Dublin Core Metadata Set: complete item description used for resource management Versioning Information evolution support Quality of Service Information availability, stability Other Owner, financial

Non-Functional Properties List: 

Non-Functional Properties List Dublin Core Metadata Contributor Coverage Creator Description Format Identifier Language Publisher Relation Rights Source Subject Title Type Quality of Service Accuracy NetworkRelatedQoS Performance Reliability Robustness Scalability Security Transactional Trust Other Financial Owner TypeOfMatch Version

WSMO Ontologies: 

WSMO Ontologies Provide the formally specified terminology of the information used by all other components Semantic description of Web Services: Capability (functional) Interfaces (usage) Connectors between components with mediation facilities for handling heterogeneities Objectives that a client wants to achieve by using Web Services

Ontology Usage & Principles : 

Ontologies are used as the ‘data model’ throughout WSMO all WSMO element descriptions rely on ontologies all data interchanged in Web Service usage are ontologies Semantic information processing andamp; ontology reasoning WSMO Ontology Language WSML conceptual syntax for describing WSMO elements logical language for axiomatic expressions (WSML Layering) WSMO Ontology Design Modularization: import / re-using ontologies, modular approach for ontology design De-Coupling: heterogeneity handled by OO Mediators Ontology Usage andamp; Principles

Ontology Specification: 

Non functional properties (see before) Imported Ontologies importing existing ontologies where no heterogeneities arise Used mediators OO Mediators (ontology import with terminology mismatch handling) Ontology Elements: Concepts set of concepts that belong to the ontology, incl. Attributes set of attributes that belong to a concept Relations define interrelations between several concepts Functions special type of relation (unary range = return value) Instances set of instances that belong to the represented ontology Axioms axiomatic expressions in ontology (logical statement) Ontology Specification

WSMO Web Services: 

WSMO Web Services Provide the formally specified terminology of the information used by all other components Semantic description of Web Services: Capability (functional) Interfaces (usage) Connectors between components with mediation facilities for handling heterogeneities Objectives that a client wants to achieve by using Web Services

WSMO Web Service Description : 

WSMO Web Service Description Web Service Implementation (not of interest in Web Service Description) Choreography --- Service Interfaces --- Capability functional description Advertising of Web Service Support for WS Discovery client-service interaction interface for consuming WS External Visible Behavior - Communication Structure - ‘Grounding’ realization of functionality by aggregating other Web Services functional decomposition WS composition Non-functional Properties DC + QoS + Version + financial complete item description quality aspects Web Service Management Orchestration

Capability Specification: 

Capability Specification Non functional properties Imported Ontologies Used mediators OO Mediator: importing ontologies with mismatch resolution WG Mediator: link to a Goal wherefore service is not usable a priori Pre-conditions What a web service expects in order to be able to provide its service. They define conditions over the input. Assumptions Conditions on the state of the world that has to hold before the Web Service can be executed Post-conditions describes the result of the Web Service in relation to the input, and conditions on it Effects Conditions on the state of the world that hold after execution of the Web Service (i.e. changes in the state of the world)

Choreography & Orchestration: 

Choreography andamp; Orchestration VTA example: Choreography = how to interact with the service to consume its functionality Orchestration = how service functionality is achieved by aggregating other Web Services

Choreography Aspects : 

Choreography Aspects External Visible Behavior those aspects of the workflow of a Web Service where Interaction is required described by workflow constructs: sequence, split, loop, parallel Communication Structure messages sent and received their order (communicative behavior for service consumption) Grounding executable communication technology for interaction choreography related errors (e.g. input wrong, message timeout, etc.) Formal Model reasoning on Web Service interfaces (service interoperability) allow mediation support on Web Service interfaces Interface for consuming Web Service

Orchestration Aspects : 

Orchestration Aspects decomposition of service functionality all service interaction via choreographies Control Structure for aggregation of other Web Services Web Service Business Logic 1 2 3 4

WSMO Web Service Interfaces: 

WSMO Web Service Interfaces service interfaces are concerned with service consumption and interaction Choreography and Orchestration as sub-concepts of Service Interface common requirements for service interface description: represent the dynamics of information interchange during service consumption and interaction support ontologies as the underlying data model appropriate communication technology for information interchange sound formal model / semantics of service interface specifications in order to allow operations on them.

Service Interface Description : 

Service Interface Description Ontologies as data model: all data elements interchanged are ontology instances service interface = evolving ontology Abstract State Machines (ASM) as formal framework: dynamics representation: high expressiveness andamp; low ontological commitment core principles: state-based, state definition by formal algebra, guarded transitions for state changes overcome the 'Frame Problem' further characteristics: not restricted to any specific communication technology ontology reasoning for service interoperability determination basis for declarative mediation techniques on service interfaces

Service Interface Description Model: 

Service Interface Description Model Vocabulary Ω: ontology schema(s) used in service interface description usage for information interchange: in, out, shared, controlled States ω(Ω): a stable status in the information space defined by attribute values of ontology instances Guarded Transition GT(ω): state transition general structure: if (condition) then (action) different for Choreography and Orchestration additional constructs: add, delete, update

Service Interface Example: 

Service Interface Example Ωin hasValues { concept A [ att1 ofType X att2 ofType Y] …} a memberOf A [ att1 hasValue x att2 hasValue y] a memberOf A [ att1 hasValue x, att2 hasValue y] b memberOf B [ att2 hasValue m] IF (a memberOf A [ att1 hasValue x ]) THEN (b memberOf B [ att2 hasValue m ]) State ω1 Guarded Transition GT(ω1) State ω2 Ωout hasValues { concept B [ att1 ofType W att2 ofType Z] …} Vocabulary: - Concept A in Ωin - Concept B in Ωout received ontology instance a Communication Behavior of a Web Service sent ontology instance b

Future Directions: 

Future Directions Ontologies as data model: - every resource description based on ontologies - every data element interchanged is ontology instance Formal description of service interfaces: - ASM-based approach - allows reasoning andamp; mediation workflow constructs as basis for describing service interfaces: - workflow based process models for describing behavior - on basis of generic workflow constructs (e.g. van der Aalst) Choreography: - interaction of services / service and client - a „choreography interface' describes the behavior of a Web Service for client-service interaction for consuming the service Orchestration: - how the functionality of a Web Service is achieved by aggregating other Web Services - extends Choreography descriptions by control andamp; data flow constructs between orchestrating WS and orchestrated WSs. Grounding: - making service interfaces executable - currently grounding to WSDL Conceptual models User language - based on UML2 activity diagrams - graphical Tool for Editing andamp; Browsing Service Interface Description

WSMO Goals : 

WSMO Goals Provide the formally specified terminology of the information used by all other components Semantic description of Web Services: Capability (functional) Interfaces (usage) Connectors between components with mediation facilities for handling heterogeneities Objectives that a client wants to achieve by using Web Services

Goals: 

Goals Ontological De-coupling of Requester and Provider Goal-driven Approach, derived from AI rational agent approach requester formulates objective independently ‘intelligent’ mechanisms detect suitable services for solving the Goal allows re-use of Services for different purposes Usage of Goals within Semantic Web Services A requester (human or machine) defines a Goal to be resolved Web Service discovery detects suitable Web Services for solving the Goal automatically Goal resolution management is realized in implementations

Goal Specification: 

Goal Specification Non functional properties Imported Ontologies Used mediators OO Mediators: importing ontologies with heterogeneity resolution GG Mediator: Goal definition by reusing an already existing goal allows definition of Goal Ontologies Requested Capability describes service functionality expected to resolve the objective defined as capability description from the requester perspective Requested Interface describes communication behaviour supported by the requester for consuming a Web Service (Choreography) Restrictions / preferences on orchestrations of acceptable Web Services

WSMO Mediators: 

WSMO Mediators Provide the formally specified terminology of the information used by all other components Semantic description of Web Services: Capability (functional) Interfaces (usage) Connectors between components with mediation facilities for handling heterogeneities Objectives that a client wants to achieve by using Web Services

Mediation : 

Mediation Heterogeneity … Mismatches on structural / semantic / conceptual / level Occur between different components that shall interoperate Especially in distributed andamp; open environments like the Internet Concept of Mediation (Wiederhold, 94): Mediators as components that resolve mismatches Declarative Approach: Semantic description of resources ‘Intelligent’ mechanisms that resolve mismatches independent of content Mediation cannot be fully automated (integration decision) Levels of Mediation within Semantic Web Services (WSMF): Data Level: mediate heterogeneous Data Sources Protocol Level: mediate heterogeneous Communication Patterns Process Level: mediate heterogeneous Business Processes

WSMO Mediators Overview: 

WSMO Mediators Overview

Mediator Structure: 

Mediator Structure WSMO Mediator uses a Mediation Service via Source Component Source Component Target Component 1 .. n 1 Mediation Services as a Goal directly optionally incl. Mediation

OO Mediator - Example: 

OO Mediator - Example OO Mediator Mediation Service Train Connection Ontology (s1) Purchase Ontology (s2) Train Ticket Purchase Ontology Mediation Services Goal: 'merge s1, s2 and s1.ticket subclassof s2.product' Discovery Merging 2 ontologies

GG Mediators: 

GG Mediators Aim: Support specification of Goals by re-using existing Goals Allow definition of Goal Ontologies (collection of pre-defined Goals) Terminology mismatches handled by OO Mediators Example: Goal Refinement GG Mediator Mediation Service Source Goal 'Buy a ticket' Target Goal 'Buy a Train Ticket' postcondition: 'aTicket memberof trainticket'

WG & WW Mediators: 

WG andamp; WW Mediators WG Mediators: link a Web Service to a Goal and resolve occurring mismatches match Web Service and Goals that do not match a priori handle terminology mismatches between Web Services and Goals broader range of Goals solvable by a Web Service WW Mediators: enable interoperability of heterogeneous Web Services support automated collaboration between Web Services OO Mediators for terminology import with data level mediation Protocol Mediation for establishing valid multi-party collaborations Process Mediation for making Business Processes interoperable

Comparison to OWL-S: 

Comparison to OWL-S Mapping to WSDL communication protocol (RPC, HTTP, …) marshalling/serialization transformation to and from XSD to OWL Control flow of the service Black/Grey/Glass Box view Protocol Specification Abstract Messages Capability specification General features of the Service Quality of Service Classification in Service taxonomies

Perspective: 

Perspective OWL-S is an ontology and a language to describe Web services Strong relation to Web Services standards rather than proposing another WS standard, OWL-S aims at enriching existing standards OWL-S is grounded in WSDL and it has been mapped into UDDI Based on the Semantic Web Ontologies provide conceptual framework to describe the domain of Web services and an inference engine to reason about the domain Ontologies are essential elements of interoperation between Web services WSMO is a conceptual model for the core elements of Semantic Web Services core elements: Ontologies, Web Services, Goals, Mediators language for semantic element description (WSML) reference implementation (WSMX) Mediation as a key element Ontologies as data model every resource description is based on ontologies every data element interchanged is an ontology instance

OWL-S and WSMO: 

OWL-S and WSMO OWL-S uses Profiles to express existing capabilities (advertisements) and desired capabilities (requests) WSMO separates provider (capabilities) and requester points of view (goals) OWL-S profile ≈ WSMO capability + goal + non-functional properties

OWL-S and WSMO: 

OWL-S and WSMO Perspective: OWL-S Process Model describes operations performed by Web Service, including consumption as well as aggregation WSMO separates Choreography and Orchestration Formal Model: OWL-S formal semantics has been developed in very different frameworks such as Situation Calculus, Petri Nets, Pi-calculus WSMO service interface description model with ASM-based formal semantics OWL-S Process Model is extended by SWRL / FLOWS both approaches are not finalized yet OWL-S Process Model  WSMO Service Interfaces

OWL-S and WSMO: 

OWL-S provides default mapping to WSDL clear separation between WS description and interface implementation other mappings could be used WSMO also defines a mapping to WSDL, but aims at an ontology-based grounding avoid loss of ontological descriptions throughout service usage process ‘Triple-Spaced Computing’ as innovative communication technology OWL-S Grounding  current WSMO Grounding OWL-S and WSMO

Mediation in OWL-S and WSMO: 

Mediation in OWL-S and WSMO OWL-S does not have an explicit notion of mediator Mediation is a by-product of the orchestration process E.g. protocol mismatches are resolved by constructing a plan that coordinates the activity of the Web services …or it results from translation axioms that are available to the Web services It is not the mission of OWL-S to generate these axioms WSMO regards mediators as key conceptual elements Different kinds of mediators: OO Mediators for ensuring semantic interoperability GG, WG mediators to link Goals and Web Services WW Mediators to establish service interoperability Reusable mediators Mediation techniques under development

Semantic Representation: 

Semantic Representation OWL-S and WSMO adopt a similar view on the need of ontologies and explicit semantics but they rely on different logics: OWL-S is based on OWL / SWRL OWL represent taxonomical knowledge SWRL provides inference rules FLOWS as formal model for process model WSMO is based on WSML a family of languages with a common basis for compatibility and extensions in the direction of Description Logics and Logic Programming

OWL and WSML : 

OWL and WSML WSML aims at overcoming deficiencies of OWL Relation between WSML and OWL+SWRL to be completed OWL Lite OWL DL OWL Full WSML Flight WSML DL WSML Core WSML Rule WSML Full Description Logics full RDF(S) support subset Description Logics Logic Programming First Order Logic

Summary: 

Summary

Slide62: 

PART III: A Walkthru Example

Virtual Travel Agency Use Case: 

Virtual Travel Agency Use Case James is employed in DERI Austria and wants to book a flight and a hotel for the ISWC conference the start-up company VTA provides tourism and business travel services based on Semantic Web Service technology =andgt; how does the interplay of James, VTA, and other Web Services look like?

Goal Description: 

Goal Description 'book flight and hotel for the ICWS 2005 for James' goal capability postcondition: get a trip reservation for this goal _'http://www.wsmo.org/examples/goals/icws2005' importsOntology {_'http://www.wsmo.org/ontologies/tripReservationOntology', …} capability postcondition definedBy ?tripReservation memberOf tr#reservation[ customer hasValue fof#james, origin hasValue loc#innsbruck, destination hasValue loc#orlando, travel hasValue ?flight, accommodation hasValue ?conferenceHotel payment hasValue tr#creditcard ] and ?flight[airline hasValue tr#staralliance] memberOf tr#flight and ?hotel[name hasValue 'Sheraton Safari Hotel'] memberOf tr#hotel .

VTA Service Description: 

VTA Service Description book tickets, hotels, amenities, etc. capability description (pre-state) capability VTAcapability sharedVariables {?creditCard, ?initialBalance, ?item, ?passenger} precondition definedBy ?reservationRequest[ reservationItem hasValue ?item, passenger hasValue ?passenger, payment hasValue ?creditcard, ] memberOf tr#reservationRequest and ((?item memberOf tr#trip) or (?item memberOf tr#ticket)) and ?creditCard[balance hasValue ?initialBalance] memberOf po#creditCard. assumption definedBy po#validCreditCard(?creditCard) and (?creditCard[type hasValue po#visa] or ?creditCard[type hasValue po#mastercard]).

VTA Service Description: 

VTA Service Description capability description (post-state) postcondition definedBy ?reservation[ reservationItem hasValue ?item, customer hasValue ?passenger, payment hasValue ?creditcard ] memberOf tr#reservation . assumption definedBy reservationPrice(?reservation, 'euro', ?tripPrice) and ?finalBalance= (?initialBalance - ?ticketPrice) and ?creditCard[po#balance hasValue ?finalBalance] .

Web Service Discovery: 

Web Service Discovery James Objective: „book a flight and a hotel for me for the ICWS 2005.' Service Registry WS Discoverer has searches VTA result set includes Goal definition

Semantic Web Service Discovery: 

Semantic Web Service Discovery find appropriate Web Service for automatically resolving a goal as the objective of a requester Aims: high precision discovery maximal automation effective discoverer architectures Requirements: infrastructure that allows storage and retrieval of information about Web services description of Web services functionality description of requests or goals algorithms for matching requesters for capabilities with the corresponding providers

Discovery Techniques : 

Discovery Techniques different techniques available trade-off: ease-of-provision andlt;-andgt; accuracy resource descriptions andamp; matchmaking algorithms Key Word Matching match natural language key words in resource descriptions Controlled Vocabulary ontology-based key word matching Semantic Matchmaking … what Semantic Web Services aim at Ease of provision Possible Accuracy

Matchmaking Notions & Intentions: 

Matchmaking Notions andamp; Intentions Exact Match: G, WS, O, M ╞ x. (G(x) andlt;=andgt; WS(x) ) PlugIn Match: G, WS, O, M ╞ x. (G(x) =andgt; WS(x) ) Subsumption Match: G, WS, O, M ╞ x. (G(x) andlt;= WS(x) ) Intersection Match: G, WS, O, M ╞ x. (G(x)  WS(x) ) Non Match: G, WS, O, M ╞ ¬x. (G(x)  WS(x) ) = G = WS Keller, U.; Lara, R.; Polleres, A. (Eds): WSMO Web Service Discovery. WSML Working Draft D5.1, 12 Nov 2004.

Discovery Approach: 

Discovery Approach Matchmaking Notion to be used defined for each goal capability element Basic Procedure: Goal Capability Web Service Capability Assumption Precondition Effect Postcondition Assumption Precondition Effect Postcondition Plug-In Exact Intersection Exact valid pre-state? valid post-state? abort yes no abort yes no Match

Discoverer Architecture: 

Discoverer Architecture Discovery as central Semantic Web Services technology Integrated Discoverer Architectures admired: Resource Repository (UDDI or other) Keyword-/ Classification-based Filtering Controlled Vocabulary Filtering Semantic Matchmaking usable Web Service efficient narrowing of search space (relevant services to be inspected) retrieve Service Descriptions invoke Web Service

Service Interfaces: 

Service Interfaces Behavior Interface: how entity can interact Requested Interface send request select from offer receive confirmation Goal defines VTA VTA WS ‘Trip Booking’ Capability Interface (Chor.) get request provide offer receive selection send confirmation Interface (Orch.) flight request hotel request book flight book hotel Flight WS Capability Interface (Chor.) get request provide offer receive selection send confirmation Orch. .. Hotel WS Capability Interface (Chor.) get request provide offer receive selection send confirmation Orch. .. provides Requested Capability book flight andamp; hotel Choreography: interaction between entities Orchestration: service aggregation for realizing functionality

VTA Service Description: 

VTA Service Description Behavior Interface Transition 'get request' to 'provide offer' choreography VTABehaviorInterface importsOntology {_'http://www.wsmo.org/ontologies/tripReservationOntology', …} vocabularyIn {reservationRequest, …} vocabularyOut {reservation, …} guardedTransitions VTABehaviorInterfaceTransitionRules if (reservationRequest memberOf tr#reservationRequest[ reservationItem hasValue tr#trip, origin hasValue loc#city, destination hasValue loc#city, passenger hasValue tr#passenger] then reservationOffer memberOf tr#reservation[ reservationItem hasValue tr#trip, reservationHolder hasValue ?reservationHolder] .

Choreography Discovery: 

Choreography Discovery Requested Interface send request select from offer receive confirmation Goal defines VTA VTA WS ‘Trip Booking’ Capability Interface (Chor.) get request provide offer receive selection send confirmation Interface (Orch.) flight request hotel request book flight book hotel Flight WS Capability Interface (Chor.) get request provide offer receive selection send confirmation Orch. .. Hotel WS Capability Interface (Chor.) get request provide offer receive selection send confirmation Orch. .. provides Requested Capability book flight andamp; hotel - both behavior interfaces given ('static') correct andamp; complete consumption of VTA =andgt; existence of a valid choreography? - VTA Orchestration andamp; Behavior Interfaces of aggregated WS given =andgt; existence of a valid choreography between VTA and each aggregated WS? Choreography Discovery as a central reasoning task in Service Interfaces ‘choreographies’ do not have to be described, only existence determination =andgt; choreography discovery algorithm andamp; support from WSMO model

WSMO Service Interface Description Model: 

WSMO Service Interface Description Model common formal model for Service Interface description ontologies as data model based on ASMs not restricted to any executable communication technology general structure: Vocabulary Ω: ontology schema(s) used in service interface description usage for information interchange: in, out, shared, controlled States ω(Ω): a stable status in the information space defined by attribute values of ontology instances Guarded Transition GT(ω): state transition general structure: if (condition) then (action) different for Choreography and Orchestration additional constructs: add, delete, update

Service Interface Example: 

Service Interface Example Behavior Interface of a Web Service a memberOf A [ att1 hasValue x att2 hasValue y] a memberOf A [ att1 hasValue x, att2 hasValue y] b memberOf B [ att2 hasValue m] IF (a memberOf A [ att1 hasValue x ]) THEN (b memberOf B [ att2 hasValue m ]) State ω1 Guarded Transition GT(ω1) State ω2 Vocabulary: - Concept A in Ωin - Concept B in Ωout received ontology instance a sent ontology instance b Ωin hasValues { concept A [ att1 ofType X att2 ofType Y] …} Ωout hasValues { concept B [ att1 ofType W att2 ofType Z] …}

Choreography Discovery: 

internal business logic of Web Service (not of interest in Service Interface Description) Choreography Discovery internal business logic of Web Service (not of interest in Service Interface Description) a valid choreography exists if: 1) Information Compatibility compatible vocabulary homogeneous ontologies 2) Communication Compatibility start state for interaction a termination state can be reached without any additional input

Information Compatibility: 

Information Compatibility If choreography participants have compatible vocabulary definitions: Ωin(S1) and Ωshared(S1) = Ωout(S2) and Ωshared(S2) determinable by Intersection Match from Discovery SIS1, SIS2, O, M ╞ x. (ΩS1(in U shared)(x)  ΩS2(out U shared)(x)) more complex for multi-party choreographies Prerequisite: choreography participants use homogeneous ontologies: semanticInteroperability(S1, S2, …, Sn) same ontologies in Service Interfaces, or usage of respective OO Mediators

Communication Compatibility : 

Communication Compatibility Definitions (for 'binary choreography' (only 2 services), more complex for multi-party choreographies) Valid Choreography State: ωx(C(S1, S2)) if informationCompatibility (ΩS1(ωx), ΩS2(ωx)) means: action in GT of S1 for reaching state ωx(S1) satisfies condition in GT of S2 for reaching state ωx(S2), or vice versa Start State: ωØ(C(S1, S2)) if ΩS1(ωØ)=Ø and ΩS2(ωØ)=Ø and  ω1(C(S1, S2)) means: if initial states for choreography participants given (empty ontology, i.e. no information interchange has happened), and there is a valid choreography state for commencing the interaction Termination State: ωT(C(S1, S2)) if ΩS1(ωT)=noAction and ΩS2(ωT)=noAction and  ωT(C(S1, S2)) means: there exist termination states for choreography participants (no action for transition to next state), and this is reachable by a sequence of valid choreography states Communication Compatibility given if there exists a start state and a termination state is reachable without additional input by a sequence of valid choreography states

Communication Compatibility Example: 

Communication Compatibility Example ΩS1(ωØ) = {Ø} ΩS1(ω1) = {request(out)} ΩS1(ω2a) = {offer(in), changeReq(out)} if Ø then request ΩS2(ωØ) = {Ø} ΩS2(ω1) = {request(in), offer(out)} if request then offer if cnd1(offer) then changeReq ΩS1(ω2b) = {offer(in), order(out)} if cnd2(offer) then order ΩS2(ω2a) = {changeReq(in),offer(out)} if changeReq then offer ΩS2(ω2b) = {order(in), conf(out)} if order then conf ΩS1(ω3) = {offer(in), conf(in)} if conf then Ø James’ Goal Behavior Interface VTA Behavior Interface

WW Mediators in Choreography: 

internal business logic of Web Service (not of interest in Service Interface Description) internal business logic of Web Service (not of interest in Service Interface Description) WW Mediators in Choreography if a choreography does not exist, then find an appropriate WW Mediator that resolves possible mismatches to establish Information Compatibility (OO Mediator usage) resolves process / protocol level mismatches in to establish Communication Compatibility Choreography WW Mediator

Orchestration: 

Orchestration formally described service functionality decomposition only those aspects of WS realization wherefore other WS are aggregated aggregated WS used via their behavior interface Control Structure for aggregation of other Web Services Web Service Business Logic 1 2 3 4

Orchestration Description & Validation : 

Orchestration Description andamp; Validation Orchestration Description: interaction behavior of 'Orchestrator' with 'orchestrated Web Services' WSMO Service Interface description model, extension of Guarded Transitions general structure: if condition then operation Operation = (Orchestrator, Web Service, Action) Orchestrator serves as client for aggregated Web Services Orchestration Validation: need to ensure that interactions with aggregated Web Service can be executed successfully =andgt; Choreography Discovery for all interaction of Orchestrator with each aggregated Web Service

Orchestration Validation Example: 

Orchestration Validation Example if Ø then (FWS, flightRequest) if request then offer if order then confirmation VTA Web Service Orchestration Start (VTA, FWS) Termination (VTA, FWS) if flightOffer then (HWS, hotelRequest) if selection then (FWS, flightBookingOrder) if selection, flightBookingConf then (HWS, hotelBookingOrder) Flight WS Behavior Interface if request then offer if order then confirmation Hotel WS Behavior Interface Start (VTA, HWS) Termination (VTA, HWS) Orchestration is valid if valid choreography exists for interactions between Orchestrator and each aggregated Web Service, done by choreography discovery

Service Composition and Orchestration: 

Service Composition and Orchestration Web Service Composition: the realization of a Web Service by dynamically composing the functionalities of other Web Services The new service is the composite service The invoked services are the component services a composite service can provide the skeleton for a Web Service (e.g. the VTA Web Service) Current Composition techniques only cover aspects for valid orchestrations partially functional Web Service composition (on capability descriptions) dynamic control and data flow construction for composite Web Service delegation of client / goal behavior to component services =andgt; Orchestration Validation needed to ensure executable Web Service aggregations

Composition System Overview(from Berardi, ESWC 2005 Semantic Web Services Tutorial) : 

Composition System Overview (from Berardi, ESWC 2005 Semantic Web Services Tutorial)

Conclusions: 

Conclusions Semantic Web Service descriptions require expertise in ontology andamp; logical modeling =andgt; tool support for users andamp; developers under development understanding of Semantic Web Service technologies what it does, and how it works which are the related descriptive information Semantic Web Service technologies aim at automation of the Web Service usage process users only define goal with tool support ‘intelligent’ SWS middleware for automated Web Service usage state of the art in technology andamp; tool development theoretical approaches are converging; standardization efforts prototypical SWS technologies existent industrial strength SWS technology suites aspired in upcoming efforts

Slide89: 

PART IV: The Web Service Execution Environment WSMX Aims andamp; Design Principles WSMX Development Process and Releases Components and System Architecture Components Event-based Implementation System Entry Points Execution Semantics

WSMX Introduction: 

WSMX Introduction Software framework for runtime binding of service requesters and service providers WSMX interprets service requester’s goal to discover matching services select (if desired) the service that best fits provide data mediation (if required) make the service invocation is based on the conceptual model provided by WSMO has formal execution semantics SO and event-based architecture based on microkernel design using technologies as J2EE, Hibernate, Spring, JMX, etc.

Design Principles: 

Design Principles Strong Decoupling andamp; Strong Mediation autonomous components with mediators for interoperability Interface vs. Implementation distinguish interface (= description) from implementation (=program) Peer to Peer interaction between equal partners (in terms of control) WSMO Design Principles == WSMX Design Principles == SOA Design Principles

WSMX Usage Scenario: 

WSMX Usage Scenario

Development Process & Releases: 

Development Process andamp; Releases The development process for WSMX includes: Establishing its conceptual model Defining its execution semantics Develop the architecture Design the software Building a working implementation Planned releases:

Components & System Architecture: 

Components andamp; System Architecture

Selected Components: 

Selected Components Adapters Parser Invoker Choreography andamp; Process Mediator Matchmaker Data Mediator Resource Manager

Adapters: 

Adapters to overcome data representation mismatches on the communication layer transforms the format of a received message into WSML compliant format based on mapping rules

Parser: 

Parser WSML 1.0 compliant parser Code handed over to wsmo4j initiative Validates WSML description files Compiles WSML description into internal memory model Stores WSML description persistently (using Resource Manager)

Invoker: 

Invoker WSMX V0.1 used the SOAP implementation from Apache AXIS Web Service interfaces were provided to WSMX as WSDL Both RPC and Document style invocations possible Input parameters for the Web Services were translated from WSML to XML using an additional XML Converter component. Network Invoker Apache AXIS XML Converter Mediated WSML Data XML Web Service SOAP

Choreography & Process Mediator: 

Choreography andamp; Process Mediator requester and provider have their own communication patterns only if the two match precisely, a direct communication may take place at design time equivalences between the choreographies’ conceptual descriptions is determined and stored as set of rules Choreography Engine andamp; Process Mediator provides the means for runtime analyses of two choreography instances and uses mediators to compensate possible mismatches

Matchmaker: 

Matchmaker responsible for finding appropriate Web Services to achieve a goal (discovery) currently the built-in matchmaking is performed by simple string-based matching; advanced semantic discoverers in prototypical stage

OOMediator: 

OOMediator Ontology-to-ontology mediation A set of mapping rules are defined and then executed Initially rules are defined semi-automatic Create for each source instance the target instance(s)

Resource Manager: 

Resource Manager Stores internal memory model to a data store Decouples storage mechanism from the rest of WSMX Data model is compliant to WSMO API Independent of any specific data store implementation i.e. database and storage mechanism

Event-based Implementation: 

Event-based Implementation

System entry points: 

System entry points storeEntity(WSMOEntity):Confirmation provides an administration interface for storing any WSMO-related entities (Web Services, Goals, Ontologies) realizeGoal(Goal, OntologyInstance):Confirmation service requester expects WSMX to discover and invoke Web Service without exchanging additional messages receiveGoal(Goal, OntologyInstance, Preferences):WebService[] list of Web Services is created for given Goal requester can specify the number of Web Services to be returned receiveMessage(OntologyInstance,WebServiceID, ChoreographyID):ChoreographyID back-and-forth conversation to provide all necessary data for invocation involves execution of choreographies and process mediation between service interfaces

System Entry Points: 

System Entry Points

Execution Semantics: 

Execution Semantics Request to discover Web services.

Execution Semantics: 

Goal expressed in WSML is sent to WSMX System Interface Execution Semantics

Execution Semantics: 

Com. M. implements the interface to receive WSML goals Execution Semantics

Execution Semantics: 

Com. M. informs Core that Goal has been received Execution Semantics

Execution Semantics: 

Chor. wrapper picks up event for Chor. component Execution Semantics

Execution Semantics: 

New choreography Instance is created Execution Semantics

Execution Semantics: 

Core is notified that choreography instance has been created. Execution Semantics

Execution Semantics: 

WSML goal is parsed to internal format. Execution Semantics

Execution Semantics: 

Discovery is invoked for parsed goal. Execution Semantics

Execution Semantics: 

Discovery may requires ontology mediation. Execution Semantics

Execution Semantics: 

After data mediation, Discovery iterates, if needed through last steps until result set is finished. Execution Semantics

Execution Semantics: 

Selection is invoked to relax result set to finally one service. Execution Semantics

Execution Semantics: 

Choreography instance for goal requester is checked for next steps. Execution Semantics

Execution Semantics: 

Result is returned to Com. Man. to be forwarded to the service requester. Execution Semantics

Execution Semantics: 

Set of Web Service descriptions expressed in WSML sent to adapter. Execution Semantics

Execution Semantics: 

Set of Web Service descriptions expressed in requester’s own format returned to goal requester. Execution Semantics

Conclusions: 

Conclusions Conceptual model is WSMO (with some add-ons) End to end functionality for executing SWS Has a formal execution semantics Real implementation Open source code base at SourceForge Event-driven component architecture Developers welcome

WSMX @ Sourceforge.net: 

WSMX @ Sourceforge.net

Slide124: 

Closing, Outlook, Acknowledgements

Tutorial Wrap-up: 

Tutorial Wrap-up The targets of the presented tutorial were to: understand aims andamp; challenges within Semantic Web Services understand Semantic Web Service Frameworks: aims, design principles, and paradigms ontology elements andamp; description an overview of Semantic Web Service techniques: element description discovery choreography and service interoperability determination orchestration and composition present WSMX a future Web Service based IT middleware design and architecture components design =andgt; you should now be able to correctly assess emerging technologies andamp; products for Semantic Web Services and utilize these for your future work

Beyond WSMO: 

Beyond WSMO Although WSMO (and OWL-S) are the main initiatives on Semantic Web services, they are not the only ones: Semantic Web Services Interest Group Interest group founded at W3C to discuss issues related to Semantic Web Services (http://www.w3.org/2002/ws/swsig/) Standardization Working Group in starting phase SWSI: International initiative to push toward a standardization of SWS (http://www.swsi.org) Semantic Web services are entering the main stream UDDI is adopting OWL for semantic search WSDL 2 will contain a mapping to RDF The use of semantics is also discussed in the context of standards for WS Policies

Acknowledgements: 

Acknowledgements The WSMO work is funded by the European Commission under the projects DIP, Knowledge Web, SEKT, SWWS, AKT and Esperonto; by Science Foundation Ireland under the DERI-Lion project; and by the Vienna city government under the CoOperate program. We would like to thank to all the members of the WSMO, WSML, and WSMX working groups for their advice and input into this tutorial.

authorStream Live Help