39
Toward a semantic Web Service discovery and dynamic orchestration based on ontologies Pierre Châtel Thales Land & Joint Systems, LIP6 Computer Science Laboratory 1

ICSSEA 2007 - Toward a semantic Web Service discovery and dynamic orchestration based on ontologies

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Toward a semantic Web Service discovery and dynamic orchestration based on ontologies

Pierre ChâtelThales Land & Joint Systems, LIP6 Computer Science Laboratory

1

Page 2: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Thales: system integrator.

How to optimize the design, deployment and execution of integrated information and control systems ?

Major industrial constraints:

1.Maintaining interoperability during the interconnection of these systems, despite:

• heterogeneity

• dynamism

• distributivity

2.Following a specific technical frawework: SOA (Service-Oriented Architecture)

An issue...

Pierre Châtel2

Page 3: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

An implementation...

Pierre Châtel

Interconnection between entities’ signatures, implemented...

• at the “technical” level➥ limited and superficial interoperability.

• at the “business” (conceptual) level➥ increased interoperability, interconnection relieved of technical concerns.

Application domains:

• Military: Communication, Command, Control and Intelligence systems (C3I)

• Civilian: rescue teams coordination in crisis management system during, or after, natural disasters.

3

Page 4: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Table of contents

1. Service-Oriented Architecture

2. Ontologies usage

3. Semantic Web Services registry

4. Semantic Web Services orchestration

5. Our framework: SETHA

6. Related Work

7. Future work

8. Concluding remarks

Pierre Châtel4

Page 5: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Service-Oriented Architecture

Business service providers: Web Services.

• Separated interfaces (service offers) and implementations.

• Centralized services registry.

• Services can appear or disappear from registry at runtime.

Business service consumers: Web Processes.

• Set of atomic actions linked with flow control structures.

• Represent business processes of the application.

• Integrate features offered by Web Services at runtime.

Pierre Châtel5

Page 6: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Service-Oriented ArchitectureLink between service providers and consumers

Pierre Châtel

Web ProcessRequests

Web Service

Offer

Web Service

Offer

Web Service

Offer

?

6

Page 7: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Table of contents

1. Service-Oriented Architecture

2. Ontologies usage

3. Semantic Web Services registry

4. Semantic Web Services orchestration

5. Our framework: SETHA

6. Related Work

7. Future work

8. Concluding remarks

Pierre Châtel7

Page 8: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Ontologies usage

Ontology: mean to formally specify the usually implicit business knowledge stored in the mind of experts and share it.

Ontologies are related to the system’s application domain(s).

“Flexible” link between service consumers and providers:

• Semantic information injected into service offers and requests.

Ontology-driven approach suitable:

• Fields which have already been thoroughly outlined or specified (pre-existing military ontologies).

• Knowledge shared between international partners (NATO).

➥ Semantic common ground.

Pierre Châtel8

Page 9: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Ontologies usageLink between service providers and consumers

Pierre Châtel

Web Process

Re

qu

es

ts

Registry

Web Service

Off

er

Web Service

Off

er

Web Service

Off

er

RegistrationQuery

<<Annotations>> <<Annotations>>

Domain ontologies

9

Page 10: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Consumers Common knowledge Providers

Ontologies usageLink between service providers and consumers

Pierre Châtel

Web Process

Re

qu

es

ts

Registry

Web Service

Off

er

Web Service

Off

er

Web Service

Off

er

RegistrationQuery

<<Annotations>> <<Annotations>>

Domain ontologies

9

Page 11: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Ontologies usageTechnologies

Ontologies modeling:

• OWL (Ontology Web Language) languages family.

• Decidable version based on Description Logic : OWL-DL.

Service offers definition:

• SAWSDL specification (Semantic Annotation for Web Service Description Language).

• WSDL 2.0 extension

• W3C : various academic and industrial participants in a specific “Working Group”.

• Annotation of classic service definitions with meta-data (ontological classes).

Service requests definition: BPEL language and SAWSDL. Pierre Châtel10

Page 12: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Ontologies usageSemantic annotation

Pierre Châtel

<description xmlns="http://www.w3.org/ns/wsdl" xmlns:tns="http://www.thalesgroup.com/TwoPiRayService/" xmlns:sawsdl="http://www.w3.org/2002/ws/sawsdl/spec/sawsdl#" targetNamespace="http://www.thalesgroup.com/TwoPiRayService/"> <types> <xsd:schema xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" (...) <xsd:element name="computeTwoPiRayStruct" sawsdl:loweringSchemaMapping="http://127.0.0.1:9090/axis2/xslt/RDFOnt2SOAPRequest.xml"> <xsd:complexType> <xsd:sequence> <xsd:element name="struct" type="tns:computeTwoPiRayStructType" /> </xsd:sequence> </xsd:complexType> </xsd:element>

