semantic web services tutorial - open...

220
Semantic Web Services Tutorial Michael Stollberg 1 , Matt Moran 2 , John Domingue 3 , and Liliana Cabral 3 5th International Conference on Web Engineering (ICWE 2005) Sydney, Australia, 2005 July 25 1 DERI, Innsbruck, Austria 2 DERI, Galway, Ireland 3 Knowledge Media Institute, The Open University, UK

Upload: others

Post on 22-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

Semantic Web Services Tutorial

Michael Stollberg1, Matt Moran2, John Domingue3, and Liliana Cabral3

5th International Conference on Web Engineering (ICWE 2005)Sydney, Australia, 2005 July 25

1DERI, Innsbruck, Austria2DERI, Galway, Ireland

3Knowledge Media Institute, The Open University, UK

Page 2: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

2

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

AgendaPart 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 & Design Principles – Top Level Element Definitions

BREAKPart III: A Walkthru Example

– Virtual Travel Agency Example – Roles, Elements, Semantic Web Service technology usage

LUNCH Part IV: The Web Service Execution Environment WSMX

– Aims & Design Principles – Architecture & Components

BREAKPart V: Hands-On Session with IRS III

– IRS III introduction – Hands-on Session (explanation, hands-on)

Page 3: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

3

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 4: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

4

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Static

– 500 million users – more than 3 billion pages

WWWURI, HTML, HTTP

The Vision

Page 5: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

5

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WWWURI, HTML, HTTP

Serious Problems in• information finding,• information extracting,• information representing,• information interpreting and• and information maintaining.

Semantic WebRDF, RDF(S), OWLStatic

The Vision

Page 6: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

6

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WWWURI, HTML, HTTP

Bringing the computer back as a device for computation

Semantic WebRDF, RDF(S), OWL

Dynamic Web ServicesUDDI, WSDL, SOAP

Static

The Vision

Syntactic Semantic

Page 7: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

7

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WWWURI, HTML, HTTP

Bringing the web to its full potential

Semantic WebRDF, RDF(S), OWL

Dynamic Web ServicesUDDI, WSDL, SOAP

Static

Semantic WebServices

The Vision

Syntactic Semantic

Page 8: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

8

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 9: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

9

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 10: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

10

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Ontology Example

Concept conceptual entity of the domain

Propertyattribte describing a concept

Relationrelationship 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. researchfield

topiclecturenr.

attends holds

holds(Professor, Lecture) =>Lecture.topic = Professor.researchField

Page 11: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

11

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Ontology TechnologyTo make the Semantic Web working we need:

• Ontology Languages:– expressivity – reasoning support – web compliance

• Ontology Reasoning: – large scale knowledge handling – fault-tolerant – stable & 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

Page 12: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

12

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 13: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

13

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 14: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

14

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSDL • Web Service Description Language • W3C effort, WSDL 2 final construction phase

describes interface for consuming a Web Service:- Interface: operations (in- & output) - Access (protocol binding) - Endpoint (location of service)

Page 15: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

15

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

UDDI• Universal Description, Discovery, and Integration Protocol • OASIS driven standardization effort

Registry for Web Services:- provider - service information- technical access

Page 16: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

16

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

SOAP• Simple Object Access Protocol • W3C Recommendation

XML data transport:- sender / receiver- protocol binding- communication aspects- content

Page 17: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

17

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Deficiencies of WS Technology• current technologies allow usage of Web Services• but:

– only syntactical information descriptions – syntactic support for discovery, composition and execution=> Web Service usability, 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

Page 18: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

18

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Semantic Web Technology

+

Web Service Technology

Semantic Web Services

=> 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

Page 19: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

19

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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)

Page 20: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

20

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Semantic Web ServicesUsage Process:• Publication: Make the description of a Web service

available on the Web • Discovery: Detect suitable services for a solving given task • Selection: Choose the most appropriate services among

the usable ones • Composition: Combine services to achieve a goal• Mediation: Solve mismatches (data, protocol, process)

among the elements that shall interoperate • Execution: Invoke services according to consumption

interface and programmatic conventions

Page 21: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

21

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Semantic Web ServicesExecution 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

Page 22: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

22

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

PART II:

The Web Service Modeling Ontology WSMO

• Aims & Working Groups• Design Principles • Top Level Notions

– Ontologies – Web Services– Goals– Mediators

• Comparison to OWL-S

Page 23: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

23

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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)

Page 24: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

24

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMO Working Groups

A Conceptual Model for SWS

A Formal Language for WSMO

A Rule-based Language for SWS

Execution Environment for WSMO

Page 25: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

25

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

WSMO Design Principles

Page 26: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

26

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMO Top Level NotionsObjectives that a client wants toachieve by using Web Services

Provide the formally specified terminologyof 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)

Page 27: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

27

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Non-Functional Propertiesevery 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, etc.

Page 28: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

28

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Non-Functional Properties ListDublin Core Metadata

Contributor Coverage Creator Description Format Identifier Language Publisher Relation Rights Source Subject Title Type

Quality of Service Accuracy NetworkRelatedQoSPerformanceReliability RobustnessScalability Security Transactional Trust

Other Financial Owner TypeOfMatchVersion

Page 29: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

29

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMO Ontologies

Provide the formally specified terminologyof 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 toachieve by using Web Services

Page 30: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

30

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

• 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 & 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 & Principles

Page 31: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

31

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

• 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 conceptRelations define interrelations between several conceptsFunctions 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

Page 32: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

32

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMO Web Services

Provide the formally specified terminologyof 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 toachieve by using Web Services

Page 33: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

33

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMO Web Service Description

Web ServiceImplementation(not of interest in Web Service Description)

Choreography --- Service Interfaces ---

Capability

functional description

WS

WS

- 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 - interaction with

aggregated WS

Non-functional Properties

DC + QoS + Version + financial

- complete item description- quality aspects - Web Service Management

WS

Orchestration

Page 34: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

34

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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 (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)

Page 35: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

35

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Choreography & 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

VTAService

Date

Time

Flight, Hotel

Error

Confirmation

Hotel Service

Flight Service

Date, Time

Hotel

Error

Date, Time

Flight

Error

When the service isrequested

When the service requests

Page 36: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

36

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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 (conversation validation)– allow mediation support on Web Service interfaces

Interface for consuming Web Service

Page 37: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

37

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Orchestration Aspects

- decomposition of service functionality

- interaction with aggregated Web Services

- all service interaction via choreographies

Control Structure for aggregation of other Web Services

WS

Web S

ervice Business Logic

1

2

3

4

WS

State in Orchestration

Control Flow

Data Flow

Service Interaction

Page 38: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

38

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMO Web Service Interfaces• service interfaces are concerned with service consumption

and interaction • Choreography and Orchestration as sub-elements of Web

Service Interface • common requirements for service interface description:

1. represent the dynamics of information interchange during serviceconsumption and interaction

2. support ontologies as the underlying data model 3. appropriate communication technology for information interchange4. sound formal model / semantics of service interface specifications in

order to allow operations on them.

Page 39: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

39

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Service Interface Description Approach• 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 & 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

Page 40: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

40

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 41: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

41

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Service Interface Example

Ωin hasValues concept A [att1 ofType Xatt2 ofType Y]

a memberOf A [att1 hasValue xatt2 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 Watt2 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

Page 42: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

42

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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 & 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 - „choreography interface“ describes the behavior of aWeb Service for client-service interaction for consuming its functionality

Orchestration:- how Web Service interacts as a requester with other Web Services that it aggregates for achieving its functionality

- extends Choreography descriptions by extended action definitions in Guarded Transitions.

Grounding:- making service interfaces executable - currently grounding to WSDL

Conceptual models

User language- based on UML2 activity diagrams - graphical Tool for Editing & Browsing Service Interface Description

Page 43: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

43

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMO Goals

Provide the formally specified terminologyof 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 toachieve by using Web Services

Page 44: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

44

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Goals• Ontological De-coupling of Requester and Provider

• Goal-driven Architetcure: - requester formulates objective independently - ‘intelligent’ mechanisms detect suitable services for solving the Goal- allows re-use of Services for different purposes

• Derived from different AI-approaches for intelligent systems– Intelligent Agents (BDI Architectures) – Problem Solving Methods

• Requests may in principle not be satisfiable

• Ontological relationships & mediators used to link goals to web services

• Goal Resolution Process open to implementations

Page 45: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

45

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 46: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

46

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMO Mediators

Provide the formally specified terminologyof 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 toachieve by using Web Services

Page 47: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

47

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Mediation • Heterogeneity …

– Mismatches on structural / semantic / conceptual / level – Occur between different components that shall interoperate– Especially in distributed & open environments like the Internet

• Concept of Mediation: – 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):(1) Data Level: mediate heterogeneous Data Sources (2) Protocol Level: mediate heterogeneous Communication Patterns (3) Process Level: mediate heterogeneous Business Processes

Page 48: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

48

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMO Mediators Overview

Page 49: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

49

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Mediator StructureWSMO Mediator

uses a Mediation Service via

Source Component

Source Component

TargetComponent1 .. n

1

Mediation Services

- as a Goal - directly- optionally incl. Mediation

Page 50: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

50

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

OO Mediator - Example

OO MediatorMediation Service

Train ConnectionOntology (s1)

Purchase Ontology (s2)

Train Ticket Purchase Ontology

Mediation Services

Goal:“merge s1, s2 and s1.ticket subclassof s2.product”

Discovery

Merging 2 ontologies

Page 51: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

