SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
Toward a semantic Web Service discovery and
dynamic orchestration based on ontologies
Pierre Châtel
Thales Land & Joint Systems, LIP6 Computer Science Laboratory




                                                                1
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
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
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
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
Service-Oriented Architecture
Link between service providers and consumers




                                     Offer
                                             Web Service




      Web Process




                               ?
                    Requests




                                                   Offer
                                                           Web Service




                                     Offer
                                             Web Service




                                                               Pierre Châtel
                                                                           6
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
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
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
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
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
Ontologies usage
Semantic annotation
<description xmlns=quot;http://www.w3.org/ns/wsdlquot;

   xmlns:tns=quot;http://www.thalesgroup.com/TwoPiRayService/quot;

     xmlns:sawsdl=quot;http://www.w3.org/2002/ws/sawsdl/spec/sawsdl#quot;

     targetNamespace=quot;http://www.thalesgroup.com/TwoPiRayService/quot;>

     <types>

     
    <xsd:schema xmlns:wsdl=quot;http://schemas.xmlsoap.org/wsdl/quot;
 

     
    
   (...)

     
    
   <xsd:element name=quot;computeTwoPiRayStructquot;

     
   
   
   sawsdl:loweringSchemaMapping=quot;http://127.0.0.1:9090/axis2/xslt/RDFOnt2SOAPRequest.xmlquot;>

     
   
   
   <xsd:complexType>

     
   
   
   
    <xsd:sequence>

     
   
   
   
    
   <xsd:element name=quot;structquot;

     
   
   
   
    
   
    type=quot;tns:computeTwoPiRayStructTypequot; />

     
   
   
   
    </xsd:sequence>

     
   
   
   </xsd:complexType>

     
   
   </xsd:element>


     
   
   <xsd:element name=quot;computeTwoPiRayStructResponsequot;

     
   
   
   sawsdl:modelReference=quot;http://www.thalesgroup.com/ontologies/setha-dyonisos-
                      demo.owl#PerimeterMeasurequot;

     
   
   
   sawsdl:liftingSchemaMapping=quot;http://127.0.0.1:9090/axis2/xslt/SOAPResponse2RDFOnt.xslquot;

     
    
   
    xsd:type=quot;computeTwoPiRayResponseTypequot;/>

     
    </xsd:schema>

     </types>

     <interface name=quot;ITwoPiRayServicequot;>

     
   <operation name=quot;computeTwoPiRayStructquot;

     
   
   pattern=quot;http://www.w3.org/ns/wsdl/in-outquot;

     
   
   sawsdl:modelReference=quot;http://www.thalesgroup.com/ontologies/setha-dyonisos-
                      demo.owl#PiCalculatorquot;>

     
   
   <input element=quot;tns:computeTwoPiRayStructquot;/>

     
   
   <output element=quot;tns:computeTwoPiRayStructResponsequot;/>
                                                                                               Pierre Châtel
(...)

                                                                                                            11