<xsd:element name="computeTwoPiRayStructResponse" sawsdl:modelReference="http://www.thalesgroup.com/ontologies/setha-dyonisos-

demo.owl#PerimeterMeasure" sawsdl:liftingSchemaMapping="http://127.0.0.1:9090/axis2/xslt/SOAPResponse2RDFOnt.xsl" xsd:type="computeTwoPiRayResponseType"/> </xsd:schema> </types> <interface name="ITwoPiRayService"> <operation name="computeTwoPiRayStruct" pattern="http://www.w3.org/ns/wsdl/in-out" sawsdl:modelReference="http://www.thalesgroup.com/ontologies/setha-dyonisos-

demo.owl#PiCalculator"> <input element="tns:computeTwoPiRayStruct"/> <output element="tns:computeTwoPiRayStructResponse"/>(...)

11

Page 13: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Ontologies usageSemantic annotation

Pierre Châtel

<description xmlns="http://www.w3.org/ns/wsdl" xmlns:tns="http://www.thalesgroup.com/TwoPiRayService/" xmlns:sawsdl="http://www.w3.org/2002/ws/sawsdl/spec/sawsdl#" targetNamespace="http://www.thalesgroup.com/TwoPiRayService/"> <types> <xsd:schema xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" (...) <xsd:element name="computeTwoPiRayStruct" sawsdl:loweringSchemaMapping="http://127.0.0.1:9090/axis2/xslt/RDFOnt2SOAPRequest.xml"> <xsd:complexType> <xsd:sequence> <xsd:element name="struct" type="tns:computeTwoPiRayStructType" /> </xsd:sequence> </xsd:complexType> </xsd:element>

<xsd:element name="computeTwoPiRayStructResponse" sawsdl:modelReference="http://www.thalesgroup.com/ontologies/setha-dyonisos-

demo.owl#PerimeterMeasure" sawsdl:liftingSchemaMapping="http://127.0.0.1:9090/axis2/xslt/SOAPResponse2RDFOnt.xsl" xsd:type="computeTwoPiRayResponseType"/> </xsd:schema> </types> <interface name="ITwoPiRayService"> <operation name="computeTwoPiRayStruct" pattern="http://www.w3.org/ns/wsdl/in-out" sawsdl:modelReference="http://www.thalesgroup.com/ontologies/setha-dyonisos-

demo.owl#PiCalculator"> <input element="tns:computeTwoPiRayStruct"/> <output element="tns:computeTwoPiRayStructResponse"/>(...)

11

Page 14: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Ontologies usageSemantic annotation

Pierre Châtel12

Page 15: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Table of contents

1. Service-Oriented Architecture

2. Ontologies usage

3. Semantic Web Services registry

4. Semantic Web Services orchestration

5. Our framework: SETHA

6. Related Work

7. Future work

8. Concluding remarks

Pierre Châtel13

Page 16: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Semantic Web Services registry

• Need for providers to advertise their service offers.

• Need for consumers to select the most appropriate service offers at runtime.

➥ Centralized approach : service registry.

• Industrial requirement: keep some compatibility with legacy architectures and systems.

• Classic registry specifications: only syntax !

• Our architecture: high-level service offers extended by business semantics.

➥ Implementation of a semantic compatibility layer over a classic registry specification.

Pierre Châtel14

Page 17: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Semantic Web Services registrySAWSDL to UDDI mapping

Registry technological choice:

• UDDI (Universal Description, Discovery and Integration).

• The most widespread Web service registry in the industry.

• A data model designed for storing syntactic information, but allows for evolution: BusinessEntity, BusinessService, BindingTemplate, tModel.

Semantic compatibility layer:

• SAWSDL to UDDI mapping.

• Loosely based on the WSDL 1.1→UDDI OASIS specification.

• Semantic information: as key/value pairs inside UDDI’s tModels.

• Compatibility: syntactic client and SAWSDL services, purely syntactic services still allowed.

Pierre Châtel15

Page 18: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Table of contents

1. Service-Oriented Architecture

2. Ontologies usage

3. Semantic Web Services registry

4. Semantic Web Services orchestration

5. Our framework: SETHA

6. Related Work

7. Future work

8. Concluding remarks

Pierre Châtel16

Page 19: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Semantic Web Services orchestration

Pierre Châtel

Orchestration: selection and collaboration of available and relevant Web Services in order to carry out a given Web Process.

Syntactic:

• Strong link and weak adaptability between service requests and offers.

• Direct (URLs of the services hard-coded in processes).

• Indirect (syntactic registry lookup before or at runtime).

Semantic:

• Uses the ontological link between service requests and offers.

