ICSSEA 2007 - Toward a semantic Web Service discovery and dynamic orchestration based on ontologies
1. Toward a semantic Web Service discovery and
dynamic orchestration based on ontologies
Pierre Châtel
Thales Land & Joint Systems, LIP6 Computer Science Laboratory
1
2. An issue...
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)
Pierre Châtel
2
3. An implementation...
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.
Pierre Châtel
3
4. 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âtel
4
5. 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âtel
5
7. 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âtel
7
8. 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âtel
8
9. Ontologies usage
Link between service providers and consumers
Domain ontologies
<<Annotations>>
<<Annotations>>
Offer
Web Service
Web Process
Requests
Query
Offer
Registration
Registry Web Service
Offer
Web Service
Pierre Châtel
9
10. Ontologies usage
Link between service providers and consumers
Consumers Common knowledge Providers
Domain ontologies
<<Annotations>>
<<Annotations>>
Offer
Web Service
Web Process
Requests
Query
Offer
Registration
Registry Web Service
Offer
Web Service
Pierre Châtel
9
11. Ontologies usage
Technologies
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âtel
10
15. 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âtel
13
16. 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âtel
14
17. Semantic Web Services registry
SAWSDL 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âtel
15
18. 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âtel
16
19. Semantic Web Services orchestration
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.
Pierre Châtel
17
20. 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âtel
18
30. 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âtel
20
31. 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âtel
21
32. Our framework : SETHA
Static Specification of ontologies
Specification of Services
Specification of Processes
Specification
Runtime
Service registration
Process deployment
Specific process execution Service selection
Dynamic
Pierre Châtel
22
33. 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âtel
23
34. 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
1
using ontological concepts).
2. Service filtering based on non-functional properties, constraints
2
(service contracts) and user preferences related to the business domain.
3. Dynamic selection of the “best” available service offer(s) based on
3
instantaneous QoS values and user preferences.
Pierre Châtel
24
35. Future Work
done
Static
Specification of ontologies
todo
Specification of Services
Specification of Processes
Specification
Runtime
Service registration
Process deployment
1 2
Entering process execution Service Filtering
3
Service request execution Service selection
Dynamic
Pierre Châtel
25
36. 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âtel
26
37. Thanks for your attention...
Any questions ?
Pierre Châtel
27
38. Semantic Web Services registry
UDDI data model
businessEntity
information about the party who
publishes information about à service
tModel
description of specification for services or
taxonomies. We use it to store ontological
references.
businessService
descriptive information about a
particular family of technical services
bindingTemplate
technical information about a service
entry point and construction
specifications
Pierre Châtel
28