Ontologies usage
Semantic annotation
<description xmlns=quot;http://www.w3.org/ns/wsdlquot;

   xmlns:tns=quot;http://www.thalesgroup.com/TwoPiRayService/quot;

     xmlns:sawsdl=quot;http://www.w3.org/2002/ws/sawsdl/spec/sawsdl#quot;

     targetNamespace=quot;http://www.thalesgroup.com/TwoPiRayService/quot;>

     <types>

     
    <xsd:schema xmlns:wsdl=quot;http://schemas.xmlsoap.org/wsdl/quot;
 

     
    
   (...)

     
    
   <xsd:element name=quot;computeTwoPiRayStructquot;

     
   
   
   sawsdl:loweringSchemaMapping=quot;http://127.0.0.1:9090/axis2/xslt/RDFOnt2SOAPRequest.xmlquot;>

     
   
   
   <xsd:complexType>

     
   
   
   
    <xsd:sequence>

     
   
   
   
    
   <xsd:element name=quot;structquot;

     
   
   
   
    
   
    type=quot;tns:computeTwoPiRayStructTypequot; />

     
   
   
   
    </xsd:sequence>

     
   
   
   </xsd:complexType>

     
   
   </xsd:element>


     
   
   <xsd:element name=quot;computeTwoPiRayStructResponsequot;

     
   
   
   sawsdl:modelReference=quot;http://www.thalesgroup.com/ontologies/setha-dyonisos-
                      demo.owl#PerimeterMeasurequot;

     
   
   
   sawsdl:liftingSchemaMapping=quot;http://127.0.0.1:9090/axis2/xslt/SOAPResponse2RDFOnt.xslquot;

     
    
   
    xsd:type=quot;computeTwoPiRayResponseTypequot;/>

     
    </xsd:schema>

     </types>

     <interface name=quot;ITwoPiRayServicequot;>

     
   <operation name=quot;computeTwoPiRayStructquot;

     
   
   pattern=quot;http://www.w3.org/ns/wsdl/in-outquot;

     
   
   sawsdl:modelReference=quot;http://www.thalesgroup.com/ontologies/setha-dyonisos-
                      demo.owl#PiCalculatorquot;>

     
   
   <input element=quot;tns:computeTwoPiRayStructquot;/>

     
   
   <output element=quot;tns:computeTwoPiRayStructResponsequot;/>
                                                                                               Pierre Châtel
(...)

                                                                                                            11
Ontologies usage
Semantic annotation




                      Pierre Châtel
                                 12
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
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
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
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
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
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
Semantic Web Services orchestration
 Semantic equivalence

                                                     thing



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


             vehicle                              component                                  action


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

      car                truck            bolt               engine
                                                                                             extract

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

                                                                                       <<EquivalentClass>>
                                                                      diesel_engine
                       semitrailer                fuel_engine


                                                                                            extraire




extract(truck):engine
                                                                                                             19
Semantic Web Services orchestration
 Semantic equivalence

                                                     thing



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


             vehicle                              component                                  action


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

      car                truck            bolt               engine
                                                                                             extract

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

                                                                                       <<EquivalentClass>>
                                                                      diesel_engine
                       semitrailer                fuel_engine


                                                                                            extraire



                                                                extraire(vehicle):diesel_engine
extract(truck):engine                         ➔
                                                                    extract(semitrailer):engine
                                                                                                             19
Semantic Web Services orchestration
 Semantic equivalence

                                                     thing



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


             vehicle                              component                                  action


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

      car                truck            bolt               engine
                                                                                             extract

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

                                                                                       <<EquivalentClass>>
                                                                      diesel_engine
                       semitrailer                fuel_engine


                                                                                            extraire



                                                                extraire(vehicle):diesel_engine
extract(truck):engine                         ➔
                                                                    extract(semitrailer):engine
                                                                                                             19
Semantic Web Services orchestration
 Semantic equivalence

                                                     thing



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


             vehicle                              component                                  action


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

      car                truck            bolt               engine
                                                                                             extract

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

                                                                                       <<EquivalentClass>>
                                                                      diesel_engine
                       semitrailer                fuel_engine


                                                                                            extraire



                                                                extraire(vehicle):diesel_engine
extract(truck):engine                         ➔
                                                                    extract(semitrailer):engine
                                                                                                             19
Semantic Web Services orchestration
 Semantic equivalence

                                                     thing



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


             vehicle                              component                                  action


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

      car                truck            bolt               engine
                                                                                             extract

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

                                                                                       <<EquivalentClass>>
                                                                      diesel_engine
                       semitrailer                fuel_engine


                                                                                            extraire



                                                                extraire(vehicle):diesel_engine
extract(truck):engine                         ➔
                                                                    extract(semitrailer):engine
                                                                                                             19