• Flexible because indirect and based on high-level business knowledge stored in ontologies.

➥ Dynamic discovery of services at runtime.

➥ Late binding.

17

Page 20: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Semantic Web Services orchestration

Technological choices: ActiveBPEL Engine™ + semantic matchmaking capabilities.

A notion of semantic equivalence:

• Computed from information stored in ontologies.

• The specialization relationship between classes (rdfs:subClassOf).

• The equivalence relationship between classes (owl:EquivalentClass).

• Works on a ‘per service operation’ basis

➥ Allows indirect and flexible links.

Syntactic problematics: operations calls on semantically-selected services.

• Discrepancies between actual data types used by services and processes

• Ontologies as canonical models for data interchange. Pierre Châtel18

Page 21: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

thing

componentvehicle

enginebolt

diesel_enginefuel_engine

truckcar

semitrailer

<<subClassOf>> <<subClassOf>>

<<subClassOf>><<subClassOf>> <<subClassOf>><<subClassOf>>

<<subClassOf>><<subClassOf>><<subClassOf>>

extraire

<<EquivalentClass>>

action

<<subClassOf>>

extract

<<subClassOf>>

Semantic Web Services orchestrationSemantic equivalence

extract(truck):engine

19

Page 22: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

thing

componentvehicle

enginebolt

diesel_enginefuel_engine

truckcar

semitrailer

<<subClassOf>> <<subClassOf>>

<<subClassOf>><<subClassOf>> <<subClassOf>><<subClassOf>>

<<subClassOf>><<subClassOf>><<subClassOf>>

extraire

<<EquivalentClass>>

action

<<subClassOf>>

extract

<<subClassOf>>

Semantic Web Services orchestrationSemantic equivalence

extract(truck):engine extraire(vehicle):diesel_engine

extract(semitrailer):engine ➔

19

Page 23: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

thing

componentvehicle

enginebolt

diesel_enginefuel_engine

truckcar

semitrailer

<<subClassOf>> <<subClassOf>>

<<subClassOf>><<subClassOf>> <<subClassOf>><<subClassOf>>

<<subClassOf>><<subClassOf>><<subClassOf>>

extraire

<<EquivalentClass>>

action

<<subClassOf>>

extract

<<subClassOf>>

Semantic Web Services orchestrationSemantic equivalence

extract(truck):engine extraire(vehicle):diesel_engine

extract(semitrailer):engine ➔

19

Page 24: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

thing

componentvehicle

enginebolt

diesel_enginefuel_engine

truckcar

semitrailer

<<subClassOf>> <<subClassOf>>

<<subClassOf>><<subClassOf>> <<subClassOf>><<subClassOf>>

<<subClassOf>><<subClassOf>><<subClassOf>>

extraire

<<EquivalentClass>>

action

<<subClassOf>>

extract

<<subClassOf>>

Semantic Web Services orchestrationSemantic equivalence

extract(truck):engine extraire(vehicle):diesel_engine

extract(semitrailer):engine ➔

19

Page 25: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

thing

componentvehicle

enginebolt

diesel_enginefuel_engine

truckcar

semitrailer

<<subClassOf>> <<subClassOf>>

<<subClassOf>><<subClassOf>> <<subClassOf>><<subClassOf>>

<<subClassOf>><<subClassOf>><<subClassOf>>

extraire

<<EquivalentClass>>

action

<<subClassOf>>

extract

<<subClassOf>>

Semantic Web Services orchestrationSemantic equivalence

extract(truck):engine extraire(vehicle):diesel_engine

extract(semitrailer):engine ➔

19

Page 26: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

thing

componentvehicle

enginebolt

diesel_enginefuel_engine

truckcar

semitrailer

<<subClassOf>> <<subClassOf>>

<<subClassOf>><<subClassOf>> <<subClassOf>><<subClassOf>>

<<subClassOf>><<subClassOf>><<subClassOf>>

extraire

<<EquivalentClass>>

action

<<subClassOf>>

extract

<<subClassOf>>

Semantic Web Services orchestrationSemantic equivalence

extract(truck):engine extraire(vehicle):diesel_engine

extract(semitrailer):engine ➔

19

Page 27: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

thing

componentvehicle

enginebolt

diesel_enginefuel_engine

truckcar

semitrailer

<<subClassOf>> <<subClassOf>>

<<subClassOf>><<subClassOf>> <<subClassOf>><<subClassOf>>

<<subClassOf>><<subClassOf>><<subClassOf>>

extraire

<<EquivalentClass>>

action

<<subClassOf>>

extract

<<subClassOf>>

Semantic Web Services orchestrationSemantic equivalence

extract(truck):engine extraire(vehicle):diesel_engine