51

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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 MediatorMediation Service

Source Goal“Buy a ticket”

Target Goal “Buy a Train Ticket”

postcondition: “aTicket memberof trainticket”

Page 52: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

52

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WG & 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

Page 53: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

53

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 54: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

54

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 55: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

55

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 56: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

56

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 57: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

57

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

• 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

Page 58: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

58

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 59: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

59

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 60: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

60

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

OWL and WSML

• WSML aims at overcoming deficiencies of OWL• Relation between WSML and OWL+SWRL to be defined

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

Page 61: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

61

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Summary

-Mediators-MediationHeterogeneity handling

Grounding(WSDL / SOAP, ontology-based)

Service Interfaces (Choreography +

Orchestration)

Goals and Web Services

(capability)

WSMO

WSDL / SOAPGrounding+ WSDL/SOAP

InvocationHow to invoke

BPEL4WS / WS-CDL Process Model

Consumption & Interaction

How to consume & aggregate

UDDI APIProfileDiscoverydetection of suitable WS

current Web Service technologiesOWL-S

Page 62: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

62

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

PART III:

A Walkthrough Example

• Virtual Travel Agency Use Case Overview

• Semantic Web Services Modeling

• Discovery

• Conversation Validation

• Mediation

Page 63: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

63

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Virtual Travel Agency Use Case• James is employed in DERI Austria and wants to book a flight and a hotel for

the ICWE conference • the start-up company VTA provides tourism and business travel services based

on Semantic Web Service technology

=> how does the interplay of James, VTA, and other Web Services look like?

James

Flight Booking

Hotel Booking

uses & aggregates

Service Provider

Service Provider

provides

Contract

Contract

VTA

Page 64: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

64

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Domain Ontologies• All terminology that we use in resource descriptions need

to be based on ontologies; also, all information interchanged should be ontology instances

• Modular ontology design– an ontology should define terminology of a domain – an ontology should be shared & agreed in a community – modular ontologies are combined in specific

• Domain Ontologies needed for this Use Case: – Trip Reservation Ontology – Location Ontology – Date and Time Ontology – Purchase Ontology – … possibly more

Page 65: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

65

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Trip Reservation Ontology• defines the terminology for trips (traveling, accomodation, holiday /

business travel facilities) and reservations • provided by community of interest (e.g. Austrian Tourism Association)

• main concepts: – TRIP

• describes a trip (a journey between locations) • passenger, origin & destination, means of travel, etc.

– RESERVATION • describes reservations for tickets, accomodation, or complete trips • customer, trip, price, payment

– RESERVATION REQUEST – RESERVATION OFFER– RESERVATION CONFIRMATION

• uses other ontologies: – Location Ontology for origin & destination specification – Date and Time Ontology for departure, arrival, duration information – Purchase Ontology for payment related aspects

Page 66: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

66

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Trip Reservation Ontologynamespace _"http://www.wsmo.org/ontologies/tripReservationOntology", dc _"http://purl.org/dc/elements/1.1#", xsd _"http://www.w3.org/2001/XMLSchema#", loc _“http://www.daml.org/2003/09/factbook/factbook-ont#", dt _"http://www.wsmo.org/ontologies/dateandtime.wsml#",po _"http://www.wsmo.org/ontologies/purchase.wsml#"

ontology _"http://www.wsmo.org/ontologies/tripReservationOntology#"

nonFunctionalPropertiesdc#title hasValue "Trip Reservation Ontology" dc#creator hasValue _”http://www.deri.org”dc#description hasValue “domain ontology for travel and accomodation reservation" dc#publisher hasValue “Austrian Toursim Association" version hasValue "$Revision 1.17 $" endNonFunctionalProperties

importsOntology _"http://www.wsmo.org/ontologies/dateandtime.wsml", _"http://www.wsmo.org/ontologies/purchase.wsml“

usesMediator _"http://www.wsmo.org/mediators/owl2wsml.wsml“

Page 67: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

67

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Trip Reservation Ontologyconcept trippassenger impliesType po#personorigin impliesType loc#locationdestination impliesType loc#locationdepartureDate ofType dt#dateandtimereturnDate ofType dt#dateandtimemeansOfTransport impliesType meansOfTransportaccomodation impliesType accomodation

concept reservation nonFunctionalPropertiesdc#description hasValue "reservations for tickets, accomodation, or complete trips“dc#relation hasValue reservationItemDef

endNonFunctionalPropertiescustomer impliesType po#customerreservationItem impliesType wsml#trueprice impliesType po#pricepayment impliesType po#paymentaxiom reservationItemDefdefinedByforall?x, ?y (?x memberOf reservation[reservationItem hasValue ?y] impliedBy

(?y memberOf ticket) or (?y memberOf accomodation) or (?y memberOf trip) ).

Page 68: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

68

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Ontology Modelling Remarks• Ontology Design for the Semantic Web

– “real ontologies, no crappy data models” (Dieter Fensel) – (re-)use existing, widely accepted ontologies

• Ontology Design is a very difficult and challenging tasks – determine agreed conceptualization of domain – correct formalization (e.g. misuse of is_a / part_of relations) => requires expertise in knowledge engineering

• Ontology Engineering Methodologies & Technology Support essential – editing, browsing, maintenance – storage and retrieval – ontology evolution support – ontology integration techniques

Page 69: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

69

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Goal Description• “book flight and hotel for the ICWE 2005 for James”• goal capability postcondition: get a trip reservation for this

goal _"http://www.wsmo.org/examples/goals/icwe2005"importsOntology _"http://www.wsmo.org/ontologies/tripReservationOntology", …capability

postconditiondefinedBy

?tripReservation memberOf tr#reservation[customer hasValue fof#james,reservationItem hasValue ?tripICWE] and

?tripICWE memberOf tr#trip[passenger hasValue fof#james,origin hasValue loc#innsbruck,destination hasValue loc#sydney,meansOfTransport hasValue ?flight,accomodation hasValue ?hotel] and

?flight[airline hasValue tr#staralliance] memberOf tr#flight and?hotel[name hasValue “Capitol Square Hotel”] memberOf tr#hotel .

Page 70: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

70

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

VTA Service Description• book tickets, hotels, amenities, etc. • capability description (pre-state)

capability VTAcapabilitysharedVariables ?creditCard, ?initialBalance, ?item, ?passengerpreconditiondefinedBy?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 .

assumptiondefinedBypo#validCreditCard(?creditCard) and(?creditCard[type hasValue po#visa] or ?creditCard[type hasValue po#mastercard]).

Page 71: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

71

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

VTA Service Description• capability description (post-state)

postconditiondefinedBy

?reservation[reservationItem hasValue ?item,customer hasValue ?passenger,payment hasValue ?creditcard

] memberOf tr#reservation .

assumptiondefinedByreservationPrice(?reservation, "euro", ?tripPrice) and?finalBalance= (?initialBalance - ?ticketPrice) and?creditCard[po#balance hasValue ?finalBalance] .

Page 72: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

72

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Web Service Discovery

James Objective: „book a flight and a hotel for me for the ICWE 2005.“

Service Registry WS Discoverer

has

searchesVTA

result set includes

Goal definition

Page 73: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

73

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Semantic Web Service Discoveryfind 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

Page 74: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

74

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Discovery Techniques • different techniques available

– trade-off: ease-of-provision <-> accuracy – resource descriptions & matchmaking algorithms

Key Word Matching match natural language key words in resource descriptions

Controlled Vocabularyontology-based key word matching

Semantic Matchmaking … what Semantic Web Services aim at

Ease

of provision

Possible

Accuracy

Page 75: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

75

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Semantic Web Services in UDDI • Mapping semantic

resource descriptions into UDDI

• OWL-S Service Profile mapping to UDDI

• WSMO elements to UDDI mapping (for all top level elements)

⇒ mapping semantic descriptions to syntactic repository

⇒ allows retrieval of structural information

Page 76: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

76

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Controlled Vocabulary

WSMO non-functional properties • Ontology keywords in non-functional properties

– dc#subject contains main ontology concepts related to Web Service

– allows pre-filtering similar to OWL-S Profile Hierarchy, but on basis on ontologies (“controlled vocabulary”)

• Example– a Web Service for selling train tickets in Austria

dc#subject hasValue _tc#trainticket, po#purchase, loc#austria

– does not precisely describe Web Service functionality => accuracy of discovery result meager

Lara, R., Lausen, H.; Toma, I.: (Eds): WSMX Discovery. WSMX Working Draft D10 v0.2, 07 March 2005.

Page 77: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

77

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Controlled Vocabulary

OWL-S Profile Hierarchies• hierarchy of Web Services

– functional similarities (domain, in- / outputs) – allows pre-filtering of services on basis of categorization

Web Services

E-commerce

Book Selling

Airline Ticketing

Ticketing

Event Ticketing

Information

Web SearchWeather

http://www.daml.org/services/owl-s/1.0/ProfileHierarchy.owl

Page 78: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

78

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Matchmaking Notions & IntentionsExact Match:

G, WS, O, M ∀x. (G(x) <=> WS(x) )

PlugIn Match: G, WS, O, M ∀x. (G(x) => WS(x) )

Subsumption Match: G, WS, O, M ∀x. (G(x) <= 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

X

Keller, U.; Lara, R.; Polleres, A. (Eds): WSMO Web Service Discovery. WSML Working Draft D5.1, 12 Nov 2004.

Page 79: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

79

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

yesno

abortyes

no

Match

Page 80: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

80

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Discoverer Architecture• Discovery as central Semantic Web Services technology

• Integrated Discoverer Architectures (under construction):

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 ServiceDescriptions

invoke Web Service

Page 81: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

81

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Service Interfaces

Choreography Interface: how entity can interact

Requested Interface1) send request2) select from offer3) receive confirmation