Semantic Web Services orchestration
 Semantic equivalence

                                                     thing



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


             vehicle                              component                                  action


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

      car                truck            bolt               engine
                                                                                             extract

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

                                                                                       <<EquivalentClass>>
                                                                      diesel_engine
                       semitrailer                fuel_engine


                                                                                            extraire



                                                        ✓ extraire(vehicle):diesel_engine
extract(truck):engine                         ➔
                                                              extract(semitrailer):engine
                                                                                                             19
Semantic Web Services orchestration
 Semantic equivalence

                                                     thing



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


             vehicle                              component                                  action


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

      car                truck            bolt               engine
                                                                                             extract

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

                                                                                       <<EquivalentClass>>
                                                                      diesel_engine
                       semitrailer                fuel_engine


                                                                                            extraire



                                                        ✓ extraire(vehicle):diesel_engine
extract(truck):engine                         ➔
                                                              extract(semitrailer):engine
                                                                                                             19
Semantic Web Services orchestration
 Semantic equivalence

                                                     thing



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


             vehicle                              component                                  action


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

      car                truck            bolt               engine
                                                                                             extract

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

                                                                                       <<EquivalentClass>>
                                                                      diesel_engine
                       semitrailer                fuel_engine


                                                                                            extraire



                                                        ✓ extraire(vehicle):diesel_engine
extract(truck):engine                         ➔
                                                              extract(semitrailer):engine
                                                                                                             19
Semantic Web Services orchestration
 Semantic equivalence

                                                     thing



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


             vehicle                              component                                  action


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

      car                truck            bolt               engine
                                                                                             extract

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

                                                                                       <<EquivalentClass>>
                                                                      diesel_engine
                       semitrailer                fuel_engine


                                                                                            extraire



                                                        ✓ extraire(vehicle):diesel_engine
extract(truck):engine                         ➔
                                                              extract(semitrailer):engine
                                                        ✖
                                                                                                             19
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
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
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
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
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
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
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
Thanks for your attention...

      Any questions ?




                               Pierre Châtel
                                          27
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
Semantic Web Services orchestration
Data adaptation




                                      Pierre Châtel
                                                 29

Mais conteúdo relacionado

Destaque

Web Services Discovery for Devices
Web Services Discovery for DevicesWeb Services Discovery for Devices
Web Services Discovery for Devices
Jorgen Thelin
 
Analysis of Trust-Based Approaches for Web Service Selection
Analysis of Trust-Based Approaches for Web Service SelectionAnalysis of Trust-Based Approaches for Web Service Selection
Analysis of Trust-Based Approaches for Web Service Selection
Nicola Miotto
 
Trust-Based Rating Prediction for Recommendation in Web 2.0 Collaborative Lea...
Trust-Based Rating Prediction for Recommendation in Web 2.0 Collaborative Lea...Trust-Based Rating Prediction for Recommendation in Web 2.0 Collaborative Lea...
Trust-Based Rating Prediction for Recommendation in Web 2.0 Collaborative Lea...
jianjinshu
 
Social Recommender Systems Tutorial - WWW 2011
Social Recommender Systems Tutorial - WWW 2011Social Recommender Systems Tutorial - WWW 2011
Social Recommender Systems Tutorial - WWW 2011
idoguy
 

Destaque (13)

Clustering WSDL Documents to Bootstrap the Discovery of Web Services
Clustering WSDL Documents to Bootstrap the Discovery of Web Services Clustering WSDL Documents to Bootstrap the Discovery of Web Services
Clustering WSDL Documents to Bootstrap the Discovery of Web Services
 
An approach for Context-aware Service Discovery and Recommendation
An approach for Context-aware Service Discovery and RecommendationAn approach for Context-aware Service Discovery and Recommendation
An approach for Context-aware Service Discovery and Recommendation
 
seekda's Web Service search engine
seekda's Web Service search engineseekda's Web Service search engine
seekda's Web Service search engine
 
Web Services Discovery for Devices
Web Services Discovery for DevicesWeb Services Discovery for Devices
Web Services Discovery for Devices
 
