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

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

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

    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=\"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\"/> Pierre Châtel (...) 11
    13. Ontologies usage Semantic annotation <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\"/> Pierre Châtel (...) 11
    14. Ontologies usage Semantic annotation Pierre Châtel 12
    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

    + Pierre CHATELPierre CHATEL, 6 months ago

    custom

    154 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 154
      • 154 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?