Goal

defines

VTA

VTA WS ‘Trip Booking’

Capability

Interface (Chor.)1) get request2) provide offer 3) receive selection4) send confirmation

Interface (Orch.)1) flight request2) hotel request 3) book flight4) book hotel

Flight WS

Capability

Interface (Chor.)1) get request2) provide offer 3) receive selection4) send confirmation

Orch...

Hotel WS

Capability

Interface (Chor.)1) get request2) provide offer 3) receive selection4) send confirmation

Orch...

provides

Requested Capabilitybook flight & hotel

Choreography: interaction between entitiesOrchestration: service aggregation for

realizing functionality

Page 82: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

82

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

VTA Service Description• Choreography Interface • transition “get request” to “provide offer”

choreography VTABehaviorInterfaceimportsOntology _"http://www.wsmo.org/ontologies/tripReservationOntology“vocabularyIn reservationRequest, …vocabularyOut reservationOffer, …guardedTransitions VTABehaviorInterfaceTransitionRulesif (reservationRequest memberOf tr#reservationRequest[

customer hasValue ?Customer, reservationItem hasValue ?Trip] and ?Trip memberOf tr#trip[

passenger hasValue ?Passenger, origin hasValue ?LocationInAustria] and

?LocationInAustria memberOf loc#location[ inCountry hasValue loc#austria]

then reservationOffer memberOf tr#reservationOffer[ customer hasValue ?Customer, reservationItem hasValue ?Trip ] .

Page 83: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

83

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Choreography Discovery

Requested Interface1) send request2) select from offer3) receive confirmation

Goal

defines

VTA

VTA WS ‘Trip Booking’

Capability

Interface (Chor.)1) get request2) provide offer 3) receive selection4) send confirmation

Interface (Orch.)1) flight request2) hotel request 3) book flight4) book hotel

Flight WS

Capability

Interface (Chor.)1) get request2) provide offer 3) receive selection4) send confirmation

Orch...

Hotel WS

Capability

Interface (Chor.)1) get request2) provide offer 3) receive selection4) send confirmation

Orch...

provides

Requested Capabilitybook flight & hotel

- both choreography interfaces given (“static”)- correct & complete consumption of VTA => existence of a valid choreography?

- VTA Orchestration & Chor. Interfaces of aggregated WS given

=> 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

Page 84: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

84

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 85: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

85

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

defined

evolving ontology instance store

Service Interface ExampleChoreography Interface of a Web Service

a memberOf A [att1 hasValue xatt2 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 Xatt2 ofType Y]

Ωout hasValues concept B [att1 ofType Watt2 ofType Z]

Page 86: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

86

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 87: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

87

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Information CompatibilityIf choreography participants have compatible vocabulary definitions:

– Ωin(S1) and Ωshared(S1) = Ωout(S2) and Ωshared(S2) – determinable by Intersection Match from DiscoverySIS1, 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) – usage of same ontologies in Service Interfaces or

respective OO Mediators

Page 88: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

88

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 89: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

89

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Start

ω2(C)

ω1(C)

ω3(C)

ω4(C)

Termination

existence of a valid Choreography

Page 90: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

90

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Orchestration

- formally described service functionality decomposition

- only those aspects of WS realization wherefore other WS are aggregated

- aggregated WS used via their behavior interface

Interaction with aggregated Web Services + Control Structure

WS

Web S

ervice Business Logic

1

2

3

4

WS

State in Orchestration

Control Flow

Data Flow

Web Service Usage

Page 91: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

91

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Orchestration Description & Validation • Orchestration Description:

– interaction behavior of “Orchestrator” with “orchestrated Web Services”

– formal description as Choreography, extended Guarded Transitions– Orchestration Guarded Transitions general structure:

if condition then operationOperation = (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 => Choreography Discovery for all interaction of

Orchestrator with each aggregated Web Service

Page 92: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

92

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Orchestration Validation Example

if Ø then (FWS, flightRequest) if request then offerif order then confirmation

VTA Web Service Orchestration

Start (VTA, FWS)

Termination (VTA, FWS)

if flightOfferthen (HWS, hotelRequest)

if selection then (FWS, flightBookingOrder)

if selection, flightBookingConfthen (HWS, hotelBookingOrder)

Flight WS Behavior Interface

if request then offerif order then confirmation

Hotel WS Behavior InterfaceStart (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

Page 93: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

93

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Composition and Orchestration

functionalrequirementsof the compositeservice

non-functionalrequirementsof compositeservice

CompositionSynthesis

availableservice 1non-

functionalfeatures

functionalfeatures

servicedescriptions

availableservice 1service 1

non-functionalfeatures

functionalfeatures

servicedescriptions

… … …

specification of the process of the composite service

Composition

Orchestration

componentserviceinvocation

clientclient

compositeserviceinvocation

additionalrequirements fororchestration

availableservice nnon-

functionalfeatures

functionalfeatures

servicedescriptions

availableservice nservice n

non-functionalfeatures

functionalfeatures

servicedescriptions

Complex Goal

Page 94: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

94

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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 partially cover aspects for valid orchestrations:– 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

=> Orchestration Validation needed to ensure executabilityof Web Service aggregations

Page 95: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

95

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Mediation• Heterogeneity as inherent characteristic of (Semantic) Web:

– heterogeneous terminology– heterogeneous languages / formalisms – heterogeneous communication protocols and business processes

• WSMO identifies Mediators as top level element, i.e. central aspect of Semantic Web Services – levels of mediation: data, protocol, processes – WSMO Mediator types

• Approach: declarative, generic mismatch resolution – classification of possible & resolvable mismatches – mediation definition language & mediation patterns– execution environment for mappings

Page 96: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

96

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Data Level (OO) Mediation• Related Aspects / Techniques:

– Ontology Integration (Mapping, Merging, Alignment) – Data Lifting & Lowering– Transformation between Languages / Formalisms

• Data Level Mismatch Classification – Conceptualization Mismatches

• same domain concepts, but different conceptualization• different levels of abstraction • different ontological structure => resolution only incl. human intervention

– Explication Mismatches • mismatches between:

T (Term used) D (definition of concepts), C (real world concept)=> automated resolution partially possible

Page 97: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

97

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Ontology Mapping Language• Language Neutral Mapping Language

– mapping definitions on meta-layer (i.e. on generic ontological contructs) – independent of ontology specification langauge– “Grounding” to specific langauges for execution (WSML, OWL, F-Logic)

• Main Features: – Mapping Document (sources, mappings, mediation service) – direction of mapping (uni- / bidirectional) – mapping between Ontology Constructs:

• classMapping, attributeMapping, relationMapping (between similar constructs) • classAtrributeMapping, classRelationMapping, classInstanceMapping• instanceMapping (explicit ontology instance transformation)

– Conditions / logical expressions for data type mismatch handling, restriction of mapping validity, and complex mapping definitions

– Mapping operators: • =, <, <=, >, >=, and, or, not • inverse, symmetric, transitive, reflexive • join, split

Page 98: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

98

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Ontology O2

Mapping Language Example

Human - name

Adult Child

Person- name - age

1234 memberOf Person- name =James- age = 22

classMapping(unidirectional o2:Person o1.AdultattributeValueCondition(o2.Person.age >= 18))

this allows to transform the instance 1234 of ontology O2 into avalid instance of ‘adult’ in ontology O1

Ontology O1

Page 99: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

99

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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)

Protocol & Process Level Mediation

• 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

WW

Mediator

Page 100: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

100

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Process Mediation – Addressed Mismatches

Page 101: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

101

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Unsolvable Mismatches

Business Partner1

Business Partner2

APM?

Business Partner1

Business Partner2

APM?

BA B

Business Partner1

Business Partner2

PM?

AAck

Page 102: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

102

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

itinerary[origin, destination, date]

time

price

origin

destination

itinerary[origin, destination]

dateitinerary [route,date, time, price]

REQUEST

SERVICE

Processes Mediator

Process Mediation Example

Page 103: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

103

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

time

pricedate

REQUEST

SERVICE

Processes Mediator

Process Mediation Example

itinerary[origin, destination, date]

origin

destination

itinerary[origin, destination]

itinerary [route,date, time, price]

Page 104: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

104

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

time

pricedate

REQUEST

SERVICE

Processes Mediator

Process Mediation Example

itinerary[origin, destination, date]

origin

destination

itinerary[origin, destination]

itinerary [route,date, time, price]

Page 105: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

105

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

time

pricedate

REQUEST

SERVICE

Processes Mediator

itinerary[origin, destination, date]

origin

destination

itinerary[origin, destination]

itinerary [route,date, time, price]

Process Mediation Example

Page 106: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

106

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

time

pricedate

REQUEST

SERVICE

Processes Mediator

itinerary[origin, destination, date]

origin

destination

itinerary[origin, destination]

itinerary [route,date, time, price]

Process Mediation Example

Page 107: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

107

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Conclusions• Semantic Web Service descriptions require

– expertise in ontology & logical modeling => tool support for users & 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 & tool development – theoretical approaches are evolving & converging – prototypical SWS technologies existent – industrial strength SWS technology suites aspired in upcoming efforts

Page 108: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

108

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

PART IV:

The Web Service Execution Environment (WSMX)

• Introduction, background and motivation

• Structural architecture

• Dynamic behaviour

• Future plans

• Demos

Page 109: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

109

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Introduction, Background and Motivation

Page 110: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

110

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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 mediation (if required)– make the service invocation

• Is based on the conceptual model provided by WSMO• Has a formal execution semantics• SO and event-based architecture based on microkernel

design using technologies as J2EE, Hibernate, Spring, JMX, etc.

Page 111: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

111

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX Motivation• Provide middleware ‘glue’ for Semantic Web Services

– Allow service providers focus on their business• Provide a reference implementation for WSMO

– Eat our own cake• Provide an environment for goal based service

discovery and invocation– Run-time binding of service requester and provider

• Provide a flexible Service Oriented Architecture– Add, update, remove components at run-time as needed

• Keep open-source to encourage participation– Developers are free to use in their own code

• Define formal execution semantics– Unambiguous model of system behaviour

Page 112: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

112

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX Usage Scenario

Page 113: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

113

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX Usage Scenario - P2P• A P2P network of WSMX ‘nodes’• Each WSMX node described as a SWS• Communication via WSML over SOAP• Distributed discovery – first aim• Longer term aim - distributed execution

environment

Page 114: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

114

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX Usage Scenario - P2P

Page 115: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

115

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX Usage Scenario - P2P

Bas

eSe

rvic

esA

pplic

atio

n Se

rvic

esE

nd U

ser

Dev

elop

er

Ver

tical

Ser

vice

s

Page 116: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

116

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX Usage Scenario - P2P

Page 117: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

117

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Development Process & 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:

2005 2006

January 2005 (WSMX 0.1.6)

July 2005 (WSMX 0.2.0)current status of components

November 2005 (WSMX 0.3.0)

November 2004 (WSMX 0.1.5)

Page 118: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

118

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Structural Architecture

Page 119: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

119

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Design PrinciplesStrong Decoupling & Strong Mediationautonomous components with mediators for interoperability

Interface vs. Implementationdistinguish interface (= description) from implementation (=program)

Peer to Peerinteraction between equal partners (in terms of control)

WSMO Design Principles == WSMX Design Principles== SOA Design Principles

Page 120: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

120

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX Architecture

MessagingMessaging

Application ManagementApplication Management

Service Oriented

Architectures

Service Oriented

Architectures

Page 121: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

121

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Benefits of SOA• Better reuse

– Build new functionality (new execution semantics) on top of existing Business Services

• Well defined interfaces – Manage changes without affecting the Core System

• Easier Maintainability– Changes/Versions are not all-or-nothing

• Better Flexibility

Page 122: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

122

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Service Oriented State• The interface to the service is

implementation-independent• The service can be dynamically invoked

– Runtime binding• The service is self-contained

– Maintains its own state

Page 123: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

123

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Messaging• Messaging is peer-to-peer facility• Distributed communication

– Loosely coupled • Sender does not need to know receiver (and vice

versa)• Asynchronous mechanism to communicate between

software applications

Page 124: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

124

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Components & System Architecture

System

Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n...

Page 125: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

125

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Selected Components• Adapters• Parser• Invoker• Choreography • Process Mediator• Discovery• Data Mediator• Resource Manager

Page 126: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

126

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 127: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

127

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Parser• WSML compliant parser

– Code handed over to wsmo4j initiativehttp://wsmo4j.sourceforge.net/

• Validates WSML description files• Compiles WSML description into internal

memory model• Stores WSML description persistently

(using Resource Manager)

Page 128: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

128

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Communication Mgr – Invoker• WSMX uses

– The SOAP implementation from Apache AXIS – The Apache Web Service Invocation Framework (WSIF)

• WSMO service descriptions are grounded to WSDL• Both RPC and Document style invocations possible• Input parameters for the Web Services are translated

from WSML to XML using an additional XML Converter component.

Network

Invoker ApacheAXIS

XMLConverter

MediatedWSML Data

XML WebService

SOAP

Page 129: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

129

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Choreography• Requester and provider have their own

observable communication patterns– Choreography part of WSMO

• A choreography instance is loaded for each – Both requester and provider have their own WSMO

descriptions• The Choreography component examines a

service’s choreography to determine next step in communication

• The Choreography component raises events for the Invoker to make actual service invocations

Page 130: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

130

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

• The Process Mediator provides the means for runtime analyses of two choreography instances and uses mediators to compensate possible mismatches

Page 131: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

131

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Process Mediator

Business Partner1Business Partner1

Business Partner2Business Partner2

AB B

Business Partner1Business Partner1

Business Partner2Business Partner2

A BB A

Business Partner1Business Partner1

Business Partner2Business Partner2

A and BAB

Business Partner1Business Partner1

Business Partner2Business Partner2

AB

A and BPM

PM

PM

PM

Business Partner1Business Partner1

Business Partner2Business Partner2

AAckA

APM

Page 132: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

132

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Discovery• Responsible for finding appropriate Web

Services to achieve a goal (discovery)• Current discovery component is based on

simple matching• Advanced semantic discovery in

prototypical stage

Page 133: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

133

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Discovery

WS

Keyword

Leve

l of A

bstr

actio

n

Syntactic

Semantic („Light“)

Semantic („Heavy“)

Keyword-based with NaturalLanguage Processing (NLP)

Coarse grained Serviceand Goal descriptions

Fine grained Serviceand Goal descriptions

W1 … WL

Page 134: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

134

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Discovery

WS

Keyword

Leve

l of A

bstr

actio

n

Syntactic

Semantic („Light“)

Semantic („Heavy“)

Keyword-based with NaturalLanguage Processing (NLP)

Coarse grained Serviceand Goal descriptions

Fine grained Serviceand Goal descriptions

W1 … WL

Page 135: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

135

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Data Mediator• 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)

Page 136: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

136

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 137: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

137

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Dynamic Behaviour

Page 138: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

138

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

System Entry Points

Legend

Adapter

any Data format

CommunicationManager

(Requester Side)

Parser

ServiceRequester

WSML

ChoreographyEngine

CommunicationManager

(Provider Side)

ServiceProvider

SOAP

DataMediator

CommunicationManager