Analysis of Trust-Based Approaches for Web Service Selection
Analysis of Trust-Based Approaches for Web Service SelectionAnalysis of Trust-Based Approaches for Web Service Selection
Analysis of Trust-Based Approaches for Web Service Selection
 
EnhancingWeb Process Self-Awareness with Context-Aware Service Composition
EnhancingWeb Process Self-Awareness with Context-Aware Service CompositionEnhancingWeb Process Self-Awareness with Context-Aware Service Composition
EnhancingWeb Process Self-Awareness with Context-Aware Service Composition
 
ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery
ICWE 2015 - REST Web Service Description for Graph-Based Service DiscoveryICWE 2015 - REST Web Service Description for Graph-Based Service Discovery
ICWE 2015 - REST Web Service Description for Graph-Based Service Discovery
 
Recommendation Systems: Applying Amazon's Collaborative Filtering Methods to ...
Recommendation Systems: Applying Amazon's Collaborative Filtering Methods to ...Recommendation Systems: Applying Amazon's Collaborative Filtering Methods to ...
Recommendation Systems: Applying Amazon's Collaborative Filtering Methods to ...
 
Icwl2010 epfl
Icwl2010 epflIcwl2010 epfl
Icwl2010 epfl
 
Trust-Based Rating Prediction for Recommendation in Web 2.0 Collaborative Lea...
Trust-Based Rating Prediction for Recommendation in Web 2.0 Collaborative Lea...Trust-Based Rating Prediction for Recommendation in Web 2.0 Collaborative Lea...
Trust-Based Rating Prediction for Recommendation in Web 2.0 Collaborative Lea...
 
Social Recommender Systems Tutorial - WWW 2011
Social Recommender Systems Tutorial - WWW 2011Social Recommender Systems Tutorial - WWW 2011
Social Recommender Systems Tutorial - WWW 2011
 
Social Recommender Systems
Social Recommender SystemsSocial Recommender Systems
Social Recommender Systems
 
Content Recommendation Based on Data Mining in Adaptive Social Networks
Content Recommendation Based on Data Mining  in Adaptive Social NetworksContent Recommendation Based on Data Mining  in Adaptive Social Networks
Content Recommendation Based on Data Mining in Adaptive Social Networks
 

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

Paul Butterworth Policy Based Approach
Paul  Butterworth    Policy  Based  ApproachPaul  Butterworth    Policy  Based  Approach
Paul Butterworth Policy Based Approach
SOA Symposium
 
Japan Institute for Design Promotion, December 21st, 2011, Tokyo, Japan.
Japan Institute for Design Promotion, December 21st, 2011, Tokyo, Japan.Japan Institute for Design Promotion, December 21st, 2011, Tokyo, Japan.
Japan Institute for Design Promotion, December 21st, 2011, Tokyo, Japan.
Stephen Kwan
 
Eudat user forum-london-11march2013-biovel-v3
Eudat user forum-london-11march2013-biovel-v3Eudat user forum-london-11march2013-biovel-v3
Eudat user forum-london-11march2013-biovel-v3
Alex Hardisty
 
Road To Responsibility
Road To ResponsibilityRoad To Responsibility
Road To Responsibility
MatsBerglind
 
Edge-to-Enterprise Real-Time SOA
Edge-to-Enterprise Real-Time SOAEdge-to-Enterprise Real-Time SOA
Edge-to-Enterprise Real-Time SOA
Real-Time Innovations (RTI)
 

Semelhante a ICSSEA 2007 - Toward a semantic Web Service discovery and dynamic orchestration based on ontologies (20)

Transaction-based Capacity Planning for greater IT Reliability™ webinar
Transaction-based Capacity Planning for greater IT Reliability™ webinar Transaction-based Capacity Planning for greater IT Reliability™ webinar
Transaction-based Capacity Planning for greater IT Reliability™ webinar
 