extract(semitrailer):engine ➔

19

Page 28: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

thing

componentvehicle

enginebolt

diesel_enginefuel_engine

truckcar

semitrailer

<<subClassOf>> <<subClassOf>>

<<subClassOf>><<subClassOf>> <<subClassOf>><<subClassOf>>

<<subClassOf>><<subClassOf>><<subClassOf>>

extraire

<<EquivalentClass>>

action

<<subClassOf>>

extract

<<subClassOf>>

Semantic Web Services orchestrationSemantic equivalence

extract(truck):engine extraire(vehicle):diesel_engine

extract(semitrailer):engine ➔

19

Page 29: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

thing

componentvehicle

enginebolt

diesel_enginefuel_engine

truckcar

semitrailer

<<subClassOf>> <<subClassOf>>

<<subClassOf>><<subClassOf>> <<subClassOf>><<subClassOf>>

<<subClassOf>><<subClassOf>><<subClassOf>>

extraire

<<EquivalentClass>>

action

<<subClassOf>>

extract

<<subClassOf>>

Semantic Web Services orchestrationSemantic equivalence

extract(truck):engine extraire(vehicle):diesel_engine

extract(semitrailer):engine ➔

✓ ✖

19

Page 30: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Table of contents

1. Service-Oriented Architecture

2. Ontologies usage

3. Semantic Web Services registry

4. Semantic Web Services orchestration

5. Our framework: SETHA

6. Related Work

7. Future work

8. Concluding remarks

Pierre Châtel20

Page 31: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Our framework : SETHA

Technological choices justified by industrial and legacy constraints:

• Ontologies → OWL language.

• Web service interfaces → SAWSDL specification.

• Service registry → UDDI specification, jUDDI implementation + semantic compatibility layer.

• Web Processes → BPEL language, ActiveBPEL™ implementation + semantic compatibility layer.

Standardized, free and/or open-source solutions.

End-user easy access (dedicated GUI for SAWSDL, OWL and BPEL edition)

➥ Simple and effective solution for integration of heterogeneous systems.

Pierre Châtel21

Page 32: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Our framework : SETHA

Pierre Châtel

Specification of Services

Specification of Processes

Specification of ontologies

Specific process execution Service selection

Runtime

Specification

Service registration

Process deployment

Static

Dynamic

22

Page 33: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Related Work

• Focuses on computing similarities between semantic service offers and requests.

• Fails to tackle the end-to-end matchmaking process by integrating service registration, process execution, data interchange and adaptation.

[Paolucci et al., 2002]: UDDI for service registration and matchmaking based on DAML-S.

[Sycara et al. 2002]: LARKS language, syntactic and semantic matchmaking.

[Di Noia et al., 2003]: matchmaking based on DL subsumption between concepts, distinguishes three distinct matchmaking degrees.

[Li & Horrocks, 2004]: matchmaking based on a DAML-S ontology (now OWL-S) and DL subsumption between whole offers and requests.

Pierre Châtel23

Page 34: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Future Work

Ongoing work in research projects and thesis.

Generalization of SETHA to non-functional considerations (QoS).

Implementation of an extensible framework capable of handling:

1. Service filtering based on functional properties and constraints (defined using ontological concepts).

2. Service filtering based on non-functional properties, constraints (service contracts) and user preferences related to the business domain.

3. Dynamic selection of the “best” available service offer(s) based on instantaneous QoS values and user preferences.

Pierre Châtel

1

2

3

24

Page 35: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Future Work

Pierre Châtel

Entering process execution

Service request execution

Service Filtering

Service selection

Runtime

Specification

Service registration

Process deployment

Static

Dynamic

Specification of Services

Specification of Processes

Specification of ontologies

1 2

3

done

todo

25

Page 36: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Concluding remarks

An operational implementation, while integrating innovative solutions.

Ontologies: key elements of this solution.

Possible improvements in performance, data adaptation and reasoning on ontologies.

Integration of this implementation in a generalized framework for functional and non-functional constraints handling in Service-Oriented Architectures.

On the long term, more advanced reusability in both civilian and military activities of Thales Group.

Pierre Châtel26

Page 37: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Thanks for your attention...

Any questions ?

Pierre Châtel27

Page 38: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Semantic Web Services registryUDDI data model

Pierre Châtel

businessEntityinformation about the party who

publishes information about à service

businessServicedescriptive information about a

particular family of technical services

bindingTemplatetechnical information about a service

entry point and construction specifications

tModeldescription of specification for services or

taxonomies. We use it to store ontological references.

28

Page 39: ICSSEA 2007 - Toward a semantic Web Service discovery and  dynamic orchestration based on ontologies

Semantic Web Services orchestrationData adaptation

Pierre Châtel29