(Requester Side

Parser

ServiceRepository

Matchmaker

Selector

DataMediator

Editor

CommunicationManager

(Requester Side

Parser

ServiceProvider

receiveMessagereceiveGoalstoreEntity

Adapter

any Data format

ServiceRequester

WSMLWSML

ServiceRepository

WSMX components

External entities

Execution Flow

Usage

Page 139: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

139

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 140: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

140

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Define “Business” Process

Page 141: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

141

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Generate Wrappers for Components

Page 142: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

142

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Context Data

Page 143: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

143

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Event-based Implementation

Page 144: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

144

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Walk Through

Page 145: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

145

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Execution Semantics

WSMX

System

Interface

WSMX ManagerWSMX Manager Core

Administration Framework Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n... Grounding

CM Wrapper

CommunicationManager

Interface

Invoker Receiver

RMWrapper

Resource Manager

Interface

ParserWrapper

Parser

Interface

DiscoveryWrapper

Discovery

Interface

SelectorWrapper

Selector

Interface

DMWrapper

DataMediator

Interface

PMWrapper

ProcessMediator

Interface

ChoreographyWrapper

Choreography

Interface

Reasoner Interface

ReasonerResource Manager Interface

WSMO Objects Non WSMO Objects

WSMT – Web Services Modelling Toolkit

Service Providers

Web Service 1

Web Service 2

Web Service p

...

Service Requesters

Back-End Application

Agent acting on behalf of service

requester

WSML EditorWSMX Monitor Choreography EditorWSMX Managment Mediator Editor

ComponentWrapper

New Component

Interface

Request to discoverWeb services.

Page 146: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

146

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX

System

Interface

WSMX ManagerWSMX Manager Core

Administration Framework Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n... Grounding

CM Wrapper

CommunicationManager

Interface

Invoker Receiver

RMWrapper

Resource Manager

Interface

ParserWrapper

Parser

Interface

DiscoveryWrapper

Discovery

Interface

SelectorWrapper

Selector

Interface

DMWrapper

DataMediator

Interface

PMWrapper

ProcessMediator

Interface

ChoreographyWrapper

Choreography

Interface

Reasoner Interface

ReasonerResource Manager Interface

WSMO Objects Non WSMO Objects

WSMT – Web Services Modelling Toolkit

Service Providers

Web Service 1

Web Service 2

Web Service p

...

Service Requesters

Back-End Application

Agent acting on behalf of service

requester

WSML EditorWSMX Monitor Choreography EditorWSMX Managment Mediator Editor

ComponentWrapper

New Component

Interface

Goal expressedin WSML is sent toWSMX SystemInterface

Execution Semantics

Page 147: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

147

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX

System

Interface

WSMX ManagerWSMX Manager Core

Administration Framework Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n... Grounding

CM Wrapper

CommunicationManager

Interface

Invoker Receiver

RMWrapper

Resource Manager

Interface

ParserWrapper

Parser

Interface

DiscoveryWrapper

Discovery

Interface

SelectorWrapper

Selector

Interface

DMWrapper

DataMediator

Interface

PMWrapper

ProcessMediator

Interface

ChoreographyWrapper

Choreography

Interface

Reasoner Interface

ReasonerResource Manager Interface

WSMO Objects Non WSMO Objects

WSMT – Web Services Modelling Toolkit

Service Providers

Web Service 1

Web Service 2

Web Service p

...

Service Requesters

Back-End Application

Agent acting on behalf of service

requester

WSML EditorWSMX Monitor Choreography EditorWSMX Managment Mediator Editor

ComponentWrapper

New Component

Interface

Com. M. implementsthe interface toreceive WSML goals

Execution Semantics

Page 148: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

148

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX

System

Interface

WSMX ManagerWSMX Manager Core

Administration Framework Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n... Grounding

CM Wrapper

CommunicationManager

Interface

Invoker Receiver

RMWrapper

Resource Manager

Interface

ParserWrapper

Parser

Interface

DiscoveryWrapper

Discovery

Interface

SelectorWrapper

Selector

Interface

DMWrapper

DataMediator

Interface

PMWrapper

ProcessMediator

Interface

ChoreographyWrapper

Choreography

Interface

Reasoner Interface

ReasonerResource Manager Interface

WSMO Objects Non WSMO Objects

WSMT – Web Services Modelling Toolkit

Service Providers

Web Service 1

Web Service 2

Web Service p

...

Service Requesters

Back-End Application

Agent acting on behalf of service

requester

WSML EditorWSMX Monitor Choreography EditorWSMX Managment Mediator Editor

ComponentWrapper

New Component

Interface

Com. M. informsCore that Goalhas been received

Execution Semantics

Page 149: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

149

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX

System

Interface

WSMX ManagerWSMX Manager Core

Administration Framework Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n... Grounding

CM Wrapper

CommunicationManager

Interface

Invoker Receiver

RMWrapper

Resource Manager

Interface

ParserWrapper

Parser

Interface

DiscoveryWrapper

Discovery

Interface

SelectorWrapper

Selector

Interface

DMWrapper

DataMediator

Interface

PMWrapper

ProcessMediator

Interface

ChoreographyWrapper

Choreography

Interface

Reasoner Interface

ReasonerResource Manager Interface

WSMO Objects Non WSMO Objects

WSMT – Web Services Modelling Toolkit

Service Providers

Web Service 1

Web Service 2

Web Service p

...

Service Requesters

Back-End Application

Agent acting on behalf of service

requester

WSML EditorWSMX Monitor Choreography EditorWSMX Managment Mediator Editor

ComponentWrapper

New Component

Interface

Chor. wrapperpicks up event for Chor. component

Execution Semantics

Page 150: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

150

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX

System

Interface

WSMX ManagerWSMX Manager Core

Administration Framework Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n... Grounding

CM Wrapper

CommunicationManager

Interface

Invoker Receiver

RMWrapper

Resource Manager

Interface

ParserWrapper

Parser

Interface

DiscoveryWrapper

Discovery

Interface

SelectorWrapper

Selector

Interface

DMWrapper

DataMediator

Interface

PMWrapper

ProcessMediator

Interface

ChoreographyWrapper

Choreography

Interface

Reasoner Interface

ReasonerResource Manager Interface

WSMO Objects Non WSMO Objects

WSMT – Web Services Modelling Toolkit

Service Providers

Web Service 1

Web Service 2

Web Service p

...

Service Requesters

Back-End Application

Agent acting on behalf of service

requester

WSML EditorWSMX Monitor Choreography EditorWSMX Managment Mediator Editor

ComponentWrapper

New Component

Interface

New choreography Instance is created

Execution Semantics

Page 151: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

151

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX

System

Interface

WSMX ManagerWSMX Manager Core

Administration Framework Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n... Grounding

CM Wrapper

CommunicationManager

Interface

Invoker Receiver

RMWrapper

Resource Manager

Interface

ParserWrapper

Parser

Interface

DiscoveryWrapper

Discovery

Interface

SelectorWrapper

Selector

Interface

DMWrapper

DataMediator

Interface

PMWrapper

ProcessMediator

Interface

ChoreographyWrapper

Choreography

Interface

Reasoner Interface

ReasonerResource Manager Interface

WSMO Objects Non WSMO Objects

WSMT – Web Services Modelling Toolkit

Service Providers

Web Service 1

Web Service 2

Web Service p

...

Service Requesters

Back-End Application

Agent acting on behalf of service

requester

WSML EditorWSMX Monitor Choreography EditorWSMX Managment Mediator Editor

ComponentWrapper

New Component

Interface

Core is notifiedthat choreographyinstance has beencreated.

Execution Semantics

Page 152: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

152

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX

System

Interface

WSMX ManagerWSMX Manager Core

Administration Framework Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n... Grounding

CM Wrapper

CommunicationManager

Interface

Invoker Receiver

RMWrapper

Resource Manager

Interface

ParserWrapper

Parser

Interface

DiscoveryWrapper

Discovery

Interface

SelectorWrapper

Selector

Interface

DMWrapper

DataMediator

Interface

PMWrapper

ProcessMediator

Interface

ChoreographyWrapper

Choreography

Interface

Reasoner Interface

ReasonerResource Manager Interface

WSMO Objects Non WSMO Objects

WSMT – Web Services Modelling Toolkit

Service Providers

Web Service 1

Web Service 2

Web Service p

...

Service Requesters

Back-End Application

Agent acting on behalf of service

requester

WSML EditorWSMX Monitor Choreography EditorWSMX Managment Mediator Editor

ComponentWrapper

New Component

Interface

WSML goal isparsed to internal format.

Execution Semantics

Page 153: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

153

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX

System

Interface

WSMX ManagerWSMX Manager Core

Administration Framework Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n... Grounding

CM Wrapper

CommunicationManager

Interface

Invoker Receiver

RMWrapper

Resource Manager

Interface

ParserWrapper

Parser

Interface

DiscoveryWrapper

Discovery

Interface

SelectorWrapper

Selector

Interface

DMWrapper

DataMediator

Interface

PMWrapper

ProcessMediator

Interface

ChoreographyWrapper

Choreography

Interface

Reasoner Interface

ReasonerResource Manager Interface

WSMO Objects Non WSMO Objects

WSMT – Web Services Modelling Toolkit

Service Providers

Web Service 1

Web Service 2

Web Service p

...

Service Requesters

Back-End Application

Agent acting on behalf of service

requester

WSML EditorWSMX Monitor Choreography EditorWSMX Managment Mediator Editor

ComponentWrapper

New Component

Interface

Discovery isinvoked

for parsed goal.

Execution Semantics

Page 154: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

154

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX

System

Interface

WSMX ManagerWSMX Manager Core

Administration Framework Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n... Grounding

CM Wrapper

CommunicationManager

Interface

Invoker Receiver

RMWrapper

Resource Manager

Interface

ParserWrapper

Parser

Interface

DiscoveryWrapper

Discovery

Interface

SelectorWrapper

Selector

Interface

DMWrapper

DataMediator

Interface

PMWrapper

ProcessMediator

Interface

ChoreographyWrapper

Choreography

Interface

Reasoner Interface

ReasonerResource Manager Interface

WSMO Objects Non WSMO Objects

WSMT – Web Services Modelling Toolkit

Service Providers

Web Service 1

Web Service 2

Web Service p

...

Service Requesters

Back-End Application

Agent acting on behalf of service

requester

WSML EditorWSMX Monitor Choreography EditorWSMX Managment Mediator Editor

ComponentWrapper

New Component

Interface

Discovery may requires ontology

mediation.

Execution Semantics

Page 155: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

155

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX

System

Interface

WSMX ManagerWSMX Manager Core

Administration Framework Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n... Grounding

CM Wrapper

CommunicationManager

Interface

Invoker Receiver

RMWrapper

Resource Manager

Interface

ParserWrapper

Parser

Interface

DiscoveryWrapper

Discovery

Interface

SelectorWrapper

Selector

Interface

DMWrapper

DataMediator

Interface

PMWrapper

ProcessMediator

Interface

ChoreographyWrapper

Choreography

Interface

Reasoner Interface

ReasonerResource Manager Interface

WSMO Objects Non WSMO Objects

WSMT – Web Services Modelling Toolkit

Service Providers

Web Service 1

Web Service 2

Web Service p

...

Service Requesters

Back-End Application

Agent acting on behalf of service

requester

WSML EditorWSMX Monitor Choreography EditorWSMX Managment Mediator Editor

ComponentWrapper

New Component

Interface

After data mediation,Discovery iterates,if needed throughlast steps untilresult set is finished.

Execution Semantics

Page 156: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

156

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX

System

Interface

WSMX ManagerWSMX Manager Core

Administration Framework Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n... Grounding

CM Wrapper

CommunicationManager

Interface

Invoker Receiver

RMWrapper

Resource Manager

Interface

ParserWrapper

Parser

Interface

DiscoveryWrapper

Discovery

Interface

SelectorWrapper

Selector

Interface

DMWrapper

DataMediator

Interface

PMWrapper

ProcessMediator

Interface

ChoreographyWrapper

Choreography

Interface

Reasoner Interface

ReasonerResource Manager Interface

WSMO Objects Non WSMO Objects

WSMT – Web Services Modelling Toolkit

Service Providers

Web Service 1

Web Service 2

Web Service p

...

Service Requesters

Back-End Application

Agent acting on behalf of service

requester

WSML EditorWSMX Monitor Choreography EditorWSMX Managment Mediator Editor

ComponentWrapper

New Component

Interface

Selection is invokedto relax result set tofinally one service.

Execution Semantics

Page 157: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

157

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX

System

Interface

WSMX ManagerWSMX Manager Core

Administration Framework Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n... Grounding

CM Wrapper

CommunicationManager

Interface

Invoker Receiver

RMWrapper

Resource Manager

Interface

ParserWrapper

Parser

Interface

DiscoveryWrapper

Discovery

Interface

SelectorWrapper

Selector

Interface

DMWrapper

DataMediator

Interface

PMWrapper

ProcessMediator

Interface

ChoreographyWrapper

Choreography

Interface

Reasoner Interface

ReasonerResource Manager Interface

WSMO Objects Non WSMO Objects

WSMT – Web Services Modelling Toolkit

Service Providers

Web Service 1

Web Service 2

Web Service p

...

Service Requesters

Back-End Application

Agent acting on behalf of service

requester

WSML EditorWSMX Monitor Choreography EditorWSMX Managment Mediator Editor

ComponentWrapper

New Component

Interface

Choreographyinstance for goalrequester is checkedfor next steps.

Execution Semantics

Page 158: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

158

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX

System

Interface

WSMX ManagerWSMX Manager Core

Administration Framework Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n... Grounding

CM Wrapper

CommunicationManager

Interface

Invoker Receiver

RMWrapper

Resource Manager

Interface

ParserWrapper

Parser

Interface

DiscoveryWrapper

Discovery

Interface

SelectorWrapper

Selector

Interface

DMWrapper

DataMediator

Interface

PMWrapper

ProcessMediator

Interface

ChoreographyWrapper

Choreography

Interface

Reasoner Interface

ReasonerResource Manager Interface

WSMO Objects Non WSMO Objects

WSMT – Web Services Modelling Toolkit

Service Providers

Web Service 1

Web Service 2

Web Service p

...

Service Requesters

Back-End Application

Agent acting on behalf of service

requester

WSML EditorWSMX Monitor Choreography EditorWSMX Managment Mediator Editor

ComponentWrapper

New Component

Interface

Result is returnedto Com. Man. to beforwarded to theservice requester.

Execution Semantics

Page 159: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

159

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX

System

Interface

WSMX ManagerWSMX Manager Core

Administration Framework Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n... Grounding

CM Wrapper

CommunicationManager

Interface

Invoker Receiver

RMWrapper

Resource Manager

Interface

ParserWrapper

Parser

Interface

DiscoveryWrapper

Discovery

Interface

SelectorWrapper

Selector

Interface

DMWrapper

DataMediator

Interface

PMWrapper

ProcessMediator

Interface

ChoreographyWrapper

Choreography

Interface

Reasoner Interface

ReasonerResource Manager Interface

WSMO Objects Non WSMO Objects

WSMT – Web Services Modelling Toolkit

Service Providers

Web Service 1

Web Service 2

Web Service p

...

Service Requesters

Back-End Application

Agent acting on behalf of service

requester

WSML EditorWSMX Monitor Choreography EditorWSMX Managment Mediator Editor

ComponentWrapper

New Component

Interface

Set of Web Servicedescriptionsexpressed in WSMLsent to adapter.

Execution Semantics

Page 160: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

160

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX

System

Interface

WSMX ManagerWSMX Manager Core

Administration Framework Interface

Data and C

omm

unication Protocols A

daptersA

dapter 1A

dapter 2A

dapter n... Grounding

CM Wrapper

CommunicationManager

Interface

Invoker Receiver

RMWrapper

Resource Manager

Interface

ParserWrapper

Parser

Interface

DiscoveryWrapper

Discovery

Interface

SelectorWrapper

Selector

Interface

DMWrapper

DataMediator

Interface

PMWrapper

ProcessMediator

Interface

ChoreographyWrapper

Choreography

Interface

Reasoner Interface

ReasonerResource Manager Interface

WSMO Objects Non WSMO Objects

WSMT – Web Services Modelling Toolkit

Service Providers

Web Service 1

Web Service 2

Web Service p

...

Service Requesters

Back-End Application

Agent acting on behalf of service

requester

WSML EditorWSMX Monitor Choreography EditorWSMX Managment Mediator Editor

ComponentWrapper

New Component

Interface

Set of Web Servicedescriptions expressedin requester’s ownformat returned togoal requester.

Execution Semantics

Page 161: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

161

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Future Plans & Conclusions

Page 162: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

162

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX Usage Scenario - P2P

Bas

eSe

rvic

esA

pplic

atio

n Se

rvic

esE

nd U

ser

Dev

elop

er

Ver

tical

Ser

vice

s

• Complete the functionality for all the boxes

Page 163: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

163

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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• Growing functionality - developers welcome

Page 164: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

164

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMX @ Sourceforge.net

Page 165: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

165

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Demos – WSMX and WSMT

Page 166: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

166

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Web Service Modelling Toolkit• WSMT is a lightweight framework for rapid

creation and deployment of homogenous tools for Semantic Web Services.

• Aims– Reduce application overhead– Provide common reusable functionality– Allow new tools to be added dynamically– Encourage the creation of tools

• Open source at:– http://sourceforge.net/projects/wsmx/

Page 167: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

167

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

WSMT Architecture

CoreCommunication Component

Invoker

Receiver Logger

Plug-in Loader

Dynamic Class Loader

….Plug-in 1 Plug-in n

Launcher JAR Files Plug-in Descriptions

Page 168: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

168

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Current Tools

• WSMX Invoker (v0.1)

• WSML Editor (v0.4)

• WSMX Data Mediation Mapping Tool(v0.2.2)

Page 169: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

169

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

PART V:

Hands-On Session

• Internet Reasoning Service (IRS III):

– system overview

– demonstration

• Hands-on Session:

– Introduction to Use Case Scenario

– Hands-on Session tasks

– Exercises

Page 170: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

170

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

IRS-III: A framework and platform for

building Semantic Web Services

John Domingue and Liliana Cabral

Page 171: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

171

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

The Internet Reasoning Service is an infrastructure for publishing, locating, executing and composing Semantic Web Services

Page 172: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

172

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Design Principles• Ontological separation of User and Web Service

Contexts• Capability Based Invocation• Ease of Use• One Click Publishing• Agnostic to Service Implementation Platform• Connected to External Environment• Open• Complete Descriptions• Inspectable• Interoperable with SWS Frameworks and Platforms

Page 173: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

173

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Features of IRS-III (1/2)• Based on Soap messaging standard• Provides Java API for client applications• Provides built-in brokering and service

discovery support• Provides capability-centred service

invocation

Page 174: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

174

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Features of IRS-III (2/2)• Publishing support for variety of platforms

– Java, Lisp, Web Applications, Java Web Services

• Enables publication of ‘standard code’– Provides clever wrappers– One-click publishing of web services

• Integrated with standard Web Services world– Semantic web service to IRS– ‘Ordinary’ web service

Page 175: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

175

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

IRS-3 Server

Domain Models

Web Service Specifications+ Registry of Implementors

Goal Specifications+ SOAP Binding

IRS Publisher

S O

A P

IRS Client

SOAP

IRS Publisher

IRS Publisher

IRS Publisher

Lisp

Java

Java WS

IRS-III Framework

Page 176: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

176

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

LispWeb Server

IRS-III Architecture

IRS-III Server

WS Publisher Registry

OCMLWSMO Library

OWL(-S) HandlerOWL(-S)

Browser

Invocation Client

Publishing Clients

SOAP Handler

SOAP

Publishing Platforms

Web Service

Java Code

Web Application

SOAPBrowserHandler

PublisherHandler

InvocationHandler

Java

API

WSMX

Page 177: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

177

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Publishing Platform Architecture

IRS-III Publishing PlatformHTTP Server

SOAP Handler

ServiceRegistrar

ServiceInvoker

WS Service Registry

IRS-III Server

Invocation Client

SOAP

SOAP

Publishing Clients

SOAP

Web Service 1Web Service 2

Web Service 3

Page 178: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

178

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

IRS-III/WSMO differences

• Underlying language OCML• Goals have inputs and outputs• IRS-III broker finds applicable web services via

mediators– Used mediator within WS capability – Mediator source = goal

• Web services have inputs and outputs ‘inherited’ from goal descriptions

• Web service selected via assumption (in capability)

Page 179: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

179

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

OWL-S 1.0 Translation

OWL-SProcess

OWL-STranslator

OWLTranslator

Web Service(Mediatorand Goal)

Page 180: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

180

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

OWL Process to Web Service• IOPEs are translated to:

has-input, has-output, has-precondition andhas-postcondition

in the capability of a Web service.

• The type and condition definitions at the range of the above roles are translated by the OWL to OCML translator.

• Simple goal and mediators can be generated (optional) as template for later development.

Page 181: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

181

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

IRS-III Demo(including OWL-S Import)

John Domingue and Liliana Cabral

Page 182: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

182

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

SWS Creation & Usage Steps• Create a goal description

– (e.g. exchange-rate-goal)– Add input and output roles– Include role type and soap binding

• Create a wg-mediator description – Source = goal– Possibly add a mediation service

• Create a web service description– Used-mediator of WS capability = wg-mediator above

• Specify Operation <-> Lisp function mapping in Choreography Grounding

• Publish against web service description• Invoke web service by ‘achieve goal’

Page 183: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

183

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Multiple WS for goal• Each WS has a mediator for used-

mediator slot of capability– Some WS may share a mediator

• Define a kappa expression for assumption slot of WS capability

• Kappa expression format– (kappa (?goal) <ocml relations>)

• Getting the value of an input role– (wsmo-role-value ?goal <role-name>)

Page 184: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

184

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Defining a Mediation Service• Define a wg-mediator• Source = goal• Mediation-service = goal for mediation

service• Mediation goal

– Mediation goal input roles are a subset of goal input roles

• Define mediator and WS as normal

Page 185: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

185

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Valid Relations• Classes are unary relations

– e.g. (country ?x)

• Slots are binary relations – e.g. (is-capital-of ?x ?y)

• Standard relations in base (OCML toplevel) ontology =, ==, <, >, member

Page 186: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

186

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

European Currency Assumption

(kappa (?goal)(member

(wsmo-role-value?goal 'has_source_currency)

'(euro pound)))

Page 187: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

187

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Goal Based Invocation

Invocation

Instantiate Goal Description

Exchange-rate-goal Has-source-currency: us-dollarsHas-target-currency: pound

Web Service Discovery

European-exchange-rate-wsNon-european-exchange-rate-wsEuropean-bank-exchange-rate-ws

Solve GoalGoal -> WG Mediator -> WS/Capability/Used-mediator

Web service selection

European-exchange-rate

Mediate input values

‘$’ -> us-dollar

WS -> Capability -> Assumptionexpression Mediation

Invoke selected web service

European-exchange-rate

Invocation

Page 188: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

188

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Hands-On Session

John Domingue and Liliana Cabral

Page 189: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

189

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

European Travel Scenario

Page 190: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

190

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

European Travel Demo

Page 191: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

191

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

IRS-III Hands On Task• Develop an application for the European Travel scenario based on

SWS. The application should support a person booking a train ticket between 2 European cities at a specific time and date

• Create Goal, Web service and Mediator WSMO descriptions in IRS-III (european-travel-service-descriptions) for available services. Your descriptions should choose a specific service depending on the start and end locations and the type of traveller. Use the assumption slot to do this

• Publish available lisp functions against your descriptions

• Invoke the web services

• Solution to be shown at the end of this session

Page 192: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

192

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Tutorial Setup

IRS Server (3000)

Domain Models

Web Service WSMO Descriptions

+ Registry of Implementors

Goal WSMO Descriptions+ SOAP Binding

Travel Services

(3001)

IRS Lisp Publisher

IRS-III Knowledge Model Browser & Editor

WSMX

Mediator WSMO Descriptions

Page 193: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

193

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Travel Related Knowledge Models

Page 194: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

194

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Key Classes, Relations, Instances

Is-in-country <city> <country> e.g.(is-in-country berlin germany) -> true

(student <person>) -> true, for john matt michal(business-person <person>) -> true, for liliana michael

Page 195: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

195

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Goals1- Get train timetable

– Inputs: origin and destination cities (city), date (date-and-time, e.g. (18 4 2004))

– Output: timetable (string)

2- Book train– Inputs: passenger name (person), origin and

destination cities, departure time-date (list-date-and-time, e.g. (20 33 16 15 9 2004))

– Output: booking information (string)

Page 196: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

196

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Services• 1 service available for goal 1

– No constraints

• 6 services available for goal 2– As a provider write the constraints applicable to the

services to satisfy the goal (assumption logical expressions)

• 1 wg-mediator mediation-service– Used to convert time in list format to time in

universal format

Page 197: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

197

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Service constraints• Services 2-5

– Services for (origin and destination) cities in determined countries

• Service 4-5– Need a mediation service to map goal time-date to

service time-date

• Services 6-7– Services for students or business people in Europe

Page 198: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

198

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Available Functions (1/3)1- get-train-times paris london (18 4 2004)"Timetable of trains from PARIS to LONDON on 18, 4, 2004

5:18…23:36"

2- book-english-train-journeychristoph milton-keynes london (20 33 16 15 9 2004)"British Rail: CHRISTOPH is booked on the 66 going from MILTON-KEYNES to

LONDON at 16:49, 15, SEPTEMBER 2004. The price is 169 Euros."

3- book-french-train-journeysinuhe paris lyon (3 4 6 18 8 2004)"SNCF: SINUHE is booked on the 511 going from PARIS to LYON at 6:12, 18,

AUGUST 2004. The price is 27 Euros."

Page 199: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

199

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Available Functions (2/3)4- book-german-train-journeychristoph berlin frankfurt 3304251200"First Class Booking German Rail (Die Bahn): CHRISTOPH is booked on the

323 going from BERLIN to FRANKFURT at 17:11, 15, SEPTEMBER 2004. The price is 35 Euros."

5- book-austrian-train-journeysinuhe vienna innsbruck 3304251200"Austrian Rail (OBB): SINUHE is booked on the 367 going from VIENNA to

INNSBRUCK at 16:47, 15, SEPTEMBER 2004. The price is 36 Euros. "

Page 200: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

200

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Available Functions (3/3)6- book-student-european-train-journey john london nice (3 4 6 18 8 2004)"European Student Rail Travel: JOHN is booked on the 916 going from

LONDON to NICE at 6:44, 18, AUGUST 2004. The price is 94 Euros. "

7- book-business-european-train-journeyliliana paris innsbruck (3 4 6 18 8 2004)"Business Europe: LILIANA is booked on the 461 going from PARIS to

INNSBRUCK at 6:12, 18, AUGUST 2004.The price is 325 Euros."

8- mediate-time (lisp function) orJavaMediateTime/mediate (java)

(9 30 17 20 9 2004)3304686609

Page 201: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

201

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Example: Multiply Goal

Page 202: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

202

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Example: Multiply Web Service

Page 203: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

203

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Example: Publishing

Page 204: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

204

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Tips• Order matters for input roles

– Input roles in goal must match order of arguments to function• Need to specify both input roles and output role• Be careful with soap binding

– sexpr as default– String for one line output – Use xml for multiple line output

• Input roles for web services inherited from goal• Slot names can not be the same as class names• Goal <-> web service linking mediator in the capability

used mediators

Page 205: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

205

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Closing, Outlook, References,

Acknowledgements

Page 206: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

206

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Tutorial Wrap-up• The targets of the presented tutorial were to:

– understand aims & challenges within Semantic Web Services – understand Semantic Web Service Frameworks:

• aims, design principles, and paradigms • ontology elements & 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

=> you should now be able to correctly assess emerging technologies & products for Semantic Web Services and utilize these for your future work

Page 207: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

207

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

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

Page 208: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

208

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

SWSI (www.swsi.org)• SWSI (Semantic Web Services Initiative) is becoming the

point of synthesis of the SWS activity around the World• SWSI includes many participants belonging to both

academy and industry from the US and Europe• SWSI is composed of two committees

– SWSL which is expected to produce a language for Semantic Web services

– SWSA which is expected to describe the architectural requirements for Semantic Web services

• OWL-S and WSMO are two main inputs, but contributions include IRS, Meteor-S

Page 209: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

209

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

Semantics in the Main Stream• Many WS standardization groups are realizing that they need to add

semantic representation• UDDI v.next

– UDDI v.next is the new version of UDDI– UDDI TC has decided to use OWL as a standard language for the

representation of business taxonomies – OWL-based inference will be used to improve WS search

• Web Service Description Language v2– The WSDL working group at W3C has decided to add an RDF mapping

to WSDL 2– The RDF mapping may effectively provide a standard grounding

mechanism for OWL-S and WSMO• Web Services policies proposals require a significant amount of

inference– There have been proposals to use OWL or SWRL as basic languages– Or to provide a mapping to semantic Web languages

Page 210: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

210

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

References WSMO• The central location where WSMO work and papers can

be found is WSMO Working Group: http://www.wsmo.org

• WSMO languages – WSML Working Group http://www.wsml.org

• Web Service Execution Environment WSMX – WSMX working group : http://www.wsmx.org– WSMX open source can be found at:

https://sourceforge.net/projects/wsmx/

Page 211: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

211

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

References WSMO• [WSMO Specification]: Roman, D.; Lausen, H.; Keller, U. (eds.): Web Service

Modeling Ontology, WSMO Working Draft D2, final version 1.2, 13 April 2005.

• [WSMO Primer]: Feier, C. (ed.): WSMO Primer, WSMO Working Draft D3.1, 18 February 2005.

• [WSMO Choreography and Orchestration] Roman, D.; Scicluna, J., Feier, C. (eds.): Ontology-based Choreography and Orchestration of WSMO Services, WSMO Working Draft D14, 01 March 2005.

• [WSMO Use Case] Stollberg, M.; Lausen, H.; Polleres, A.; Lara, R. (ed.): WSMO Use Case Modeling and Testing, WSMO Working Drafts D3.2; D3.3.; D3.4; D3.5, 05 November 2004.

• [WSML] de Bruijn, J. (Ed.): The WSML Specification, WSML Working Draft D16, 03 February 2005.

Page 212: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

212

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

References OWL-S• The main repository of papers on OWL-S is at

http://www.daml.org/services/owl-s/pub-archive.htmlthat contains many papers produced by the coalition as well as from the community at large

• The main source of information on OWL-S is the Web site http://www.daml.org/services/owl-s

• The rest of this section will report what we believe to be the most influential papers on OWL-S as well as paper referred in this tutorial

Page 213: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

213

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

ReferencesOverview

• Arroyo, S., Lara, R., Gomez, J. M., Berka, D., Ding, Y. and Fensel, D: "Semantic Aspects of Web Services" in Practical Handbook of Internet Computing. Munindar P. Singh, editor. Chapman Hall and CRC Press, Baton Rouge. 2004.

• Tim Berners-Lee, James Hendler, and Ora Lassila, “The Semantic Web”. Scientific American, 284(5):34-43, 2001.

• Chen, W., Kifer, M., and Warren, D. S. (1993). HILOG: A foundation for higher-order logic programming. Journal of Logic Programming, 15(3):187-230.

• Domingue, J. Cabral, L., Hakimpour, F., Sell D., and Motta, E., (2004) IRS-III: A Platform and Infrastructure for Creating WSMO-based Semantic Web Services WSMO Implementation Workshop (WIW), Frankfurt, Germany, September,2004

• Dieter Fensel, “Ontologies: Silver Bullet for Knowledge Management and Electronic Commerce”, Springer-Verlag, Berlin, 2001.

• Stollberg, M.; Feier, C.; Roman, D.; Fensel, D.: Semantic Web Services –Concepts and Technology. In Proceedings of the EUROLAN Summer School, 2005 (to appear).

Page 214: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

214

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

• [Gruber, 1993] Thomas R. Gruber, “A Translation Approach to Portable Ontology Specifications”, Knowledge Acquisition, 5:199-220, 1993.

• [Grosof et al., 2003] Grosof, B. N., Horrocks, I., Volz, R., and Decker, S. (2003). Description logic programs: Combining logic programs with description logic. In Proc. Intl. Conf. on the World Wide Web (WWW-2003), Budapest, Hungary.

• [Kifer et al., 1995] Kifer, M., Lausen, G., and Wu, J. (1995). Logical foundations of object-oriented and frame-based languages. JACM, 42(4):741-843.

• [Pan and Horrocks, 2004] Pan, J. Z. and Horrocks, I. (2004). OWL-E: Extending OWL with expressive datatype expressions. IMG Technical Report IMG/2004/KR-SW-01/v1.0, Victoria University of Manchester. Available from http://dl-web.man.ac.uk/Doc/IMGTR-OWL-E.pdf.

• [Stencil Group] -www.stencilgroup.com/ideas_scope_200106wsdefined.html

References Ontology & Languages

Page 215: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

215

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

References Discovery

B. Benatallah, M. Hacid, C. Rey, F. Toumani Towards Semantic Reasoning for Web Services Discovery,. In Proc. of the International Semantic Web Conference (ISWC 2003), 2003

Herzog, R.; Lausen, H.; Roman, D.; Zugmann, P.: WSMO Registry. WSMO WorkingDraft D10 v0.1, 26 April 2004.

Keller, U.; Lara, R.; Polleres, A. (Eds): WSMO Web Service Discovery. WSML Working Draft D5.1, 12 Nov 2004.

Keller, U.; Lara, R.; Lausen, H.; Polleres, A.; Fensel, D.: Automatic Location of Services. In Proc. of the 2nd European Semantic Web Symposium (ESWS2005), Heraklion, Crete, 2005.

M. Kifer, R. Lara, A. Polleres, C. Zhao, U. Keller, H. Lausen and D. Fensel: A Logical Framework for Web Service Discovery. Proc. 1st. Intl. Workshop SWS'2004 at ISWC 2004,Hiroshima, Japan, November 8, 2004, CEUR Workshop Proceedings, ISSN 1613-0073

Lara, R., Lausen, H.; Toma, I.: (Eds): WSMX Discovery. WSMX Working Draft D10 v0.2, 07 March 2005.

Lei Li and Ian Horrocks. A software framework for matchmaking based on semantic web technology. In Proc. of the Twelfth International World Wide Web Conference (WWW 2003), 2003.

Page 216: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

216

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

References Discovery

Lei Li and Ian Horrocks. A software framework for matchmaking based on semantic web technology. In Proc. of the Twelfth International World Wide Web Conference (WWW 2003), 2003

Daniel J. Mandell and Sheila A. McIlraith. Adapting BPEL4WS for the Semantic Web: The Bottom-Up Approach to Web Service Interoperation. In Proceedings of the Second International Semantic Web Conference (ISWC2003),

Massimo Paolucci, Takahiro Kawamura, Terry R. Payne, Katia Sycara; Importing the Semantic Web in UDDI. In Proceedings of Web Services, E-business and Semantic Web Workshop, 2002

Massimo Paolucci, Takahiro Kawamura, Terry R. Payne, Katia Sycara; "Semantic Matching of Web Services Capabilities." In Proceedings of the 1st International Semantic Web Conference (ISWC2002), 2002

Preist, C.: A Conceptual Architecture for Semantic Web Services. In Proceedings of the 3rd International Semantic Web Conference (ISWC 2004), 2004, pp. 395 -409.

Stollberg, M.; Keller, U.; Fensel. D.: Partner and Service Discovery for Collaboration on the Semantic Web. Proc. 3rd Intl. Conference on Web Services (ICWS 2005), Orlando, Florida, July 2005.

Page 217: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

217

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

References Choreography, Orchestration, Mediation

[WSMO Service Interfaces Description]: Roman, D.; Scicluna, J.; Feier, C. (eds.): Ontology-based Choreography and Orchestration for WSMO Web Services, WSMO Working Draft D14, final version 0.1, 1 March 2005.

[WSMO Mediators]: Scharffe, F. (ed.): WSMO Mediators, WSMO Working Draft D29, 24 June 2005.

[WSMX Data Mediation]: Mocan, A. (ed.): WSMX Data Mediation, WSMX Working Draft D13.3, 16 May 2005.

[WSMO Process Mediation]: Cimpian, E.; Mocan, A. (ed.): Process Mediation in WSMX, WSMX Working Draft D13.7, 16 May 2005.

Stollberg, M.: Reasoning Tasks and Mediation on Choreography and Orchestration in WSMO. In Proceedings of the 2nd International WSMO Implementation Workshop (WIW 2005), Innsbruck, Austria, 2005.

de Bruijn, J. and Polleres, A.. Towards an Ontology Mapping Specification Language for the Semantic Web. DERI Technical Report 2004-06-30, 2004.

Cimpian, E. and Mocan, A. WSMX Process Mediation Based on Choreographies. In Proceedings of the 1st International Workshop on Web Service Choreography and Orchestration for Business Process Management at the BPM 2005, Nancy, France, 2005

Michael Altenhofen, Egon Börger and Jens Lemcke: An Execution Semantics for Mediation Patterns. In Proceedings of the 2nd International WSMO Implementation Workshop (WIW 2005), Innsbruck, Austria, 2005.

Page 218: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

218

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

References WSMX• The central location where WSMX work, papers, and software can be

found is the WSMX working group homepage: http://www.wsmx.org. • The main documents are:

– Conceptual Model (http://www.wsmo.org/2004/d13/d13.1/v0.3/) – Architecture (http://www.wsmo.org/TR/d13/d13.4/v0.2/)– Implementation: open source at http://sourceforge.net/projects/wsmx– Documentation (http://www.wsmo.org/TR/d22/v0.2/) – Execution Semantics (http://www.wsmo.org/TR/d13/d13.2/) – WSMX Toolkit (http://www.wsmo.org/TR/d9/d9.1/v0.2/)

• Further Readings: Bussler, C. (2003): B2B Integration. Berlin, Heidelberg: Springer. Haselwanter, T.; Zaremba, Ma.., Zaremba Mi.: Enabling Components

Management and Executions Semantics in WSMX. In Proceedings of the 2nd International WSMO Implementation Workshop (WIW 2005), Innsbruck, Austria, June 2005.

Zaremba, M. and Bussler, C.: Towards Dynamic Execution Semantics in Semantic Web Services. In Proceedings of the WWW 2005 Workshop on Web Service Semantics: Towards Dynamic Business Integration, 2005.

Page 219: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

219

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

References IRS III tutorial• J. Domingue, L. Cabral, F. Hakimpour,D. Sell and E. Motta: IRS-III: A Platform and

Infrastructure for Creating WSMO-based Semantic Web Services. Proceedings of the Workshop on WSMO Implementations (WIW 2004) Frankfurt, Germany, September 29-30, 2004, CEUR Workshop Proceedings, ISSN 1613-0073, online http://CEUR-WS.org/Vol-113/paper3.pdf.

• J. Domingue and S. Galizia: Towards a Choreography for IRS-III.• Proceedings of the Workshop on WSMO Implementations (WIW 2004) Frankfurt,

Germany, September 29-30, 2004, CEUR Workshop Proceedings, ISSN 1613-0073, online http://CEUR-WS.org/Vol-113/paper7.pdf.

• Cabral, L., Domingue, J., Motta, E., Payne, T. and Hakimpour, F. (2004).• Approaches to Semantic Web Services: An Overview and Comparisons. In

proceedings of the First European Semantic Web Symposium (ESWS2004);• 10-12 May 2004, Heraklion, Crete, Greece.

• Motta, E., Domingue, J., Cabral, L. and Gaspari, M. (2003) IRS-II: A Framework and Infrastructure for Semantic Web Services. In proceedings of the 2nd International Semantic Web Conference (ISWC2003) 20-23 October 2003, Sundial Resort, Sanibel Island, Florida, USA.

Page 220: Semantic Web Services Tutorial - Open Universityprojects.kmi.open.ac.uk/dip/resources/icwe2005/SWS... · 3 5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia,

220

5th Internation Conference on Web Engineering (ICWE 2005), Sydney, Australia, July 2005

AcknowledgementsThe WSMO work is funded by the European Commission under the projects DIP, Knowledge Web, SEKT, SWWS, AKT and Esperonto; by Science Foundation Irelandunder the DERI-Lion project; and by the Austrian government under the FIT-IT 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. We dedicate special thanks to Chris Bussler, Michal Zaremba, François Scharffe, Adrian Mocan, and Emilia Cimpian for participation and input during preparation of the tutorial.