Shared Services In Government A Model For The Web
Shared Services In Government   A Model For The WebShared Services In Government   A Model For The Web
Shared Services In Government A Model For The Web
 
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOAService Oriented Architecture (SOA) [1/5] : Introduction to SOA
Service Oriented Architecture (SOA) [1/5] : Introduction to SOA
 
Thoughts on Utility, Grid, on demand, cloud computing and appliances
Thoughts on Utility, Grid, on demand, cloud computing and appliancesThoughts on Utility, Grid, on demand, cloud computing and appliances
Thoughts on Utility, Grid, on demand, cloud computing and appliances
 
Modeling Service Relationships for Service Networks
Modeling Service Relationships for Service NetworksModeling Service Relationships for Service Networks
Modeling Service Relationships for Service Networks
 
Geospatial Community Cloud Vision
Geospatial Community Cloud VisionGeospatial Community Cloud Vision
Geospatial Community Cloud Vision
 
Hp Sdp Evolution
Hp Sdp EvolutionHp Sdp Evolution
Hp Sdp Evolution
 
The CORA Model Explained
The CORA Model ExplainedThe CORA Model Explained
The CORA Model Explained
 
Paul Butterworth Policy Based Approach
Paul  Butterworth    Policy  Based  ApproachPaul  Butterworth    Policy  Based  Approach
Paul Butterworth Policy Based Approach
 
Australia Department of Immigration and Citizenship - A Case Study on Transfo...
Australia Department of Immigration and Citizenship - A Case Study on Transfo...Australia Department of Immigration and Citizenship - A Case Study on Transfo...
Australia Department of Immigration and Citizenship - A Case Study on Transfo...
 
Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0
 
Event-Driven Service-oriented Architecture (EDSOA)
Event-Driven Service-oriented Architecture (EDSOA)Event-Driven Service-oriented Architecture (EDSOA)
Event-Driven Service-oriented Architecture (EDSOA)
 
20091021 At Crossroads: Internet of Services Research beyond Call 5
20091021 At Crossroads: Internet of Services Research beyond Call 520091021 At Crossroads: Internet of Services Research beyond Call 5
20091021 At Crossroads: Internet of Services Research beyond Call 5
 
IT Governance Portals
IT Governance   PortalsIT Governance   Portals
IT Governance Portals
 
Japan Institute for Design Promotion, December 21st, 2011, Tokyo, Japan.
Japan Institute for Design Promotion, December 21st, 2011, Tokyo, Japan.Japan Institute for Design Promotion, December 21st, 2011, Tokyo, Japan.
Japan Institute for Design Promotion, December 21st, 2011, Tokyo, Japan.
 
Eudat user forum-london-11march2013-biovel-v3
Eudat user forum-london-11march2013-biovel-v3Eudat user forum-london-11march2013-biovel-v3
Eudat user forum-london-11march2013-biovel-v3
 
Building a Local Administration Services Portal for Citizens and Businesses: ...
Building a Local Administration Services Portal for Citizens and Businesses: ...Building a Local Administration Services Portal for Citizens and Businesses: ...
Building a Local Administration Services Portal for Citizens and Businesses: ...
 
Road To Responsibility
Road To ResponsibilityRoad To Responsibility
Road To Responsibility
 
First Operational Technology (OT) High Performance Messaging Patterns for Ent...
First Operational Technology (OT) High Performance Messaging Patterns for Ent...First Operational Technology (OT) High Performance Messaging Patterns for Ent...
First Operational Technology (OT) High Performance Messaging Patterns for Ent...
 
