Applying Semantics to Service Oriented Architectures Oasis Symposium 2006 The Meaning of Interoperability 9-12 May, San Francisco Presenters: Adrian Mocan Mick Kerrigan Michal Zaremba Special Thanks to: Emilia Cimpian Thomas Haselwanter Brahmananda Sapkota 1 The Aims of this Tutorial • Introduce the aims & challenges of Semantic Web Services (SWS) - the WSMO approach • Describe how SOA can be used with Semantic Web Services – WSMX Approach • Semantic SOA enables interoperability OASIS Symposium 2006 2 Overview • Introduction to SWS – WSMO • Introduction to SOA – WSMX • Means of Interoperability • Web Service Modeling Toolkit (WSMT) • Conclusions OASIS Symposium 2006 3 Overview • Introduction to SWS – WSMO • Introduction to SOA – WSMX • Means of Interoperability • WSMT • Conclusions OASIS Symposium 2006 4 Introduction to Semantic Web Services • Introduction to Semantic Web • Introduction to Web services Semantic Web Services OASIS Symposium 2006 5 Semantic Web and Web Services – The Vision 500 million user more than 3 billion pages Static WWW URI, HTML, HTTP OASIS Symposium 2006 6 Semantic Web and Web Services Serious Problems in information finding, information extracting, Information representing, information interpreting and information maintaining. Static WWW Semantic Web URI, HTML, HTTP RDF, RDF(S), OWL OASIS Symposium 2006 7 Semantic Web and Web Services – The Vision Dynamic Web Services UDDI, WSDL, SOAP Bringing the computer back as a device for computation Static WWW Semantic Web URI, HTML, HTTP RDF, RDF(S), OWL OASIS Symposium 2006 8 Semantic Web and Web Services – The Vision Bringing the Web to its full potential Dynamic Static UDDI, WSDL, SOAP Intelligent Web Services WWW Semantic Web URI, HTML, HTTP RDF, RDF(S), OWL Web Services OASIS Symposium 2006 9 Ontology Definition conceptual model of a domain (ontological theory) unambiguous terminology definitions Formal, explicit specification of a shared conceptualization machine-readability with computational semantics commonly accepted understanding OASIS Symposium 2006 10 Ontology Example Concept conceptual entity of the domain Attribute name Person student nr. property of a concept email Relation research field isA – hierarchy (taxonomy) relationship between concepts or properties Student Professor attends Axiom coherent description between Concepts / Properties / Relations via logical expressions holds Lecture lecture nr. topic holds(Professor, Lecture) Lecture.topic Professor.researchField OASIS Symposium 2006 11 Ontology Languages • Requirements: – ”expressivity“ • knowledge representation • ontology theory support – ”reasoning support“ • sound (unambiguous, decidable) • support of reasoners / inference engines • Semantic Web languages: – web compatibility – Existing W3C Recommendations: • XML, RDF, OWL OASIS Symposium 2006 12 Semantic Web Language Layer Cake OASIS Symposium 2006 13 Web Services • • • • • Web Services [Stencil Group] loosely coupled, reusable components encapsulate discrete functionality distributed programmatically accessible over standard internet protocols • add new level of functionality on top of the current web OASIS Symposium 2006 14 Using Web Services OASIS Symposium 2006 15 Using Web Services OASIS Symposium 2006 16 Lack of SWS standards • Current technology does not allow realization of any of the parts of the Web Service usage process: – – – – – Only syntactical standards available Lack of fully developed semantic markup languages Lack of semantically marked up content and services Lack of semantically enhanced repositories Lack of frameworks that facilitate discovery, composition and execution – Lack of tools and platforms that allow to semantically enrich current Web content OASIS Symposium 2006 17 Semantic Web Services • Define exhaustive description frameworks for describing Web Services and related aspects (Web Service Description Ontologies) • Support ontologies as underlying data model to allow machine supported data interpretation (Semantic Web aspect) • Define semantically driven technologies for automation of the Web Service usage process (Web Service aspect) OASIS Symposium 2006 18 Semantic Web Services (2) Usage Process: • Publication: Make available the description of the capabilities of a service • Discovery: Locate different services suitable for a given task • Selection: Choose the most appropriate services among the available ones • Composition: Combine services to achieve a goal • Mediation: Solve mismatches (in data or process) among the combined services • Execution: Invoke services following programmatic conventions OASIS Symposium 2006 19 Semantic Web Services (3) Usage Process – execution support • Monitoring: Control the execution process • Compensation: Provide transactional support and undo or mitigate unwanted effects • Replacement: Facilitate the substitution of services by equivalent ones • Auditing: Verify that service execution occurred in the expected way OASIS Symposium 2006 20 Summary Semantic Web Services = Semantic Web Technology + Web Service Technology OASIS Symposium 2006 21 Overview • Introduction to SWS – WSMO • Introduction to SOA – WSMX • Means of Interoperability • WSMT • Conclusions OASIS Symposium 2006 22 Web Service Modeling Ontology (WSMO) • A conceptual model for Semantic Web Services: – Ontology of core elements for Semantic Web Services – a formal description language (WSML) – execution environment (WSMX) • … derived from and based on the Web Service Modeling Framework WSMF • an European Semantic System Initiative – “ESSI Cluster” Working Group – joint European research and development initiative OASIS Symposium 2006 23 WSMO Working Groups A Conceptual Model for SWS A Formal Language for WSMO A Rule-based Language for SWS OASIS Symposium 2006 Execution Environment for WSMO 24 WSMO Design Principles Web Compliance Strict Decoupling Of Modeling Elements Ontology-Based WSMO Centrality of Mediation Ontological Role Separation Execution Semantics Description versus Implementation OASIS Symposium 2006 25 WSMO Top Level Notions Objectives that a client wants to achieve by using Web Services Provide the formally specified terminology of the information used by all other components Semantic description of Web Services: - Capability (functional) - Interfaces (usage) Connectors between components with mediation facilities for handling heterogeneities OASIS Symposium 2006 26 Non-Functional Properties Every WSMO elements is described by properties that contain relevant, non-functional aspects • Dublin Core Metadata Set: – complete item description – used for resource management • Versioning Information – evolution support • Quality of Service Information – availability, stability • Other – Owner, financial OASIS Symposium 2006 27 Non-Functional Properties List Dublin Core Metadata Contributor Coverage Creator Description Format Identifier Language Publisher Relation Rights Source Subject Title Type Quality of Service Accuracy NetworkRelatedQoS Performance Reliability Robustness Scalability Security Transactional Trust Other Financial Owner TypeOfMatch Version OASIS Symposium 2006 28 WSMO Ontologies Objectives that a client wants to achieve by using Web Services Provide the formally specified terminology of the information used by all other components Semantic description of Web Services: - Capability (functional) - Interfaces (usage) Connectors between components with mediation facilities for handling heterogeneities OASIS Symposium 2006 29 Ontology Usage & Principles • Ontologies are used as the ‘data model’ throughout WSMO – all WSMO element descriptions rely on ontologies – all data interchanged in Web Service usage are ontologies – Semantic information processing & ontology reasoning • WSMO Ontology Language WSML – conceptual syntax for describing WSMO elements – logical language for axiomatic expressions (WSML Layering) • WSMO Ontology Design – Modularization: – De-Coupling: import / re-using ontologies, modular approach for ontology design heterogeneity handled by OO Mediators OASIS Symposium 2006 30 Ontology Specification • Non functional properties • Imported Ontologies importing existing ontologies (see before) where no heterogeneities arise • Used mediators • Ontology Elements: Concepts Attributes Relations Functions Instances Axioms OO Mediators (ontology import with terminology mismatch handling) set of concepts that belong to the ontology, incl. set of attributes that belong to a concept define interrelations between several concepts special type of relation (unary range = return value) set of instances that belong to the represented ontology axiomatic expressions in ontology (logical statement) OASIS Symposium 2006 31 WSMO Web services Objectives that a client wants to achieve by using Web Services Provide the formally specified terminology of the information used by all other components Semantic description of Web Services: - Capability (functional) - Interfaces (usage) Connectors between components with mediation facilities for handling heterogeneities OASIS Symposium 2006 32 WSMO Web service description - complete item description - quality aspects - Web Service Management - Advertising of Web Service - Support for WS Discovery Non-functional Properties Capability DC + QoS + Version + financial functional description client-service interaction interface for consuming WS - External Visible Behavior - Communication Structure - ‘Grounding’ Web service Implementation (not of interest in Web Service Description) WS WS WS realization of functionality by aggregating other Web Services - functional decomposition - WS composition Choreography --- Service Interfaces --- Orchestration OASIS Symposium 2006 33 Capability Specification • • • Non functional properties Imported Ontologies Used mediators – OO Mediator: importing ontologies with mismatch resolution – WG Mediator: link to a Goal wherefore service is not usable a priori • Pre-conditions – What a web service expects in order to be able to provide its service – Define conditions over the input. • Assumptions – Conditions on the state of the world that has to hold before the Web Service can be executed • Post-conditions – Describes the result of the WS in relation to the input, and conditions on it • Effects – Conditions on the state of the world that hold after execution of the – Web Service (i.e. changes in the state of the world) OASIS Symposium 2006 34 Choreography & Orchestration VTA example: When the service is requested When the service requests Date, Time Date Hotel Hotel Service Time Error Flight, Hotel Error Confirmation VTA Service Confirmation Date, Time Flight Flight Service Error Confirmation • • Choreography = how to interact with the service to consume its functionality Orchestration = how service functionality is achieved by aggregating other Web services OASIS Symposium 2006 35 Choreography Aspects • Interface for consuming Web Service – External Visible Behavior • those aspects of the workflow of a Web Service where Interaction is required • described by workflow constructs: sequence, split, loop, parallel – Communication Structure • messages sent and received • their order (communicative behavior for service consumption) • choreography related errors (e.g. input wrong, message timeout, etc.) – Grounding • concrete communication technology for interaction – Formal Model • reasoning on Web Service interfaces (service interoperability) • allow mediation support on Web Service interfaces OASIS Symposium 2006 36 Orchestration Aspects Control Structure for aggregation of other Web Services Web Service Business Logic State in Orchestration Control Flow Data Flow 1 WS Service Interaction 3 2 4 WS - decomposition of service functionality - all service interaction via choreographies OASIS Symposium 2006 37 Orchestration Aspects • Service interfaces are concerned with service consumption and interaction • Choreography and Orchestration as sub-concepts of Service Interface • Common requirements for service interface description: – represent the dynamics of information interchange during service consumption and interaction – support ontologies as the underlying data model – appropriate communication technology for information interchange – sound formal model / semantics of service interface specifications in order to allow operations on them. OASIS Symposium 2006 38 Choreography and Orchestration - Overview Choreography: - interaction of services / service and client - a „choreography interface“ describes the behavior of a Web Service for client-service interaction for consuming the service Orchestration: - how the functionality of a Web Service is achieved by aggregating other Web Services - extends Choreography descriptions by control & data flow constructs between orchestrating WS and orchestrated WSs. Conceptual models User language - based on UML2 activity diagrams - graphical Tool for Editing & Browsing Service Interface Description workflow constructs as basis for describing service interfaces: - workflow based process models for describing behavior - on basis of generic workflow constructs (e.g. van der Aalst) Formal description of service interfaces: - ASM-based approach - allows reasoning & mediation Ontologies as data model: - every resource description based on ontologies - every data element interchanged is ontology instance OASIS Symposium 2006 Grounding: - making service interfaces executable - currently grounding to WSDL 39 WSMO Goals Objectives that a client wants to achieve by using Web Services Provide the formally specified terminology of the information used by all other components Semantic description of Web Services: - Capability (functional) - Interfaces (usage) Connectors between components with mediation facilities for handling heterogeneities OASIS Symposium 2006 40 Goals • Ontological De-coupling of Requester and Provider • Goal-driven Approach – – – – derived from AI rational agent approach Requester formulates objective independently ‘Intelligent’ mechanisms detect suitable services for solving the Goal allows re-use of Services for different purposes • Usage of Goals within Semantic Web Services – A Requester, that is an agent (human or machine), defines a Goal to be resolved – Web Service Discovery detects suitable Web Services for solving the Goal automatically – Goal Resolution Management is realized in implementations OASIS Symposium 2006 41 Goal Specification • • • Non functional properties Imported Ontologies Used mediators – OO Mediators: importing ontologies with heterogeneity resolution – GG Mediator: • Goal definition by reusing an already existing goal • allows definition of Goal Ontologies • • Requested Capability – describes service functionality expected to resolve the objective – defined as capability description from the requester perspective Requested Interface – describes communication behaviour supported by the requester for consuming a Web Service (Choreography) – Restrictions / preferences on orchestrations of acceptable Web Services OASIS Symposium 2006 42 WSMO Mediators Objectives that a client wants to achieve by using Web Services Provide the formally specified terminology of the information used by all other components Semantic description of Web Services: - Capability (functional) - Interfaces (usage) Connectors between components with mediation facilities for handling heterogeneities OASIS Symposium 2006 43 Mediation • Heterogeneity … – – – • Mismatches on structural / semantic / conceptual / functional / level Occur between different components that shall interoperate Especially in distributed & open environments like the Internet Concept of Mediation (Wiederhold, 94): – Mediators as components that resolve mismatches – Declarative Approach: • Semantic description of resources • ‘Intelligent’ mechanisms that resolve mismatches independent of content – Mediation cannot be fully automated (integration decision) • Levels of Mediation within Semantic Web Services (WSMF): (1) Data Level: mediate heterogeneous Data Sources (2) Functional Level: mediate mismatches between Web Service/Goal and Web Service/Goals functionalities (3) Process/Protocol Level: mediate heterogeneous Business Processes/Communication Patterns • Layers of Mediators – – Specification Layer – WSMO Mediators Implementation Layer – Levels of Mediation OASIS Symposium 2006 44 WSMO Mediators Overview OASIS Symposium 2006 45 Mediator Structure Source Component WSMO Mediator 1 .. n Source Component uses a Mediation Service via 1 Target Component - as a Goal - directly - optionally incl. Mediation Specification layer Implementation layer Mediation Services OASIS Symposium 2006 46 OO Mediator - Example Merging 2 ontologies OO Mediator Mediation Service Train Connection Ontology (s1) Purchase Ontology (s2) Goal: “merge s1, s2 and s1.ticket subclassof s2.product” Train Ticket Purchase Ontology Discovery Mediation Services OASIS Symposium 2006 47 GG Mediators • Aim: – Support specification of Goals by re-using existing Goals – Allow definition of Goal Ontologies (collection of pre-defined Goals) – Terminology mismatches handled by OO Mediators • Example: Goal Refinement Source Goal “Buy a ticket” GG Mediator Mediation Service Target Goal “Buy a Train Ticket” postcondition: “aTicket memberof trainticket” OASIS Symposium 2006 48 WG & WW Mediators • WG Mediators: – – – • link a Web Service to a Goal and resolve occurring mismatches match Web Service and Goals that do not match a priori handle terminology mismatches between Web Services and Goals broader range of Goals solvable by a Web Service WW Mediators: – enable interoperability of heterogeneous Web Services support automated collaboration between Web Services – – – OO Mediators for terminology import with data level mediation Protocol Mediation for establishing valid multi-party collaborations Process Mediation for making Business Processes interoperable OASIS Symposium 2006 49 Data Level Mediation • Scope – Solving terminological mismatches • Related Aspects / Techniques: – Ontology Integration (Mapping, Merging, Alignment) – Data Lifting & Lowering – Transformation between Languages / Formalisms • Terminology Mismatches Classification – Conceptualization Mismatches • • • • same domain concepts, but different conceptualization different levels of abstraction different ontological structure => resolution only includs human intervention – Explication Mismatches • mismatches between: – T (Term used), D (definition of concepts), C (real world concept) • => automated resolution partially possible OASIS Symposium 2006 50 Functional Level Mediation • Scope – Solving functional mismatches between goals and/or ws • Related Aspects/Techniques – Discovery – Semantic Matchmaking • Matchmaking Mismatches = G/WS = G/WS X Exact Match PlugIn Match Subsumption Match Intersection Match OASIS Symposium 2006 No Match 51 Process Level Mediation • Scope – Resolves communication mismatches and establish behavior compatibility • Related Aspects/Techniques – Data and control flow composition • Process Mismatches – Signature terminology mismatches (need for data level mediation) – Communication/behavior mismatches Business Partner1 A B PM Business Partner1 A B Business Partner1 OASIS Symposium 2006 A and B B Business Partner2 PM B A Business Partner2 PM A B Business Partner2 Business Partner1 A B PM Business Partner1 A AckA PM A and B A Business Partner2 Business Partner2 52 WSMO Mediators and Mediation Levels • ooMediator • wgMediator – Data Level Mediation – Data Level Mediation – Functional Level Mediation – Process Level Mediation • ggMediator – Data Level Mediation – Functional Level Mediation • wwMediator – Data Level Mediation – Functional Level Mediation – Process Level Mediation Ex: (not of interest in Service Interface Description) WW Mediator internal business logic of Web Service OASIS Symposium 2006 internal business logic of Web Service (not of interest in Service Interface Description) 53 Overview • Introduction to SWS – WSMO • Introduction to SOA – WSMX • Means of Interoperability • WSMT • Conclusions OASIS Symposium 2006 54 Information Technology versus Mission of Organizations • Goals Mission • Objectives • Strategy selection Strategies • Value Proposition development • Long term vision alignment • Critical success factors for customers and service offerings Capabilities Key Enablers OASIS Symposium 2006 • Specific definition functional performance • People (e.g., organization structure, human capital) • Business Processes • IT (e.g., systems) • Physical Infrastructure (e.g., facilities, workplace environment) Existing IT architectures cannot support changing needs Existing Architectures do not scale No agility, processes redundant, lack of system interactions, and everything is very costly Agility Process Heterogeneity Data Heterogeneity IT assets cannot be easily repositioned in response to changing requirements Systems, organizations units and network of partners duplicate the same work Difficult to determine “what data means” fosters duplicate applications and data No solution for efficient intra- and interorganization information sharing Information stovepipes require point-to-point integrations that limit flexibility and create maintenance overhead Inability of applications to interoperate due to platform incompatibility Data used across an organization is often inconsistent and potentially inaccurate Decision cycles are unnecessarily lengthened by data stovepipes More efforts spent connecting systems together than adding mission critical capabilities OASIS Symposium 2006 Costs Duplicate data entry and manual data reunion require extra man power Point-to-point integration shifts IT professionals towards repetitive employees to time consuming tasks Integrating data stovepipes is expensive and wasteful Operations and maintenance costs are a rising percentage of the budget 56 A Solution – Service Oriented Architectures Service Capabilities performed by one for another to achieve a desired outcome SOA - A paradigm that encourages organizations to re-think how their IT capabilities are organized Oriented Functionally aligning architecture to enable a collection of independent services to be linked together to solve a business problem Architecture SOA is an approach to organizing and using IT to match and combine needs with capabilities in support of the overall mission of an enterprise The fundamental organization of a system embodied in its capabilities, their interactions, and the environment OASIS Symposium 2006 57 Analogy - traditional software architecture versus SOA Traditional approach to software architecture Service-Oriented Architecture “Separate Specialist” model “Service-Oriented” model Mechanic does job himself or asks other mechanics to take care of tasks he is not capable to do In garage every mechanic specialize only in one type of car so it does not matter what you want to repair you always have to wait for a mechanic who knows your type of car; if he/she is sick or on holiday you cannot repair your car at all • No Agility to repair your car even for trivial tasks • A Process that is duplicative and inefficient • Costly to operate and maintain – keep many people You ask any mechanic in a garage to repair your car – model of your car does not matter • Agility to repair cars quickly (next available mechanic takes care) • A Process that is efficient • Cost effective to operate and maintain OASIS Symposium 2006 58 SOA Benefits SOA allows to align IT with mission of the organization Better agility, no redundancy, system interactions, and reduces overall costs of system maintenance Agility Focus more on core competencies Creates a network of service requesters (consumers) and service providers (producers) Enable enterprises to be more agile and respond quickly to changing requirements Increase business flexibility through plugand-play architecture and re-use of existing services Process Heterogeneity Data Heterogeneity Allow interoperation with other systems without time consuming customization and pointto-point integration Improve semantics of data exchanged during business process execution Ensure system change is not a constraint on business or mission change Facilitate integration with multiple solutions via open IT standards Maintain consistency of data across different systems Remain platform, language, and vendor independent to remove IT barriers for using best-ofbreed software packages OASIS Symposium 2006 Costs Leverage existing IT infrastructure Reduce costs of development of new functionalities by acquiring pre-built components/services Lower maintenance costs 59 SOA Design Principles • Strong Decoupling & Strong Mediation – autonomous components with mediators for interoperability • Interface vs. Implementation – distinguish interface (= description) from implementation (=program) • Peer to Peer – interaction between equal partners (in terms of control) OASIS Symposium 2006 60 Benefits of SOA • Better reuse – Build new functionality (new execution semantics) on top of existing Business Services • Well defined interfaces – Manage changes without affecting the Core System • Easier Maintainability – Changes/Versions are not all-or-nothing • Better Flexibility OASIS Symposium 2006 61 Semantically Empowered Service-oriented Architectures (SESA) • • • • Currently, computer science is in a new period of abstraction. A generation ago we learnt to abstract from hardware and currently we learn to abstract from software in terms of SERVICE oriented architectures (SOA). It is the service that counts for a customer and not the specific software or hardware that is used to implement the service. In a later stage, we may even talk in terms of problem-oriented architectures (or more positively expressed in terms of problem-solving oriented architectures) because SOAs are biased towards the service provider and not towards the customer that has a problem that needs to be solved. OASIS Symposium 2006 62 Semantically Empowered Service-oriented Architecture (SESA) • Service-oriented architectures will become quickly the leading software paradigm • However, SOAs will not scale without significant mechanization of – Service discovery, service adaptation, negotiation, service composition, service invocation, and service monitoring; and – Data and process mediation • Therefore, machine processable semantics needs to be added to bring SOAs to their full potential • Development of open standards (languages) and open source architectures and tools that add semantics to service descriptions OASIS Symposium 2006 63 Semantic Web Services Infrastructure • A service oriented architecture. • Reference implementation of WSMO OASIS Symposium 2006 64 User Service versus Platform Service in SWS Systems External SOA User Service User Service SEE Platform Service: Data Mediation Platform Service: Discovery Execution Management (Execution Semantics) Platform Service: […] User Service User Service OASIS Symposium 2006 65 Vertical and Horizontal Services • Vertical services remain invisible to horizontal services, and during its execution, the horizontal services remain unaware that vertical services are executed together with them • Vertical services invoke horizontal services, coordinating overall workflow, rather than horizontal service invoking the vertical OASIS Symposium 2006 66 Overview • Introduction to SWS – WSMO • Introduction to SOA – WSMX • Means of Interoperability • WSMT • Conclusions OASIS Symposium 2006 67 WSMX Introduction • Software framework for runtime binding of service requesters and service providers • WSMX interprets service requester’s goal to – – – – discover matching services select (if desired) the service that best fits provide mediation (if required) make the service invocation • Is based on the conceptual model provided by WSMO • Has a formal execution semantics • Service Oriented and event-based architecture – based on microkernel design using technologies as J2EE, Hibernate, Spring, JMX, etc. OASIS Symposium 2006 68 WSMX Motivation • Provide middleware ‘glue’ for Semantic Web Services – Allow service providers focus on their business • Provide a reference implementation for WSMO – Eat our own cake • Provide an environment for goal based service discovery and invocation – Run-time binding of service requester and provider • Provide a flexible Service Oriented Architecture – Add, update, remove components at run-time as needed • Keep open-source to encourage participation – Developers are free to use in their own code • Define formal execution semantics – Unambiguous model of system behaviour OASIS Symposium 2006 69 WSMX Usage Scenario OASIS Symposium 2006 70 WSMX Usage Scenario - P2P • • • • • A P2P network of WSMX ‘nodes’ Each WSMX node described as a SWS Communication via WSML over SOAP Distributed discovery – first aim Longer term aim - distributed execution environment OASIS Symposium 2006 71 WSMX Usage Scenario - P2P Peer Internet Internet Message Message WSMX SWS ARCHITECTURE Message Message OASIS Symposium 2006 Peer 72 WSMX Usage Scenario - P2P Internet Internet Peer Message Vertical Services e.g. Security Message Execution Management End User Tools Developer Tools Problem Solving Layer Discovery Adaptation Composition Data Mediation Process Mediation Communication (external) Fault Handling Message Monitoring Application Services Layer Storage Choreography Message Peer Reasoning Base Services Layer OASIS Symposium 2006 73 Design Principles • Strong Decoupling & Strong Mediation – autonomous components with mediators for interoperability • Interface vs. Implementation – distinguish interface (= description) from implementation (=program) • Peer to Peer – interaction between equal partners (in terms of control) WSMO Design Principles == WSMX Design Principles == SOA Design Principles OASIS Symposium 2006 74 Benefits of SOA • Better reuse – Build new functionality (new execution semantics) on top of existing Business Services • Well defined interfaces – Manage changes without affecting the Core System • Easier Maintainability – Changes/Versions are not all-or-nothing • Better Flexibility OASIS Symposium 2006 75 WSMX Architecture Service Oriented Architecture Service s WSMX Manager Requesters WSMX Managment WSMT – Web Services Modeling Toolkit WSMX Monitor WSML Editor Messaging Ontology Visualizer Mapping Tools WSMX System Interface ... Adapter n Data and Communication Protocols Adapters Adapter 2 Agent acting on behalf of service requester Adapter 1 Back-End Application Service Providers Administration Framework Interface WSMX Manager Core CM Wrapper RM Wrapper Parser Wrapper Discovery Wrapper Selector Wrapper DM Wrapper PM Wrapper Choreography Wrapper Interface Interface Interface Interface Interface Interface Interface Interface Communication Manager Resource Manager Selector Data Mediator Process Mediator Choreography Invoker Parser Discovery Receiver Web Service 2 ... Web Service p Grounding Resource Manager Interface WSMO Objects Web Service 1 Non WSMO Objects Reasoner Interface Reasoner Application Managemen t OASIS Symposium 2006 Component Wrapper Interface New Component 76 Selected Components • Reasoning Internet Internet End User Tools Message Peer Message Vertical Services e.g. Security Adapters Parser Invoker Choreography Process Mediator Discovery Data Mediator Resource Manager Execution Management • • • • • • • • Developer Tools Problem Solving Layer Discovery Adaptation Composition Data Mediation Process Mediation Communication (external) Fault Handling Message Monitoring Application Services Layer Storage Choreography Message Peer Reasoning Base Services Layer OASIS Symposium 2006 77 Adapters • To overcome data representation mismatches on the communication layer • Transforms the format of a received message into WSML compliant format • Based on mapping rules OASIS Symposium 2006 78 Parser • WSML compliant parser – Code handed over to wsmo4j initiative http://wsmo4j.sourceforge.net/ • Validates WSML description files • Compiles WSML description into internal memory model • Stores WSML description persistently (using Resource Manager) OASIS Symposium 2006 79 Communication Manager – Invoker • WSMX uses – The SOAP implementation from Apache AXIS – The Apache Web Service Invocation Framework (WSIF) • WSMO service descriptions are grounded to WSDL • Both RPC and Document style invocations possible • Input parameters for the Web Services are translated from WSML to XML using an additional XML Converter component. Network Mediated WSML Data XML Converter SOAP XML Invoker Apache AXIS OASIS Symposium 2006 Web Service 80 Choreography • Requester and provider have their own observable communication patterns – Choreography part of WSMO • Choreography instances are loaded for the requester and provider – Both requester and provider have their own WSMO descriptions • Choreography Engine – Evaluation of transition rules • Prepares the available data – Sends data to the Process Mediator • The Process Mediator filters, changed or even replaced data – Receive data from PM and forwards it to the Communication manager • Data to be finally sent to the communication partner OASIS Symposium 2006 81 Process Mediator • Requester and provider have their own communication patterns • Only if the two match precisely, a direct communication may take place • The Process Mediator provides the means for runtime analyses of two choreography instances and uses mediators to compensate possible mismatches OASIS Symposium 2006 82 Discovery • Responsible for finding appropriate Web Services to achieve a goal (discovery) • Current discovery component is based on simple matching – – – – Keywords identified in the NFP of the goal Matched against NFPs of the published WSs Variable set of NFPs to be considered for this process To be extended • Values in NFPs might be concepts from ontologies • More elaborate string matching algorithms • Advanced semantic discovery in prototypical stage OASIS Symposium 2006 83 Data Mediator • • • • Ontology-to-ontology mediation A set of mapping rules are defined and then executed Initially rules are defined semi-automatic Create for each source instance the target instance(s) Source Ontology Target Ontology Target Instance Source Instance Data Mediation Mappings Mappings Design-time Component Run-time Component Storage OASIS Symposium 2006 84 Resource Manager • • • • Stores internal memory model to a data store Decouples storage mechanism from the rest of WSMX Data model is compliant to WSMO API Independent of any specific data store implementation i.e. database and storage mechanism OASIS Symposium 2006 85 Reasoner • WSMO4J – • validation, serialization and parsing WSML2Reasoner – Reasoning API • – Contains: • • • Features: • • • Mins – Datalog + Negation + Function Symbols Reasoner Engine – Features • Built-in predicates • Function symbols • Stratified negation Common API for WSML Reasoners Transformations of WSML to tool-specific input data (query answering or instance retrieval) WSML-DL-Reasoner – • mapping fromWSML to a vendor-neutral rule representation • • • T-Box reasoning (provided by FaCT++) Querying for all concepts Querying for the equivalents, for the children, for the descendants, for the parents and for all ancestors of a given concept Testing the satisfiability of a given concept with respect to the knowledge base Subsumption test of two concepts with respect to the knowledge base Wrapper of WSML-DL to the XML syntax of DL used in the DIG interface OASIS Symposium 2006 86 System Entry Points • achieveGoal (WSMLDocument): Context • getWebServices (WSMLDocument): Context invokeWebService(WSMLDocument, Context): Context OASIS Symposium 2006 87 Define “Business” Process OASIS Symposium 2006 88 Generate Wrappers for Components Registry of known components Discovery Wrapper Choreography Wrapper Communication Manager Wrapper OASIS Symposium 2006 89 Context Data PROCESS CONTEXT Registry of known components Data Mediator Discovery Wrapper Choreography Wrapper Communication Manager Wrapper Choreography object Mediated objects , Web Services entities Errors Exceptions OASIS Symposium 2006 90 Event-based Implementation OASIS Symposium 2006 91 WSMX Conclusions Conceptual model is WSMO End to end functionality for executing SWS Has a formal execution semantics Real implementation Open source code base at SourceForge Event-driven component architecture Internet Internet Message Peer Message Vertical Services e.g. Security End User Tools Execution Management • • • • • • Developer Tools Problem Solving Layer Discovery Adaptation Composition Data Mediation Process Mediation Communication (external) Fault Handling Message Monitoring Application Services Layer Storage Choreography Message Peer Reasoning Base Services Layer OASIS Symposium 2006 92 Overview • Introduction to SWS – WSMO • Introduction to SOA – WSMX • Means of Interoperability • WSMT • Conclusions OASIS Symposium 2006 93 Means of Interoperability • Format and Language heterogeneity – Adaptors to/from WSML • Interface/communications formalism – Choreography and Orchestraton • Ontology heterogeneity – Data Mediation • Interface/communication patterns heterogeneity – Process Mediation OASIS Symposium 2006 94 Adapter Framework • Overview – – – – – – Overcomes mismatches at the communication layer Is based on Java Connector Architecture (JCA) Is based on SOA design principles Adapters function independently Adapters are built based on mapping rules Is developed in Java • Motivation – WSMX does not recognize message formats other than WSML – Backend applications that do not use WSML cannot communicate with WSMX without the help of adapters that transforms the format of a received message to WSML format – Provide a unified framework for developing and using adapters OASIS Symposium 2006 95 Features • Adapters can be added and removed at run time • Secure pluggability • Supports both synchronous and asynchronous communication • Handles communication protocol heterogeneity, i.e., allow to communicate using HTTP(S), TCP/IP, UDP • Provides simple operations: – Deploy: adds adapter to the adapter pool – Undeploy: removes adapter from the adapter pool, subject to security constraints – Send: send legacy message to WSMX – Receive: receive legacy message from WSMX OASIS Symposium 2006 96 Adapter Framework - Architecture Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Direct Communication Backend Application Listener Indirect Communication WSMX Direct Communication Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML ... 2WSML ... WSML2 ... WSML2 ... WSML2 ... WSML2 Metadata Repository OASIS Symposium 2006 97 Adapter Framework – Deploy adapter Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application deploy (adapterName, someAdaper.adapter) Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML Request sent to deploy an adapter OASIS Symposium 2006 ... WSML2 ... WSML2 ... WSML2 Metadata Repository 98 Adapter Framework – Deploy adapter Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application deploy (adapterName, someAdaper.adapter) Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML Communication type scanned OASIS Symposium 2006 ... WSML2 ... WSML2 ... WSML2 Metadata Repository 99 Adapter Framework – Deploy adapter Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application deploy (adapterName, someAdaper.adapter) Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML Fingerprint for this adapter created OASIS Symposium 2006 ... WSML2 ... WSML2 ... WSML2 Metadata Repository 100 Adapter Framework – Deploy adapter Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML Metadata updated ... WSML2 ... WSML2 ... WSML2 Metadata Repository OASIS Symposium 2006 101 Adapter Framework – Deploy adapter Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML adapterName2WSML Adapter stored ... WSML2 ... WSML2 ... WSML2 WSML2adapterName Metadata Repository OASIS Symposium 2006 102 Adapter Framework – Deploy adapter Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML adapterName2WSML Fingerprint returned in a requested communication mode OASIS Symposium 2006 ... WSML2 ... WSML2 ... WSML2 WSML2adapterName Metadata Repository 103 Adapter Framework – Deploy adapter Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application D749 9163 9E5E BDFC 8018 E6B8 49DD 3252 ACF6 7294 Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML adapterName2WSML Fingerprint returned in to backend application OASIS Symposium 2006 ... WSML2 ... WSML2 ... WSML2 WSML2adapterName Metadata Repository 104 Adapter Framework – Send Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application send (adapterName, message, fingerprint) Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML adapterName2WSML Message send to WSMX via Adapter Framework OASIS Symposium 2006 ... WSML2 ... WSML2 ... WSML2 WSML2adapterName Metadata Repository 105 Adapter Framework – Send Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application send (adapterName, message, fingerprint) Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML adapterName2WSML Communication type scanned OASIS Symposium 2006 ... WSML2 ... WSML2 ... WSML2 WSML2adapterName Metadata Repository 106 Adapter Framework – Send Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application send (adapterName, message, fingerprint) Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML adapterName2WSML Fingerprint checked, valid fingerprint OASIS Symposium 2006 ... WSML2 ... WSML2 ... WSML2 WSML2adapterName Metadata Repository 107 Adapter Framework – Send Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application send (adapterName, message, fingerprint) Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML adapterName2WSML Message format checked, valid fingerprint OASIS Symposium 2006 ... WSML2 ... WSML2 ... WSML2 WSML2adapterName Metadata Repository 108 Adapter Framework – Send Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application send (adapterName, message, fingerprint) Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML adapterName2WSML Internal request sent to select adapterName2WSML OASIS Symposium 2006 ... WSML2 ... WSML2 ... WSML2 WSML2adapterName Metadata Repository 109 Adapter Framework – Send Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application send (adapterName, message, fingerprint) Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML adapterName2WSML adapterName2WSML selected looking into metadata repository OASIS Symposium 2006 ... WSML2 ... WSML2 ... WSML2 WSML2adapterName Metadata Repository 110 Adapter Framework – Send Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application achieveGoal (WSMLDocument) Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML adapterName2WSML Message translated and sent to WSMX OASIS Symposium 2006 ... WSML2 ... WSML2 ... WSML2 WSML2adapterName Metadata Repository 111 Adapter Framework – Undeploy adapter Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application undeploy (adapterName, D749 9163 9E5E BDFC 8018 E6B8 49DD 3252 ACF6 7294) Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML adapterName2WSML Request sent to undeploy an adapter together with its fingerprint OASIS Symposium 2006 ... WSML2 ... WSML2 ... WSML2 WSML2adapterName Metadata Repository 112 Adapter Framework – Undeploy adapter Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application undeploy (adapterName, D749 9163 9E5E BDFC 8018 E6B8 49DD 3252 ACF6 7294) Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML adapterName2WSML Fingerprint checked, valid fingerprint OASIS Symposium 2006 ... WSML2 ... WSML2 ... WSML2 WSML2adapterName Metadata Repository 113 Adapter Framework – Undeploy adapter Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML adapterName2WSML Metadata updated ... WSML2 ... WSML2 ... WSML2 WSML2adapterName Metadata Repository OASIS Symposium 2006 114 Adapter Framework – Undeploy adapter Communication Manager Adapter Manager/Selector Security Manager Protocol Handler (Sync, Async) Backend Application Listener WSMX Validator (Message, Protocol) Adapter Pool Inward Outward UBL2WSML WSML2UBL EDI2WSML WSML2EDI RosettaNet2WSML WSML2RosettaNet ... 2WSML ...2WSML ... 2WSML Adapter removed ... WSML2 ... WSML2 ... WSML2 Metadata Repository OASIS Symposium 2006 115 Choreography & Orchestration VTA example: When the service is requested When the service requests Date, Time Date Hotel Hotel Service Time Error Flight, Hotel Error Confirmation VTA Service Confirmation Date, Time Flight Flight Service Error Confirmation • • Choreography = how to interact with the service to consume its functionality Orchestration = how service functionality is achieved by aggregating other Web services OASIS Symposium 2006 Abstract State Machine • Formality – a rigid framework to express dynamics. • Maximality – expressive enough to model any aspect around computation • Minimality – minimal set of modeling primitives – minimal ontological commitment OASIS Symposium 2006 Choreography outline Class choreography hasNonFunctionalProperties type nonFunctionalProperties hasStateSignature type stateSignature hasTransitionRules type transitionRules • NFPs – The same as in WSML • State Signature – Defines the state ontology used by the service together with the definition of the types of modes the concepts and relations may have • Transition Rules – Express changes of states OASIS Symposium 2006 States Signatures Class stateSignature hasNonFunctionalProperties type nonFunctionalProperties importsOntology type ontology usesMediator type ooMediator hasStatic type mode hasIn type mode hasOut type mode hasShared type mode hasControlled type mode Class mode subClass {concept, relation} hasGrounding type grounding OASIS Symposium 2006 Transition Rules • if φ then T endIf • forall V with ψ do T′ endForall • choose V with ψ do T′ endChoose • φ is a first order formula with no free variables • V is a set of variables • ψ is a first order formula where the free variables are interpreted as parameters and all free variables in ψ occur in V • T is a set of transition rules • T′ is a set of transition rules and/or non-ground update rules, where each variable which occurs in any non-ground update rule in T′, occurs also in V OASIS Symposium 2006 Update rules • add(a) • delete(a) where a is a WSML atomic formula, which possibly includes – parameter variables, or – non-primitive update rules of the form: • update(anew) • update(aold => anew) • SU = S \ {a|delete(a) Є U} U {a|add(a) Є U} where O is an ontology O, S a state and U an update set OASIS Symposium 2006 Machine behaviour Given C = (O, T, S) • S0 = S • for 0 ≤ i ≤ n-1, – Si ≠ Si+1 – U = {add(a) | a Є Si+1 \ Si} U {delete(a) | a Є Si \ Si+1} is an update set associated with Si, O and T – Si+1 is consistent with O, and Si • run terminated OASIS Symposium 2006 Data Mediator • • • • Ontology-to-ontology mediation A set of mapping rules are defined and then executed Initially rules are defined semi-automatic Create for each source instance the target instance(s) Source Ontology Target Ontology Target Instance Source Instance Data Mediation Mappings Mappings Design-time Component Run-time Component Storage OASIS Symposium 2006 123 Design-time • Inputs – Source Ontology and Target Ontology • Features – – – – Graphical interface Set of mechanism towards semi-automatic creation of mappings Capturing the semantic relationships identified in the process Storing these mappings in a persistent storage • Output – Abstract representation of the mappings OASIS Symposium 2006 124 Design-time Phase OASIS Symposium 2006 125 Design-time Phase - Approach, Decomposition and Mapping Context • Bottom-up -> training set • Top-down -> decomposition, context OASIS Symposium 2006 126 Design-time Phase - Suggestion Algorithms • Eligibility Factor = f(Lexical Factor, Structural Factor) • Lexical Factor: – WordNet • Synonyms, hyponyms, hipernyms – string analyzing algorithms • Tokenizer and string distance • Structural Factor – Decomposition, EF for the composing concepts • Based on the already done mappings OASIS Symposium 2006 127 Run-Time Data Mediator • Main Mediation Scenario: Instance Transformation • Inputs – Incoming data • Source ontology instances • Features – Completely automatic process – Grounding of the abstract mappings to a concrete language • F-Logic, WSML – Uses a reasoner to evaluate the mapping rules • MINS • Outputs – Mediated data • Target ontology instances OASIS Symposium 2006 128 Run Time Component - Architecture Source Target Reasoning Environment Instance Mapping Rules Instance Rules Generator Ontologies Mappings Abstract Mappings Repr. OASIS Symposium 2006 129 Run Time Component – Features • Grounding the abstract mappings • Associate a formal semantics to the mappings – Obtain rules in a concrete language • Why not during design time? – – – – – Offers a grater flexibility Different groundings for the same mappings set Different execution environments for the grounded mappings Easier to maintain the abstract mappings Important point of alignment • Caching mechanism can be used OASIS Symposium 2006 130 Ontology Mapping Language • Language Neutral Mapping Language – mapping definitions on meta-layer (i.e. on generic ontological constructs) – independent of ontology specification language – “Grounding” to specific languages for execution (WSML, OWL, F-Logic) • Main Features: – Mapping Document (sources, mappings, mediation service) – direction of mapping (uni- / bidirectional) – conditions / logical expressions for data type mismatch handling, restriction of mapping validity, and complex mapping definitions – mapping constructs: • classMapping, attributeMapping, relationMapping (between similar constructs) • classAtrributeMapping, classRelationMapping, classInstanceMapping • instanceMapping (explicit ontology instance transformation) – mapping operators: • =, <, <=, >, >=, and, or, not • inverse, symmetric, transitive, reflexive • join, split OASIS Symposium 2006 131 Mapping Language Example Ontology O2 Ontology O1 Person Human - name - age - name Adult Child mick memberOf Person - name = Mick Kerrigan - age = 27 classMapping(unidirectional o2:Person o1.Adult attributeValueCondition(o2.Person.age >= 18)) This allows to transform the instance ‘mick’ of concept person in ontology O2 into a valid instance of concept ‘adult’ in ontology O1 OASIS Symposium 2006 132 Process Mediator • Requester and provider have their own communication patterns • Only if the two match precisely, a direct communication may take place • The Process Mediator provides the means for runtime analyses of two choreography instances and uses mediators to compensate possible mismatches OASIS Symposium 2006 133 Compatibility • Two business partners are compatible if their public processes are matching Business Partner1 A A B B C C D D E E OASIS Symposium 2006 Business Partner2 134 Compatibility • Two business partners are compatible if their public processes are matching Business Partner1 A E B B C C, D D A Business Partner2 E OASIS Symposium 2006 135 Process Mediator – Addressed Mismatches Business Partner1 A B PM Business Partner1 A B Business Partner1 A and B B Business Partner2 PM B A Business Partner2 PM A B Business Partner2 Business Partner1 A B PM Business Partner1 A AckA PM A and B A OASIS Symposium 2006 Business Partner2 Business Partner2 136 Process Mediator – Unsolvable Mismatches ? Business Partner1 Business Partner1 Business Partner1 A B A Ack PM A PM B A ? PM ? OASIS Symposium 2006 Business Partner2 Business Partner2 Business Partner2 137 Process Mediation Example Processes Mediator itinerary[origin, R destination, date] E Q time U E S price T origin destination itinerary[origin, destination] date ticket[route, date, time, price] OASIS Symposium 2006 S E R V I C E 138 Process Mediation Example Processes Mediator itinerary[origin, R destination, date] E Q time U E S price T origin destination itinerary[origin, destination] date ticket[route, S E R V I C E date, time, price] OASIS Symposium 2006 139 Process Mediation Example Processes Mediator itinerary[origin, R destination, date] E Q time U E S price T origin destination itinerary[origin, destination] date ticket[route, S E R V I C E date, time, price] OASIS Symposium 2006 140 Process Mediation Example Processes Mediator itinerary[origin, R destination, date] E Q time U E S price T origin destination itinerary[origin, destination] date ticket[route, S E R V I C E date, time, price] OASIS Symposium 2006 141 Process Mediation Example Processes Mediator itinerary[origin, R destination, date] E Q time U E S price T origin destination itinerary[origin, destination] date ticket[route, S E R V I C E date, time, price] OASIS Symposium 2006 142 Overview • Introduction to SWS – WSMO • Introduction to SOA – WSMX • Means of Interoperability • WSMT • Conclusions OASIS Symposium 2006 143 Web Services Modeling Toolkit • The aim of the Web Services Modeling Toolkit (WSMT) is to provide high-quality tools for designing, mediating and using Semantic Web Services, through the WSMO paradigm. • The focus is currently on the following areas: – Creation of ontologies, web services, goals and mediators in WSMO – Creation of mappings between pairs of ontologies to allow runtime instance transformation – Management of Execution Environments for Semantic Web Services like WSMX and IRSIII OASIS Symposium 2006 144 WSML Perspective • Perspectives in the Eclipse framework allow for a number of Editors and views to be grouped and positions. • The WSML perspective offers editors and views related to engineering of semantic descriptions in WSMO through the WSML language. • Other General features include: – WSML file validation – Problems view (errors and warnings on files in the workspace) – Label highlighting (marking of errors and warnings in navigator view) OASIS Symposium 2006 145 WSML Editors and Views in the WSML perspective Editors WSML Text Editor WSML Conceptual Editor WSML Visualizer Views Navigator view Problems view WSML Reasoner OASIS Symposium 2006 146 Editors and Views in the WSML perspective Editors WSML Text Editor WSML Conceptual Editor WSML Visualizer Views Navigator view Problems view WSML Reasoner OASIS Symposium 2006 147 Editors and Views in the WSML perspective Editors WSML Text Editor WSML Conceptual Editor WSML Visualizer Views Navigator view Problems view WSML Reasoner OASIS Symposium 2006 148 Editors and Views in the WSML perspective Editors WSML Text Editor WSML Conceptual Editor WSML Visualizer Views Navigator view Problems view WSML Reasoner OASIS Symposium 2006 149 Editors and Views in the WSML perspective Editors WSML Text Editor WSML Conceptual Editor WSML Visualizer Views Navigator view Problems view WSML Reasoner OASIS Symposium 2006 150 Editors and Views in the WSML perspective Editors WSML Text Editor WSML Conceptual Editor WSML Visualizer Views Navigator view Problems view WSML Reasoner OASIS Symposium 2006 151 Editors and Views in the WSML perspective Editors WSML Text Editor WSML Conceptual Editor WSML Visualizer Views Navigator view Problems view WSML Reasoner OASIS Symposium 2006 152 Editors, Views for the Abstract Mapping Language Editors AML Text Editor AML Conceptual Editor AML View Based Editor Views Concept 2 Concept View Attribute 2 Attribute View Concept 2 Attribute View Attribute 2 Concept View Status View OASIS Symposium 2006 153 Editors, Views for the Abstract Mapping Language Editors AML Text Editor AML Conceptual Editor AML View Based Editor Views Concept 2 Concept View Attribute 2 Attribute View Concept 2 Attribute View Attribute 2 Concept View Status View OASIS Symposium 2006 154 Editors, Views for the Abstract Mapping Language Editors AML Text Editor AML Conceptual Editor AML View Based Editor Views Concept 2 Concept View Attribute 2 Attribute View Concept 2 Attribute View Attribute 2 Concept View Status View OASIS Symposium 2006 155 Editors, Views for the Abstract Mapping Language Editors AML Text Editor AML Conceptual Editor AML View Based Editor Views Concept 2 Concept View Attribute 2 Attribute View Concept 2 Attribute View Attribute 2 Concept View Status View OASIS Symposium 2006 156 Editors, Views for the Abstract Mapping Language Editors AML Text Editor AML Conceptual Editor AML View Based Editor Views Concept 2 Concept View Attribute 2 Attribute View Concept 2 Attribute View Attribute 2 Concept View Status View OASIS Symposium 2006 157 Editors, Views for the Abstract Mapping Language Editors AML Text Editor AML Conceptual Editor AML View Based Editor Views Concept 2 Concept View Attribute 2 Attribute View Concept 2 Attribute View Attribute 2 Concept View Status View OASIS Symposium 2006 158 Editors, Views for the Abstract Mapping Language Editors AML Text Editor AML Conceptual Editor AML View Based Editor Views Concept 2 Concept View Attribute 2 Attribute View Concept 2 Attribute View Attribute 2 Concept View Status View OASIS Symposium 2006 159 Editors, Views for the Abstract Mapping Language Editors AML Text Editor AML Conceptual Editor AML View Based Editor Views Concept 2 Concept View Attribute 2 Attribute View Concept 2 Attribute View Attribute 2 Concept View Status View OASIS Symposium 2006 160 Overview • Introduction to SWS – WSMO • Introduction to SOA – WSMX • Means of Interoperability • WSMT • Conclusions OASIS Symposium 2006 161 Conclusions • Semantic Enabled SOA combines the benefits of semantics with best practices from industry • WSMO - conceptual model for Semantic Web Services – Ontology of core elements for Semantic Web Services • Clear separation between layers – Specification and realization – Interface and implementation • WSMX/SEE – a Semantic Enabled SOA – Service Oriented Architecture – Reference implementation of WSMO • Semantic Enabled SOA offers multiple means for interoperability – Mediation framework – Interface/communication disambiguation • WSMT – emerging tool to handle semantics – High-quality tools for designing, mediating and using Semantic Web Services OASIS Symposium 2006 162 References • The central location where WSMO work and papers can be found is WSMO Working Group: http://www.wsmo.org • WSMO languages – WSML Working Group: http://www.wsml.org • WSMO implementation – WSMX working group : http://www.wsmx.org – WSMX open source can be found at: https://sourceforge.net/projects/wsmx/ OASIS Symposium 2006 163 References • [WSMO Specification]: Roman, D.; Lausen, H.; Keller, U. (eds.): Web Service Modeling Ontology, WSMO Working Draft D2, final version 1.2, 13 April 2005. • [WSMO Primer]: Feier, C. (ed.): WSMO Primer, WSMO Working Draft D3.1, 18 February 2005. • [WSMO Choreography and Orchestration] Roman, D.; Scicluna, J., Feier, C. (eds.): Ontology-based Choreography and Orchestration of WSMO Services, WSMO Working Draft D14, 01 March 2005. • [WSMO Use Case] Stollberg, M.; Lausen, H.; Polleres, A.; Lara, R. (ed.): WSMO Use Case Modeling and Testing, WSMO Working Drafts D3.2; D3.3.; D3.4; D3.5, 05 November 2004. • [WSML] de Bruijn, J. (Ed.): The WSML Specification, WSML Working Draft D16, 03 February 2005. • [Arroyo et al. 2004] Arroyo, S., Lara, R., Gomez, J. M., Berka, D., Ding, Y. and Fensel, D: "Semantic Aspects of Web Services" in Practical Handbook of Internet Computing. Munindar P. Singh, editor. Chapman Hall and CRC Press, Baton Rouge. 2004. • [Berners-Lee et al. 2001] Tim Berners-Lee, James Hendler, and Ora Lassila, “The Semantic Web”. Scientific American, 284(5):34-43, 2001. OASIS Symposium 2006 164 References • [Bussler, 2003] Bussler, C. (2003): B2B Integration. Berlin, Heidelberg: Springer. • [Cimpian and Mocan, 2005] Emilia Cimpian, Adrian Mocan: WSMX Process Mediation Based on Choreographies, 1st International Workshop on Web Service Choreography and Orchestration for Business Process Management (BPM 2005), September 2005, Nancy, France • [Chen et al., 1993] Chen, W., Kifer, M., and Warren, D. S. (1993). HILOG: A foundation for higher-order logic programming. Journal of Logic Programming, 15(3):187-230. • [Haller et al., 2005] A. Haller, E. Cimpian, A. Mocan, E. Oren, and C. Bussler. WSMX - A Semantic Service-Oriented Architecture. International Conference on Web Services (ICWS 2005), July 2005. • [Kerrigan, 2006] Mick Kerrigan: Web Service Selection Mechanisms in the Web Service Execution Environment (WSMX), Proceedings of the 21st Annual ACM Symposium on Applied Computing (SAC), April, 2006, Dijon, France • [Mandell and McIIraith, 2003] Daniel J. Mandell and Sheila A. McIlraith. Adapting BPEL4WS for the Semantic Web: The Bottom-Up Approach to Web Service Interoperation. In Proceedings of the Second International Semantic Web Conference (ISWC2003) • [Mocan and Cimpian, 2005] Adrian Mocan, Emilia Cimpian: Mapping Creation Using a View Based Approach, 1st International Workshop on Mediation in Semantic Web Services (Mediate 2005), December 2005, Amsterdam, Netherlands OASIS Symposium 2006 165 References • [Domingue et al., 2004] Domingue, J. Cabral, L., Hakimpour, F., Sell D., and Motta, E., (2004) IRS-III: A Platform and Infrastructure for Creating WSMObased Semantic Web Services WSMO Implementation Workshop (WIW), Frankfurt, Germany, September,2004 • [Feier et al., 2005] C. Feier, A. Polleres, R. Dumitru, J. Domingue, M. Stollberg, and D. Fensel. Towards intelligent web services: The web service modeling ontology (WSMO). International Conference on Intelligent Computing (ICIC), April 2005. • [Fensel, 2001] Dieter Fensel, “Ontologies: Silver Bullet for Knowledge Management and Electronic Commerce”, Springer-Verlag, Berlin, 2001. • [Fensel and Bussler, 2002] Fensel D. and Bussler C., "The Web Service Modeling Framework, WSMF," Electronic Commerce Research and Application, vol. 1, 2002 • [Fensel, 2004] D. Fensel: Triple Space computing - Semantic Web Services based on persistent publication of information. In Proceedings of IFIP International Conference on Intelligence in Communication Systems, Pages 43-53, Bangkok, Thailand, November 2004. • [Gruber, 1993] Thomas R. Gruber, “A Translation Approach to Portable Ontology Specifications”, Knowledge Acquisition, 5:199-220, 1993. • [Grosof et al., 2003] Grosof, B. N., Horrocks, I., Volz, R., and Decker, S. (2003). Description logic programs: Combining logic programs with description logic. In Proc. Intl. Conf. on the World Wide Web (WWW-2003), Budapest, Hungary. OASIS Symposium 2006 166 References • [Haselwanter et al., 2005] Haselwanter, T.; Zaremba, Ma.., Zaremba Mi.: Enabling Components Management and Executions Semantics in WSMX. In Proceedings of the 2nd International WSMO Implementation Workshop (WIW 2005), Innsbruck, Austria, June 2005. • [Keller et al., 2004] Keller, U.; Lara, R.; Polleres, A. (Eds): WSMO Web Service Discovery. WSML Working Draft D5.1, 12 Nov 2004. • [Keller et al., 2005] Keller, U.; Lara, R.; Lausen, H.; Polleres, A.; Fensel, D.: Automatic Location of Services. In Proc. of the 2nd European Semantic Web Symposium (ESWS2005), Heraklion, Crete, 2005. • [Kifer et al., 1995] Kifer, M., Lausen, G., and Wu, J. (1995). Logical foundations of object-oriented and frame-based languages. JACM, 42(4):741-843. • [Kiffer et al., 2004] M. Kifer, R. Lara, A. Polleres, C. Zhao, U. Keller, H. Lausen and D. Fensel: A Logical Framework for Web Service Discovery. Proc. 1st. Intl. Workshop SWS'2004 at ISWC 2004,Hiroshima, Japan, November 8, 2004, CEUR Workshop Proceedings, ISSN 1613-0073 • [Li and Horrocks, 2003] Lei Li and Ian Horrocks. A software framework for matchmaking based on semantic web technology. In Proc. of the Twelfth International World Wide Web Conference (WWW 2003), 2003 • [Paolucci et al., 2002a] Massimo Paolucci, Takahiro Kawamura, Terry R. Payne, Katia Sycara; Importing the Semantic Web in UDDI. In Proceedings of Web Services, E-business and Semantic Web Workshop, 2002 • [Paolucci et al., 2002b] Massimo Paolucci, Takahiro Kawamura, Terry R. Payne, Katia Sycara; "Semantic Matching of Web Services Capabilities." In Proceedings of the 1st International Semantic Web Conference (ISWC2002), 2002 OASIS Symposium 2006 167 References • [Pan and Horrocks, 2004] Pan, J. Z. and Horrocks, I. (2004). OWL-E: Extending OWL with expressive datatype expressions. IMG Technical Report IMG/2004/KR-SW-01/v1.0, Victoria University of Manchester. Available from http://dl-web.man.ac.uk/Doc/IMGTR-OWL-E.pdf. • [Preist, 2004] Preist, C.: A Conceptual Architecture for Semantic Web Services. In Proceedings of the 3rd International Semantic Web Conference (ISWC 2004), 2004, pp. 395 - 409. • [Pollers et al., 2005] Axel Polleres, Holger Lausen, Jos de Bruijn and Dieter Fensel. WSML - A Language Framework for Semantic Web Services. W3C Workshop on Rule Languages for Interoperability, April 2005. • [Stencil Group] - www.stencilgroup.com/ideas_scope_200106wsdefined.html • [Stolberg et al., 2004] Stollberg, M.; Keller, U.; Fensel. D.: Partner and Service Discovery for Collaboration on the Semantic Web. Proc. 3rd Intl. Conference on Web Services (ICWS 2005), Orlando, Florida, July 2005. • [Stolberg et al., 2005] M. Stollberg, E. Cimpian, and D. Fensel. Mediating Capabilities with Delta-Relations. In Proceedings of the First International Workshop on Mediation in Semantic Web Services, co-located with the Third International Conference on Service Oriented Computing (ICSOC 2005), Amsterdam, the Netherlands, 2005. • [Stollberg et al., 2006] Michael Stollberg, Emilia Cimpian, Adrian Mocan, Dieter Fensel: Web Working Symposium (CSWWS 2006), June 2006, Québec city, Canada • [Zaremba and Bussler, 2005] Zaremba, M. and Bussler, C.: Towards Dynamic Execution Semantics in Semantic Web Services. In Proceedings of the WWW 2005 Workshop on Web Service Semantics: Towards Dynamic Business Integration, 2005. A Semantic Web Mediation Architecture, Canadian Semantic OASIS Symposium 2006 168 Acknowledgements We would like to thank to all the members of the WSMO, WSML, and WSMX working groups for their advice and input into this tutorial. The WSMO working groups are funded by the European Commission under the projects ASG, DIP, Knowledge Web, SEKT, SemanticGov, SWWS, AKT and Esperonto; by Science Foundation Ireland under the DERI-Lion project; and by the Austrian government under the FIT-IT program OASIS Symposium 2006 169