Edge-to-Enterprise Real-Time SOA
Edge-to-Enterprise Real-Time SOAEdge-to-Enterprise Real-Time SOA
Edge-to-Enterprise Real-Time SOA
 

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
  • 6. Service-Oriented Architecture Link between service providers and consumers Offer Web Service Web Process ? Requests Offer Web Service Offer Web Service Pierre Châtel 6
  • 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
  • 12. Ontologies usage Semantic annotation <description xmlns=quot;http://www.w3.org/ns/wsdlquot; xmlns:tns=quot;http://www.thalesgroup.com/TwoPiRayService/quot; xmlns:sawsdl=quot;http://www.w3.org/2002/ws/sawsdl/spec/sawsdl#quot; targetNamespace=quot;http://www.thalesgroup.com/TwoPiRayService/quot;> <types> <xsd:schema xmlns:wsdl=quot;http://schemas.xmlsoap.org/wsdl/quot; (...) <xsd:element name=quot;computeTwoPiRayStructquot; sawsdl:loweringSchemaMapping=quot;http://127.0.0.1:9090/axis2/xslt/RDFOnt2SOAPRequest.xmlquot;> <xsd:complexType> <xsd:sequence> <xsd:element name=quot;structquot; type=quot;tns:computeTwoPiRayStructTypequot; /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name=quot;computeTwoPiRayStructResponsequot; sawsdl:modelReference=quot;http://www.thalesgroup.com/ontologies/setha-dyonisos- demo.owl#PerimeterMeasurequot; sawsdl:liftingSchemaMapping=quot;http://127.0.0.1:9090/axis2/xslt/SOAPResponse2RDFOnt.xslquot; xsd:type=quot;computeTwoPiRayResponseTypequot;/> </xsd:schema> </types> <interface name=quot;ITwoPiRayServicequot;> <operation name=quot;computeTwoPiRayStructquot; pattern=quot;http://www.w3.org/ns/wsdl/in-outquot; sawsdl:modelReference=quot;http://www.thalesgroup.com/ontologies/setha-dyonisos- demo.owl#PiCalculatorquot;> <input element=quot;tns:computeTwoPiRayStructquot;/> <output element=quot;tns:computeTwoPiRayStructResponsequot;/> Pierre Châtel (...) 11
  • 13. Ontologies usage Semantic annotation <description xmlns=quot;http://www.w3.org/ns/wsdlquot; xmlns:tns=quot;http://www.thalesgroup.com/TwoPiRayService/quot; xmlns:sawsdl=quot;http://www.w3.org/2002/ws/sawsdl/spec/sawsdl#quot; targetNamespace=quot;http://www.thalesgroup.com/TwoPiRayService/quot;> <types> <xsd:schema xmlns:wsdl=quot;http://schemas.xmlsoap.org/wsdl/quot; (...) <xsd:element name=quot;computeTwoPiRayStructquot; sawsdl:loweringSchemaMapping=quot;http://127.0.0.1:9090/axis2/xslt/RDFOnt2SOAPRequest.xmlquot;> <xsd:complexType> <xsd:sequence> <xsd:element name=quot;structquot; type=quot;tns:computeTwoPiRayStructTypequot; /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name=quot;computeTwoPiRayStructResponsequot; sawsdl:modelReference=quot;http://www.thalesgroup.com/ontologies/setha-dyonisos- demo.owl#PerimeterMeasurequot; sawsdl:liftingSchemaMapping=quot;http://127.0.0.1:9090/axis2/xslt/SOAPResponse2RDFOnt.xslquot; xsd:type=quot;computeTwoPiRayResponseTypequot;/> </xsd:schema> </types> <interface name=quot;ITwoPiRayServicequot;> <operation name=quot;computeTwoPiRayStructquot; pattern=quot;http://www.w3.org/ns/wsdl/in-outquot; sawsdl:modelReference=quot;http://www.thalesgroup.com/ontologies/setha-dyonisos- demo.owl#PiCalculatorquot;> <input element=quot;tns:computeTwoPiRayStructquot;/> <output element=quot;tns:computeTwoPiRayStructResponsequot;/> Pierre Châtel (...) 11
  • 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
  • 21. Semantic Web Services orchestration Semantic equivalence thing <<subClassOf>> <<subClassOf>> <<subClassOf>> vehicle component action <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> car truck bolt engine extract <<subClassOf>> <<subClassOf>> <<subClassOf>> <<EquivalentClass>> diesel_engine semitrailer fuel_engine extraire extract(truck):engine 19
  • 22. Semantic Web Services orchestration Semantic equivalence thing <<subClassOf>> <<subClassOf>> <<subClassOf>> vehicle component action <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> car truck bolt engine extract <<subClassOf>> <<subClassOf>> <<subClassOf>> <<EquivalentClass>> diesel_engine semitrailer fuel_engine extraire extraire(vehicle):diesel_engine extract(truck):engine ➔ extract(semitrailer):engine 19
  • 23. Semantic Web Services orchestration Semantic equivalence thing <<subClassOf>> <<subClassOf>> <<subClassOf>> vehicle component action <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> car truck bolt engine extract <<subClassOf>> <<subClassOf>> <<subClassOf>> <<EquivalentClass>> diesel_engine semitrailer fuel_engine extraire extraire(vehicle):diesel_engine extract(truck):engine ➔ extract(semitrailer):engine 19
  • 24. Semantic Web Services orchestration Semantic equivalence thing <<subClassOf>> <<subClassOf>> <<subClassOf>> vehicle component action <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> car truck bolt engine extract <<subClassOf>> <<subClassOf>> <<subClassOf>> <<EquivalentClass>> diesel_engine semitrailer fuel_engine extraire extraire(vehicle):diesel_engine extract(truck):engine ➔ extract(semitrailer):engine 19
  • 25. Semantic Web Services orchestration Semantic equivalence thing <<subClassOf>> <<subClassOf>> <<subClassOf>> vehicle component action <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> car truck bolt engine extract <<subClassOf>> <<subClassOf>> <<subClassOf>> <<EquivalentClass>> diesel_engine semitrailer fuel_engine extraire extraire(vehicle):diesel_engine extract(truck):engine ➔ extract(semitrailer):engine 19
  • 26. Semantic Web Services orchestration Semantic equivalence thing <<subClassOf>> <<subClassOf>> <<subClassOf>> vehicle component action <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> car truck bolt engine extract <<subClassOf>> <<subClassOf>> <<subClassOf>> <<EquivalentClass>> diesel_engine semitrailer fuel_engine extraire ✓ extraire(vehicle):diesel_engine extract(truck):engine ➔ extract(semitrailer):engine 19
  • 27. Semantic Web Services orchestration Semantic equivalence thing <<subClassOf>> <<subClassOf>> <<subClassOf>> vehicle component action <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> car truck bolt engine extract <<subClassOf>> <<subClassOf>> <<subClassOf>> <<EquivalentClass>> diesel_engine semitrailer fuel_engine extraire ✓ extraire(vehicle):diesel_engine extract(truck):engine ➔ extract(semitrailer):engine 19
  • 28. Semantic Web Services orchestration Semantic equivalence thing <<subClassOf>> <<subClassOf>> <<subClassOf>> vehicle component action <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> car truck bolt engine extract <<subClassOf>> <<subClassOf>> <<subClassOf>> <<EquivalentClass>> diesel_engine semitrailer fuel_engine extraire ✓ extraire(vehicle):diesel_engine extract(truck):engine ➔ extract(semitrailer):engine 19
  • 29. Semantic Web Services orchestration Semantic equivalence thing <<subClassOf>> <<subClassOf>> <<subClassOf>> vehicle component action <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> <<subClassOf>> car truck bolt engine extract <<subClassOf>> <<subClassOf>> <<subClassOf>> <<EquivalentClass>> diesel_engine semitrailer fuel_engine extraire ✓ extraire(vehicle):diesel_engine extract(truck):engine ➔ extract(semitrailer):engine ✖ 19
  • 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
  • 39. Semantic Web Services orchestration Data adaptation Pierre Châtel 29