Semantic Web Services and Processes
Upcoming SlideShare
Loading in...5
×
 

Semantic Web Services and Processes

on

  • 1,070 views

 

Statistics

Views

Total Views
1,070
Views on SlideShare
1,068
Embed Views
2

Actions

Likes
1
Downloads
51
Comments
0

1 Embed 2

http://www.slideshare.net 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • BPEL4WS gives a way to represent web service composition (or Web Process); but how to compose?
  • Semantics (of information, communication) is a very old area, and extensive work on Semantic Technology has been going on for well over a decade (many projects on semantic interoperability, semantic information brokering) Semantic Web and related visions are being achieved in various depth and scope – mostly starting with targeted applications where requirements are much better understood and scope is manageable
  • Intalio n3 : Completer BPMS..design, deploy, execute, analyze and optimize processes…brochure says it supports BPML specification
  • Conceptual Web service stack
  • 1 – 3 represent steps in semantic publication 4 – 6 represent steps in semantic discovery Extract details from WSDL file Annotate the WSDL details using ontologies Publish the annotations in UDDI Construct Service Requirement template Annotate the template using ontologies Search (discovery) for services based on the template annotations
  • Dynamically choose best supplier at runtime according to the Clients requirements – in this case it is minimum supply time.
  • There are two different PO’s in this scenario- one PO sent by the client to the manufacturer The PO’s sent by the manufacturer to the suppliers.

Semantic Web Services and Processes Semantic Web Services and Processes Presentation Transcript

  • Francisco Curbera 1 , Amit Sheth 2,3, Kunal Verma 2 1 IBM T.J. Watson Research Center (USA) 2 LSDIS Lab, University of Georgia 3 Semagix, Inc (USA) Service Oriented Arc hitectures and Semantic Web Processes
    • Service Oriented Architectures and Web Services
    • Semantic Web Services and Processes
  • Semantic Web Processes
    • Part
  • Service Oriented Architectures and Web Services
  • Overview
    • IT for a new business model
    • Service Oriented Architectures (SOAs).
    • Web services as an XML based instantiation of SOA.
      • Protocols.
      • Metadata.
      • Discovery.
      • Composition.
    • Summary.
  • A New Business Environment
    • Business outsource every non-essential function.
      • Concentrate on core function and values.
    • Vertically integrated enterprises are being broken apart
      • Replaced by heavily networked ones.
      • Applications that used to be internal are now provided by outside parties.
    • Corporate boundaries become fuzzier.
    • Does today’s IT models support the new business environment?
      • IT is too centered on IT!
      • When enterprises where islands this was sort of OK.
      • Today it is vital to adapt the computing model to the business interaction model.
  • Enterprises as IT Islands Ad-hoc bridges support interorganizational interactions. Most application interactions take place inside the enterprise. Most applications belong to a single administrative domain. Value added networks and proprietary protocols support most B2B interactions
  • Fully Networked Enterprises The frequency of external interactions and their reach inside the enterprise increases dramatically. Internal applications seamlessly reach out of the enterprise. Interacting applications naturally belong to multiple administrative domains. Web based interactions become pervasive, based on standard protocols
  • Fully Networked Business Interactions The distinction between internal and external applications and providers looses importance Many potential providers can be found for each required function.
  • IT for the New Enterprise: Business Components
    • Need to raise the level of IT abstractions.
      • Concentrate on business function and requirements.
    • Need to encapsulate business function to make it available to partners: service components.
      • Different level granularity – coarse grained business services vs. fine grained objects.
    • Services must be defined by explicit contracts to allow independent party access.
      • Consequence is automatic binding.
    • Core concern of business is to integrate business processes and functions.
      • Business components are integrated creating service compositions.
      • New value is created through integration/composition.
      • New components are recursively created.
  • Service Oriented Middleware
    • Service interactions
      • Peer to peer by nature.
      • Symmetric interaction model.
      • Mixes synchronous and asynchronous protocols.
      • Assigns public contracts to network accessible objects.
      • Supports capability based service discovery.
    Registry QoS=A/B? Iface=I etc… Service B Service C Service D Server A
  • A Plan for Building a SOA
    • Requirement #1: Interaction protocols must be standardized.
      • Need to ensure the widest interoperability among unrelated institutions.
    • Requirement #2: Make all contracts explicit.
      • Explicit contracts define what may be changed in an application without breaking the interaction.
      • It is hard or impossible to make all assumptions explicit, but the more the better.
    • Requirement #2 : Standardize contract language(s) and formats.
      • Standard metadata is the basis of interoperable contract selection and execution.
    • Requirement #3: Allow for points of variability in the contract.
      • Dynamic adaptation on variability points.
      • Increases the number of possible interactions supported.
    • Requirement #4: Provide native composition models and runtimes.
  • Web Services As a SOA SOA and Web Services
  • Where Are We on Web Services? SOAP (Logical Messaging) Interaction WSDL, WS-Policy, UDDI, Inspection Quality of Service Transactions Composition BPEL4WS XML, Encoding Other protocols Other services Reliable Messaging Security Description
  • Protocols SOA and Web services
  • Protocols
    • Provides a common set of universally supported interaction protocols.
    • A basic messaging layer
      • SOAP
      • Easily extensible, allows QoS protocols to be defined on top.
    • Some basic QoS protocols:
      • Basic requirements of business interactions.
      • Provide guarantees
      • Message Reliability, WS-ReliableMessaging
      • Coordination and transactional interactions.
      • Message integrity, confidentiality
  • SOAP Messaging
  • Metadata SOA and Web services
  • Metadata
    • WSDL: Functional descriptions.
    • WS-Policy: QoS
    • Points of variability: dynamic infrastructure.
  • What is WSDL
    • An extensible, platform independent XML language for “describing” services.
    • Provides functional description of Web services:
      • IDL description
      • Access protocol and deployment details
      • All of the functional information needed to programmatically access a service, contained within a machine-readable format
    • Does not include
      • QoS
      • Taxonomies
      • Business information
    • WSDL is a component definition language for Web service component
  • WSDL Description Structure <types> … <message name=“Msg1”/> … <portType name=“PType1”> … <binding name=“Bnd1” type=“PType1”> … Abstract/Business <service name=“svc1”> <port binding=“Bnd1” > <soap:address location=“...”/> </port> </service> Deployment <definitions> </definitions>
  • WSDL Parts At a Glance made concrete by contains one or more part abstract interface portType (abstract) operation (concrete) message (abstract) message concrete implementation binding (concrete) operation (concrete) message (concrete) message service concrete endpoint port types
  • WSDL Status
    • WSDL 1.1 was submitted to the W3C on February 2001.
      • http://www.w3.org/TR/WSDL
    • WSDL 2.0 is now being defined by the WS Descriptions working group at W3C.
      • Last draft (June 2002) available at
      • http://www.w3.org/2002/ws/desc/
  • WS-PolicyFramework
    • Complements functional description of services with QoS behaviors.
    • General framework for declaratively asserting how a service may be accessed:
      • Requirements
      • Constraints
      • Capabilities
    • WS-Policy provides a general framework in which arbitrary domain specific “assertions” are used.
      • Security
      • Transactions
      • Reliable messaging
  • Policy Expressions 001 <wsp:Policy id=“…”> 002 <wsp:ExactlyOne> 003 <wsp:All> 004 <wsse:SecurityToken> 005 <wsse:TokenType>wsse:Kerberosv5TGT</wsse:TokenType> 006 </wsse:SecurityToken> 007 <wsse:Integrity> 008 <wsse:Algorithm Type=&quot;wsse:AlgSignature“ … /> 009 </wsse:Integrity> 010 </wsp:All> 011 <wsp:All> 012 <wsse:SecurityToken> 013 <wsse:TokenType>wsse:X509v3</wsse:TokenType> 014 </wsse:SecurityToken> 015 <wsse:Integrity> 016 <wsse:Algorithm Type=&quot;wsse:AlgEncryption“ …/> 017 </wsse:Integrity> 018 </wsp:All> 019 </wsp:ExactlyOne> 020 </wsp:Policy>
  • Dynamic Middleware Reconfiguration
    • Effective dynamic binding requires run-time adaptation of middleware configuration:
      • J2EE focused on moving middleware configuration away from the code developer and into the deployment phase.
      • SOC requires moving it further to follow runtime discovery of services:
    • Seamlessly adapt to policy settings of target, select among possible options, carry on basic a policy negotiation.
  • WS-Policy
    • Status: WS-Policy specifications published withy RF licensing terms at:
      • http://www-106.ibm.com/developerworks/webservices/library/ws-polfram/summary.html
      • WS-PolicyFramework
      • WS-PolicyAttachments
      • To be submitted for standardization.
  • Discovery SOA and Web services
  • Discovery Infrastructure
    • Registries
      • Requesters search for providers in third party central directory.
      • Provider policies are retrieved from registry.
      • Requester interacts according to discovered policies.
      • Will not deal with here.
    • Metadata exchange
      • Requesters and providers can exchange policies directly, no third party involved.
  • Composition SOA and Web services
  • Service Composition
    • Service composition is the core sw. development task in SOA.
      • Applications are created by combining the basic building blocks provided by other services.
      • Service compositions may themselves become services, following a model of recursive service composition.
    • Composition assumes an interaction model between components:
      • P2P conversational interactions.
      • Interactions are naturally multi-party interactions.
    • Many composition models are possible. We know about two:
      • Process oriented composition – BPEL4WS
      • Distributed composition – WSFL Global models.
  • BPEL Concepts
    • A BPEL process defines the structure of the interaction in terms of
      • participant services (partners)
        • Characterize partners
        • Provide support partner conversation
      • business logic.
        • Data
        • Control flow
        • Error handling and recovery mechanism
  • Structure of a BPEL4WS Process
    • <process ...>
    • <partners> ... </partners>
    • <!-- Web services the process interacts with -->
    • <correlationSets> ... </correlationSets>
    • <!– Used to support asynchronous interactions -->
    • <variable> ... </variable>
    • <!– Data used by the process -->
    • <faultHandlers> ... </faultHandlers>
    • <!–Alternate execution path to deal with faulty conditions -->
    • <compensationHandlers> ... </compensationHandlers>
    • <!–Code to execute when “undoing” an action -->
    • (activities)*
    • <!– What the process actually does -->
    • </process>
    Partner information Business logic
  • Global Models, an Example 2-collect from customer Cable Co. 1-send notice 3-send ultimatum 4-pay in full 5-stop collection & pay 6-notify: done Customer Collections Agency Cable Co. 1-send notice 2-collect from customer 3-send ultimatum 5-notify&pay 6-pay in full Collections Agency Customer Customer 1-send notice 2-pay in full Cable Co.
  • Summary SOA and Web services
  • Web Services as an Instantiation of SOA
    • SOA is more than “publish/find/bind”.
    • Implies a completely business re-orientation of computing.
    • SOA builds on:
      • Standard interaction protocols.
      • A component model, as defined by service contracts.
      • A conversational interaction model.
      • A set of service composition model.
    • Web services provide an XML based instantiation of SOA.
  • Service Oriented Architectures and Web Services End
    • Part
  • Semantic Web Processes Overview
    • Introduction
    • Semantic Web Processes Life cycle
    • Projects/initiatives
      • OWL-S
      • WSMO
      • METEOR-S
        • METEOR-S Front end
          • Web services Semantic Annotation
          • Web services Discovery
        • METEOR-S Back End
          • Semantic Process Composition
    • Conclusions
  • Our Focus (1)
    • Supporting Web Processes on multi-enterprise and Web scale require addressing heterogeneity/integration, scalability, dynamic change and performance challenges
    • Semantics is seen as the key enabler to address these challenges; Semantic Web Processes build upon Web Services and Semantic Web technologies
    • This part of tutorial is about adding semantics to Web Services , and exploiting them in Web Process Lifecycle (Specification, Discovery, Composition, Execution)
      • Functional perspective takes form of process composition involving Web Service Discovery , handling semantic heterogeneity [modeling data i/o, state (pre/post condition) and function]
      • Operational perspective takes form of the research on QoS Specification for Web Services and Processes [modeling QoS and execution behavior]
  • Our Focus (2) Semantics Web Processes Web Services Execution
      • Web Process Composition
      • Web Process QoS
    Web Service Annotation Web Service Discovery
      • Web Service QoS
  • The Basics
    • What are
    • Web Services,
    • Web Processes, and Semantics?
  • Web Process An Example t 3 t 6 t 5 t 4 t 2 Prepare Sample Prepare Clones and Sequence Get Sequences Test Quality Assembly t 7 Sequence Processing + t 1 Setup t 8 Process Report + Organization A Organization B Organization C Web Processes
  • What are Web Processes (1)?
    • Web Processes are next generation workflow technology to facilitate the interaction of organizations with markets, competitors, suppliers, customers etc. supporting enterprise-level and core business activities
      • encompass the ideas of both intra and inter organizational workflow.
      • created from the composition of Web services
      • can use BPEL4WS to represent composition, but how to get there?
    Web Processes
  • Web Processes Composition WS 1 WS 3 WS 4 WS 2 WS 7 WS 6 WS 5 WS 9 Web Processes WS 8 Web services Web Process Design
  • Globalization of Processes Web Processes Workflows Distributed Workflows Global Enterprise Inter-Enterprise B2B E-Services Processes driving the Networked Economy
  • BIG Challenges
    • Heterogeneity and Autonomy
      • Syntactic, semantic and pragmatic
      • Complex rules/regulations related to B2B and e-commerce interactions
      • Solution : Machine processable descriptions
    • Dynamic nature of business interactions
      • Demands : Efficient Discovery, Composition, etc.
    • Scalability (Enterprises  Web)
      • Needs : Automated service discovery/selection and composition
    Proposition : Semantics is the most important enabler to address these challenges.
  • Semantics, Ontologies, Semantic Web Processes
    • When Web services and other descriptions that define a Web process are semantically described, we may call such process as Semantic Web Processes.
    • An ontology provides semantic grounding. It includes a vocabulary of terms , and some specification of their meaning .
    • The goal is to create an agreed-upon vocabulary and semantic structure for exchanging information about that domain.
    Acknowledement: Jorge Cardoso Temporal-Entity Time-Point Date Time Time Domain Event Scientific-Event Calendar-Date {absolute_time} {hour, minute, second} {millisecond} {year, month, day} {dayOftheWeek, monthOftheYear}
  • Broad Scope of Semantic (Web) Technology Other dimensions: how agreements are reached, … Lots of Useful Semantic Technology (interoperability, Integration) Cf: Guarino, Gruber Gen. Purpose, Broad Based Scope of Agreement Task/ App Domain Industry Common Sense Degree of Agreement Informal Semi-Formal Formal Agreement About Data/ Info. Function Execution Qos Current Semantic Web Focus Semantic Web Processes
  • METEOR-S
  • Semantics for Web Processes
    • Data/Information Semantics
      • What: (Semi-)Formal definition of data in input and output messages of a web service
      • Why: for discovery and interoperability
      • How: by annotating input/output data of web services using ontologies
    • Functional Semantics
      • (Semi-) Formally representing capabilities of web service
      • for discovery and composition of Web Services
      • by annotating operations of Web Services as well as provide preconditions and effects
    • Execution Semantics
      • (Semi-) Formally representing the execution or flow of a services in a process or operations in a service
      • for analysis (verification), validation (simulation) and execution (exception handling) of the process models
      • using State Machines , Petri nets , activity diagrams etc.
    • QoS Semantics
      • (Semi-) Formally describing operational metrics of a web service/process (incl. TPA/SLA)
      • To select the most suitable service to carry out an activity in a process
      • using QoS model [Cardoso and Sheth, 2002] and QoS ontology for web services
  • Data and Functional Ontology an example based on Rosettanet Functions Data
  • QoS Ontology in METEOR-S
  • Semantics for Web Process Life-Cycle Data / Information Semantics Development / Description / Annotation WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF) Publication / Discovery UDDI WSIL, OWL-S METEOR-S (MWSDI) Composition (Choreography?) BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF) Execution (Orchestration?) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow
  • Semantics for Web Process Life-Cycle Data / Information Semantics Publication / Discovery WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF) UDDI WSIL, OWL-S METEOR-S (MWSDI) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow Development / Description / Annotation Composition (Choreography?) Execution (Orchestration?) BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF)
  • Semantics for Web Process Life-Cycle Functional / Operational Semantics Publication / Discovery WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF) UDDI WSIL, OWL-S METEOR-S (MWSDI) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow Development / Description / Annotation Composition (Choreography?) Execution (Orchestration?) BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF)
  • Semantics for Web Process Life-Cycle QoS Semantics Publication / Discovery WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF) UDDI WSIL, OWL-S METEOR-S (MWSDI) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow Development / Description / Annotation Composition (Choreography?) Execution (Orchestration?) BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF)
  • Semantics for Web Process Life-Cycle Execution Semantics Publication / Discovery WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF) UDDI WSIL, OWL-S METEOR-S (MWSDI) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow Development / Description / Annotation Composition (Choreography?) Execution (Orchestration?) BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF)
  • Semantics for Web Process Life-Cycle Publication / Discovery WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF) UDDI WSIL, OWL-S METEOR-S (MWSDI) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow Semantics Required for Web Processes Development / Description / Annotation Composition (Choreography?) Execution (Orchestration?) BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF) Execution Semantics QoS Semantics Functional / Operational Semantics Data / Information Semantics
  • Semantics at Different Layers Description Messaging Network Flow
      • Description Layer
    • Why:
    • Unambiguously understand the functionality of the services, the semantics of input/output data, and QoS of services
    • How:
    • Using Ontologies to semantically annotate WSDL constructs (conforming to extensibility allowed in WSDL specification version 1.2/2.0)
      • WSDL-S : Incorporates all types of semantics in the service description
      • Tools for (semi-)automatic semantic annotation of Web Services (e.g., METEOR-S MWSAF)
    • Present scenario:
    • WSDL descriptions are mainly syntactic (provides operational information and not functional information)
    • Semantic matchmaking is not possible
    Publication Discovery
  • WSDL-S <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <definitions name = &quot;BatterySupplier&quot; targetNamespace = &quot;http://lsdis.cs.uga.edu/meteor/BatterySupplier.wsdl20&quot; xmlns = &quot;http://www.w3.org/2004/03/wsdl&quot; xmlns:tns = &quot;http://lsdis.cs.uga.edu/BatterySupplier.wsdl20&quot; xmlns:rosetta = &quot; http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/pips.owl &quot; xmlns:mep=http://www.w3. rosetta: PurchaseOrderStatusResponse org/TR/wsdl20-patterns > <interface name = &quot;BatterySupplierInterface&quot; description = &quot;Computer PowerSupply Battery Buy Quote Order Status &quot; domain=&quot;naics:Computer and Electronic Product Manufacturing&quot; > <operation name = &quot;getQuote&quot; pattern = &quot;mep:in-out&quot; action = &quot; rosetta:#RequestQuote &quot; > <input messageLabel = ”qRequest” element = &quot; rosetta :#QuoteRequest &quot; /> <output messageLabel = ”quote” element = &quot; rosetta :#QuoteConfirmation &quot; /> </operation> <operation name = &quot;placeOrder&quot; pattern = &quot;mep:in-out&quot; action = &quot; rosetta:#RequestPurchaseOrder &quot; > <input messageLabel = ”order” element = &quot; rosetta:# PurchaseOrderRequest &quot; /> <output messageLabel = ”orderConfirmation” element = &quot; rosetta:#PurchaseOrderConfirmation &quot; /> <exception element = &quot; rosetta:#DiscountinuedItemException &quot; /> <pre condition = &quot; order.PurchaseOrder.PurchaseOrderLineItem.RequestedQuantity > 7 &quot; /> </operation> <operation name = &quot;checkStatus&quot; pattern=&quot;mep:in-out&quot; action = &quot; rosetta:#QueryOrderStatus &quot; > <input messageLabel = ”statusQuery” element = &quot; rosetta :#PurchaseOrderStatusQuery &quot; /> <output messageLabel = ”status” element = &quot; rosetta:# PurchaseOrderStatusResponse &quot; /> <exception element = &quot; rosetta:#OrderNumberInvalidException &quot; /> </operation> </interface> </definitions> Function from Rosetta Net Ontology Data from Rosetta Net Ontology
  • Semantics at Different Layers (contd..) Description Messaging Network Flow
      • Publication and Discovery Layers
    • Why:
    • Enable scalable, efficient and dynamic publication and discovery (machine processable / automation)
    • How:
    • Use federated registries categorized by domans
    • Publish services based on domains
    • Capture the WSDL-S annotations in UDDI
    • Present scenario:
    • Suitable for simple searches ( like services offered by a provider, services that implement an interface, services that have a common technical fingerprint, etc.)
    • Categories are too broad
    • Automated service discovery (based on functionality) and selecting the best suited service is not possible
    Publication Discovery
  • MWSDI subDomainOf supports belongsTo consistsOf belongsTo Federation Ontology Registry Domain Registry Federation
  • Semantics at Different Layers (contd..) Description Messaging Network Flow
      • Flow Layer:
    • Why:
    • Design (composition), analysis (verification), validation (simulation) and execution (exception handling) of the process models
    • To employ mediator architectures for dynamic composition, control flow and data flow based on requirements
    • How: Using
    • Templates to capture semantics (functionality/preconditions/effects/QoS) of the participating services and for the process
    • Knowledge of conversation patterns supported by the service
    • Formal mathematical models like process algebra , concurrency formalisms like State Machines , Petri nets etc.
    • Simulation techniques
    • Present Scenario:
    • Composition of Web services is static
    • Dynamic service discovery, run-time binding, analysis and simulation are not directly supported
    Publication Discovery
  • Using Colored Petri nets
  • Semantic Web Processes and Services (METEOR-S)
      • Service Advertisements (WSDL-S)
        • Functional Aspects (IOPE’s)
        • Non functional Aspects (QoS ontology)
        • Interaction Protocol (State Machine / Colored Petri nets)
        • Semi-automatic annotation of WSDL
      • Discovery of services (MWSDI)
        • Subsumption based discovery
        • Peer to peer network of UDDI Registries
      • Composition (METEOR-S )
        • Design time binding to BPEL along with optimization
  • Semantics in METEOR-S and WS stack Description Messaging Network Flow MWSDI : Scalable Infrastructure of Registries for Semantic publication and discovery of Web Services MWSAF : Semantic Annotation of WSDL (WSDL-S) MWSCF : Semantic Web Process Composition Framework METEOR-S at the LSDIS Lab exploits Workflow, Semantic Web, Web Services, and Simulation technologies to meet these challenges in a practical and standards based approach http:// swp.semanticweb.org , http:// lsdis.cs.uga.edu/proj/meteor/swp.htm Publication Discovery
  • METEOR-S Architecture Front-End Back-End
  • METEOR-S Web Service Annotation Framework
  • MWSAF- METEOR-S Web Service Annotation Framework Name Year Date Duration City Outputs Interfaces Inputs Area Coordinates City Forrest XML Schema Data type hierarchy Temporal-Entity Time Interval Time-Point Date Time Time Domain Event Scientific-Event Calendar-Date {absolute_time} {hour, minute, second} {millisecond} {year, month, day} {dayOftheWeek, monthOftheYear} = Time - Ontology = Local ontology {name} {x, y} Get Conference Information Ontologies Web Service QoS Ontology < xsd:complexType name =“ Date &quot;> < xsd:sequence >   < xsd:element name =“ year &quot; type =&quot; xsd:integer &quot; />   < xsd:element name =“ month &quot; type =&quot; xsd:integer &quot; />   < xsd:element name =“ day &quot; type =&quot; xsd:byte &quot; /> </ xsd:sequence > </ xsd:complexType > < portType name =“ ConferenceInformation &quot;> < operation name =&quot; getInformation &quot;>   < input message =&quot; tns:Data &quot; />   < output message =&quot; tns:ConferenceInformation &quot; /> </ operation > Conference Information Functions Information Function Get Information Get Date Data Semantics Functional Semantics WSDL WSDL QoS Semantics Min Quality
  • Matching Issues (WSDL and Ontologies)
    • Expressiveness
    • Different reasons behind their development
      • XML Schema used in WSDL for providing basic structure to data exchanged by Web services
      • Ontologies are developed to capture real world knowledge and domain theory
    • Knowledge captured
      • XML Schema has minimal containment relationship
      • Language used to describe ontologies model real world entities as classes, their properties and provides named relationships between them
    • Solution
    • Use hueristics to create normalized representation
    • We call it SchemaGraph
  • Normalization – SchemaGraph
    • What is SchemaGraph ?
    • Normalized representation to capture XML Schema and DAML Ontology
    • How to use SchemaGraph
    • Conversion functions convert both XML Schema and Ontology to SchemaGraph representation
      • XML schema used by WSDL -> W = {wc 1 , wc 2 , wc 3 , …, wc n } where, wc i is an element in XML schema and n is the number of elements
      • Ontology -> O = {oc 1 , oc 2 , oc 3 , …, oc m } where, oc i is a concept in Ontology and m is the number of concepts
    • Match function takes both W and O and returns a set of mappings
  • MWSAF – XML Schema to SchemaGraph 6 5 4 3 2 1 Rule Sub-elements of complexType C which have range as complexTypes or simpleTypes or elements defined in same schema Sub-elements of complexType C which have range as basic XML datatypes ComplexType Enumeration values defined for simpleType S simpleType Element, XML Schema constructs Edge between complexType C node and the range type node Node with edge between complexType C node and this node with name “hasElement” Node Node with edge between simpleType S node and value node with name “hasValue” Node Node SchemaGraph representation
  • MWSAF – XML Schema to SchemaGraph - < xsd:complexType name =&quot; WeatherReport &quot;> - < xsd:sequence >   < xsd:element name =&quot; phenomena &quot; type =&quot; xsd1:Phenomenon &quot; />   < xsd:element name =&quot; wind &quot; type =&quot; xsd1:Wind &quot; />   </ xsd:sequence >   </ xsd:complexType > - < xsd:complexType name =&quot; Phenomenon &quot;> - < xsd:sequence >   < xsd:element name =&quot; type &quot; type =&quot; xsd1:PhenomenonType &quot; />   < xsd:element name =“ intensity &quot; type =&quot; xsd1:PhenomenonIntensity &quot; />   </ xsd:sequence >   </ xsd:complexType > - < xsd:complexType name =&quot; Wind &quot;> - < xsd:sequence >   < xsd:element name =&quot; gust_speed &quot; type =&quot; xsd:double &quot; />   < xsd:element name =&quot; prevailing_direction &quot; type =&quot; xsd1:Direction &quot; />   </ xsd:sequence >   </ xsd:complexType > - < xsd:simpleType name =&quot; PhenomenonType &quot;> - < xsd:restriction base =&quot; xsd:string &quot;>   < xsd:enumeration value =&quot; MIST &quot; />   < xsd:enumeration value =&quot; FOG &quot; />   < xsd:enumeration value =“ SNOW &quot; />   < xsd:enumeration value =&quot; DUST &quot; />   </ xsd:restriction >   </ xsd:simpleType > WeatherReport Wind Phenomenon Direction gust_speed PhenomenonType PhenomenonIntensity MIST FOG SNOW DUST phenomena wind prevailing_direction hasElement intensity type oneOf oneOf oneOf oneOf Rule 1 Element => Node Rule 3 Rule 1 simpletype => Node Rule 1 complextype => Node Rule 6 Rule 5
  • MWSAF - Ontology to SchemaGraph 5 4 3 2 1 Rule Class( X )-subclass( Y ) relationship Instance of class C Property of class D with other class R as range (Relation) Property of class D with basic datatype as range (Attribute) Class Ontology representation Edge between class X node and class Y node with name “hasSubclass” Node with edge joining class C node to instance node with name “hasInstance” Edge between class D node and range class R node Node with edge joining it to class D node with name “hasProperty” Node SchemaGraph representation
  • MWSAF - Ontology to SchemaGraph - < daml:Class rdf:ID =&quot; WeatherPhenomenon &quot;>   < rdfs:comment > Superclass for all weather events </ rdfs:comment >   < rdfs:label > Weather event </ rdfs:label >   </ daml:Class > - < daml:Class rdf:ID =&quot; WindEvent &quot;>   < rdfs:subClassOf rdf:resource =&quot; #WeatherPhenomenon &quot; />   </ daml:Class > - < daml:Property rdf:ID =&quot; windDirection &quot;>   < rdfs:domain rdf:resource =&quot; #WindEvent &quot; />   </ daml:Property > - < daml:Class rdf:ID =&quot; GustingWindEvent &quot;>   < rdfs:subClassOf rdf:resource =&quot; #WindEvent &quot; />   </ daml:Class > - < daml:Class rdf:ID =&quot; CurrentWeatherPhenomenon &quot;>   < rdfs:subClassOf rdf:resource =&quot; #WeatherPhenomenon &quot; />   </ daml:Class > - < daml:Class rdf:ID =&quot; OtherWeatherPhenomena &quot;>   < rdfs:subClassOf rdf:resource =&quot; #CurrentWeatherPhenomenon &quot; />   </ daml:Class > - < daml:Class rdf:ID =&quot; Duststorm &quot;>   < rdfs:subClassOf rdf:resource =&quot; #OtherWeatherPhenomena &quot; />   </ daml:Class > - < daml:Class rdf:ID =&quot; PrecipitationEvent &quot;>   < rdfs:subClassOf rdf:resource =&quot; #CurrentWeatherPhenomenon &quot; />   </ daml:Class > - < daml:Class rdf:ID =&quot; SolidPrecipitationEvent &quot;>   < rdfs:subClassOf rdf:resource =&quot; #PrecipitationEvent &quot; />   </ daml:Class > - < daml:Class rdf:ID =&quot; Snow &quot;>   < rdfs:subClassOf rdf:resource =&quot; #SolidPrecipitationEvent &quot; />   </ daml:Class > - < daml:Class rdf:ID =&quot; ObscurationEvent &quot;>   < rdfs:subClassOf rdf:resource =&quot; #CurrentWeatherPhenomenon &quot; />   </ daml:Class > - < daml:Class rdf:ID =&quot; Fog &quot;>   < rdfs:subClassOf rdf:resource =&quot; #ObscurationEvent &quot; />   </ daml:Class > - < daml:Class rdf:ID =&quot; Mist &quot;>   < rdfs:subClassOf rdf:resource =&quot; #ObscurationEvent &quot; />   </ daml:Class > WeatherPhenomenon CurrentWeatherPhenomenon WindEvent GustingWindEvent windDirection ObsucurationEvent PrecipitationEvent OtherWeatherPhenomenon Duststorm Snow Mist Fog SolidPrecipitationEvent Rule 1 Rule 2 Rule 5
  • Proposed Standard WSDL-S
  • WSDL-S Metamodel
  • WSDL-S <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <definitions name = &quot;BatterySupplier&quot; targetNamespace = &quot;http://lsdis.cs.uga.edu/meteor/BatterySupplier.wsdl20&quot; xmlns = &quot;http://www.w3.org/2004/03/wsdl&quot; xmlns:tns = &quot;http://lsdis.cs.uga.edu/BatterySupplier.wsdl20&quot; xmlns:rosetta = &quot; http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/pips.owl &quot; xmlns:mep=http://www.w3. rosetta: PurchaseOrderStatusResponse org/TR/wsdl20-patterns > <interface name = &quot;BatterySupplierInterface&quot; description = &quot;Computer PowerSupply Battery Buy Quote Order Status &quot; domain=&quot;naics:Computer and Electronic Product Manufacturing&quot; > <operation name = &quot;getQuote&quot; pattern = &quot;mep:in-out&quot; action = &quot; rosetta:#RequestQuote &quot; > <input messageLabel = ”qRequest” element = &quot; rosetta :#QuoteRequest &quot; /> <output messageLabel = ”quote” element = &quot; rosetta :#QuoteConfirmation &quot; /> </operation> <operation name = &quot;placeOrder&quot; pattern = &quot;mep:in-out&quot; action = &quot; rosetta:#RequestPurchaseOrder &quot; > <input messageLabel = ”order” element = &quot; rosetta:# PurchaseOrderRequest &quot; /> <output messageLabel = ”orderConfirmation” element = &quot; rosetta:#PurchaseOrderConfirmation &quot; /> <exception element = &quot; rosetta:#DiscountinuedItemException &quot; /> <pre condition = &quot; order.PurchaseOrder.PurchaseOrderLineItem.RequestedQuantity > 7 &quot; /> </operation> <operation name = &quot;checkStatus&quot; pattern=&quot;mep:in-out&quot; action = &quot; rosetta:#QueryOrderStatus &quot; > <input messageLabel = ”statusQuery” element = &quot; rosetta :#PurchaseOrderStatusQuery &quot; /> <output messageLabel = ”status” element = &quot; rosetta:# PurchaseOrderStatusResponse &quot; /> <exception element = &quot; rosetta:#OrderNumberInvalidException &quot; /> </operation> </interface> </definitions> Function from Rosetta Net Ontology Data from Rosetta Net Ontology
  • Semantic Web Service Discovery in METEOR-S METEOR-S Web Service Discovery Infrastructure
  • Discovery New Requirements B8 A1 A4 A1 A2 A4 B3 A1 A4 A6 A2 A5 Before Tasks Workflow Web Services Web Process Web Service Discovery A C D N1 N2 F E A C D N1 N2 F E A4 A1 A1 A4 A1 A4 A1 A2 A1 A1 A1 A1 B3 A1 B3 A1 A2 A1 B3 A1 A4 A1 A2 A1 B3 A1 A4 A1 A2 A1 B3 A1 A1 B3 A1 A4 A1 A2 A1 B3 A1 A4 A2 A1 B3 A1 A4 A1 A2 B3 A1 A1 B3 A1 A4 A1 A2 A1 B3 A1 A4 A1 A2 A1 B3 A1 A4 A1 A2 A1 B3 A1 A4 A1 A2 A1 A1 A4 A1 A1 A4 A1 A2 B3 A1 A4 A1 A2 A1 B3 A1 A4 A1 A2 A1 B3 A1 A4 A1 A2 B3 A1 A4 A1 A2 A1 B3 A1 A4 A1 A2 A1 B3 A1 A4 A1 A2 A1 A4 A4 A1 A4 A1 A1 A4 A1 A2 B3 A1 A4 A1 A2 A1 B3 A1 A4 A1 A2 B3 A1 A4 A1 A2 A1 A4 A1 A4 A1 A1 A4 A1 A2 A1 A1 A4 A1 A2 A1 A1 A4 A1 B3 A1 A1 A1 B3 A1 A4 A1 A2 A1 B3 A1 A4 A1 A2 A1 A1 A2 A1 A4 A2 A4 A2 A2 A1 A1 B3 A1 A4 A1 A2 A1 Now QoS QoS
  • Present Discovery Mechanism Keyword and attribute-based search
    • UDDI :Keyword and attribute-based search
    • Example: “Quote”
      • Microsoft UBR returned 12 services
      • Human reading of description (Natural Language) help me understand:
        • 6 Entries are to get Famous Quotes
        • 1 Entry for personal auto and homeowners quoting
        • 1 Entry for multiple supplier quotes on all building materials
      • Categorization suggested for UDDI is useful but inadequate (what does the WS do?) :
        • 1 Entry for Automobile Manufacturing
        • 1 Entry for Insurance agents, brokers, & service
      • Alternatively read and try to understand WSDL
        • 1 Entry related to security details (Human Understanding)
        • 1 Test Web service for Quotes (which quote?)
    Web Service Discovery
  • Semantic Discovery: Overview
    • Annotation and Publication
      • WSDL file is annotated using ontologies and the annotations are captured in UDDI
    • Discovery
      • Requirements are captured as templates that are constructed using ontologies and semantic matching is done against UDDI entries
        • Functionality of the template, its inputs, outputs, preconditions and effects are represented using ontologies
    • Use of ontologies
      • brings service provider and service requestor to a common conceptual space
      • helps in semantic matching of requirements and specifications
  • Discovery in Semantic Web Using Semantics
    • Functionality: What capabilities the requestor expects from the service (Functional semantics)
    • Inputs: What the requestor can give to the to the Web service (Data semantics)
    • Outputs: What the requestor expects as outputs from the service (Data semantics)
    • QoS: Quality of Service the distributor expects from the service (QoS semantics)
    Web Service Discovery (Functional semantics) (Data semantics) (QoS semantics) (Syntactic description)
    • Description: Natural language description of the service functionality (Syntactic description)
    • The Web service discovery and integration process is carried out by a key operation:
      • The match function.
    • The matching step is dedicated to finding correspondences between a service template (ST, i.e., a query) and a service advertisement (SO).
    Discovery The Match Function
  • The Match Function SA 2 SA 3 0.99 0.34 0.74 Match Function SA 1 0.14 0.98 0.68 0.43 0.31 0.76 ST f ( ST, SA 1 ) f ( ST, SA 2 ) f ( ST, SA 3 ) ST Web Process
  • Syntactic, QoS, and Semantic (Functional & Data) Similarity Functional & Data Similarity Syntactic Similarity QoS Similarity Web Service Discovery Name, Description, … . Name, Description, … X Y A B C Web Service Web Service Similarity ? A2 A1 Calendar-Date … … Event … Similarity ? Web Service Web Service Purchase Buy X Y A B C QoS QoS Web Service Web Service Similarity ? Area Coordinates Forrest {name} {x, y} Information Function Get Information Get Date
  • The Match Function Semantic Similarity
    • Purely syntactical methods that treat terms in isolation from their contexts.
      • It is insufficient since they deal with syntactic but not with semantic correspondences
      • Users may express the same concept in different ways.
    • Therefore, we rely on semantic information to evaluate the similarity of concepts that define ST and SA interfaces.
    • This evaluation will be used to calculate their degree of integration.
  • The Match Function Semantic Similarity
    • When comparing service templates with service advertisements, the following cases should be considered to be good
      • The input and output concepts are the same ( ST(I ) == SA(I) & ST(O) == SA )
      • The concept ST(I) subsumes concept ST(O) ( O>I )
      • c) the concept O subsumes concept I ( O<I ), or
      • d) concept O is not directly related to concept I ( O  I ).
  • The Match Function Semantic Similarity
    • When comparing service templates with service advertisements, the following cases should be considered to be exact matches
      • The input and output concepts of service template and advertisement are the same ( ST(I ) = SA(I) and ST(O) = SA(O) )
      • The concept SA(I) subsumes concept ST(I). That is, requestor provides more information than the service needs SA(I) > ST(I)
      • The concept ST(O) subsumes concept SA(O). That is, the service provides more information than the requestor needs ST(O) > SA(O)
    • Otherwise, number of similar properties are used as a measure of similarity
  • The Match Function Semantic Similarity (  ( O ) =  ( I )) A2 A1 Calendar-Date … … Event … Similarity ? Web Service Web Service Acknowledement: Jorge Cardoso
  • The Match Function SA2 ST Date Event Date Service Template Service Advertisement Event SA1 Date Service Advertisement Scientific- Event Acknowledement: Jorge Cardoso
  • The Match Function Semantic Similarity (  ( O ) =  ( I )) A? A1 Date … … Date … Similarity ? Web Service Web Service Temporal - Entity Time - Point Date Time Time Domain Event Scientific - Event Calendar - Date { absolute_time } {hour, minute, second} {millisecond} {year, month, day} dayOftheWeek , monthOftheYear } Temporal - Entity Time - Point Date Time Time Domain Event Scientific - Event Calendar - Date { absolute_time } {hour, minute, second} {millisecond} {year, month, day} { dayOftheWeek , monthOftheYear } 1 2 1 2 3 4 New 100 % Acknowledement: Jorge Cardoso
  • The Match Function (ST(I) = SA(I) and ST(O) = SA(I)) Temporal - Entity Time - Point Date Time Time Domain Event Scientific - Event Calendar - Date { absolute_time } {hour, minute, second} {millisecond} {year, month, day} dayOftheWeek , monthOftheYear } Temporal - Entity Time - Point Date Time Time Domain Event Scientific - Event Calendar - Date { absolute_time } {hour, minute, second} {millisecond} {year, month, day} { dayOftheWeek , monthOftheYear } 1 2 1 2 3 4 ST Date Event Service Template SA1 Date Service Advertisement Event Acknowledement: Jorge Cardoso
  • The Match Function (SA(I) > ST(I) and ST(O) = SA(I)) Temporal - Entity Time - Point Date Time Time Domain Event Scientific - Event Calendar - Date { absolute_time } {hour, minute, second} {millisecond} {year, month, day} dayOftheWeek , monthOftheYear } Temporal - Entity Time - Point Date Time Time Domain Event Scientific - Event Calendar - Date { absolute_time } {hour, minute, second} {millisecond} {year, month, day} { dayOftheWeek , monthOftheYear } 1 2 1 2 3 4 ST Date Event Service Template SA1 Calendar-Date Service Advertisement Event Acknowledement: Jorge Cardoso
  • The Match Function (ST(I) = SA(I) and ST(O) > SA(O)) Temporal - Entity Time - Point Date Time Time Domain Event Scientific - Event Calendar - Date { absolute_time } {hour, minute, second} {millisecond} {year, month, day} dayOftheWeek , monthOftheYear } Temporal - Entity Time - Point Date Time Time Domain Event Scientific - Event Calendar - Date { absolute_time } {hour, minute, second} {millisecond} {year, month, day} { dayOftheWeek , monthOftheYear } 1 2 1 2 3 4 ST Date Event Service Template SA1 Date Service Advertisement Scientific-Event Acknowledement: Jorge Cardoso
  • The Match Function Semantic Similarity (  ( O ) =  ( I )) Temporal - Entity Time - Point Date Time Time Domain Event Scientific - Event Calendar - Date { absolute_time } {hour, minute, second} {millisecond} {year, month, day} dayOftheWeek , monthOftheYear } Temporal - Entity Time - Point Date Time Time Domain Event Scientific - Event Calendar - Date { absolute_time } {hour, minute, second} {millisecond} {year, month, day} { dayOftheWeek , monthOftheYear } 1 2 1 2 3 4 4/9*4/7=0.504 => 50% ST Date Event Service Template SA1 Event Service Advertisement Scientific-Event Acknowledement: Jorge Cardoso
  • Semantic Publication and Discovery For simplicity of depicting, the ontology is shown with classes for both operation and data Adding Semantics to Web Services Standards Use of ontologies enables shared understanding between the service provider and service requestor
  • METEOR-S Web Service Discovery Infrastructure (MWSDI)
    • METEOR-S 1 is a project which deals with all stages of Semantic Web Processes
    • Our approach involves using the current industry standards infrastructure to add semantics
    • MWSDI deals with adding semantics to UDDI registries
    • Provides transparent access to UDDI registries based on their domain or federation
    1 http:// lsdis.cs.uga.edu /Projects/METEOR-S
  • Extended Registries Ontologies (XTRO)
    • Provides a multi-faceted view of all registries in MWSDI
      • Federations
      • Domains
      • Registries
    subDomainOf supports belongsTo consistsOf belongsTo Federation Ontology Registry Domain Registry Federation
  • Types of Queries Supported
    • What is the access URL, available data model or type of the registry R?
    • Does the registry R support the ontology O?
    • Which are the registries available under the business domain B?
    • Is the registry X a member of the registry federation Y?
    • Which registries pertain to the domains that support the ontologies O1 and O 2?
    • Get all the registry federations that belong to the domain D?
    • Find all the registries that are categorized under the node N in the taxonomy (or ontology) C?
  • Semantic Web Service Composition in METEOR-S METEOR-S Web Service Composition Framework
  • Semantic Process Composition
    • Composition is the task of combining and linking existing Web Services and other components to create new processes.
    • Types of Composition
      • Static Composition - services to be composed are decided at design time
      • Dynamic Composition - services to be composed are decided at run-time
    Web Process Composition SCET , Semantic Web Process Composition
  • Level of dynamism
    • Predefined flows
      • Static binding (BPEL4WS)
      • Dynamic Binding (MWSCF) Demo today
    • Adaptive flows (METEOR)
    • Automatic composition
      • Planning
      • Hierarchical Decomposition [SHOP2]
    [SHOP2] Dan Wu, Bijan Parsia, Evren Sirin, James endler, and Dana Nau. Automating DAML-S web services composition using SHOP2, (ISWC, 2003)
  • Predefined flows
    • Static binding (supported by BPEL4WS)
    • Choose service at design time
    Client Manufacturer Supplier 2 Supplier 1 Manufacturer tightly coupled with suppliers
  • Predefined flows
    • Dynamic binding
    • Choose new services at runtime
    Client Manufacturer Faster Delivery Preferred Supplier Cheaper Supplier Dynamically choose best supplier at runtime
  • Constraint Based Process Composition
    • User defines High level goals
      • Abstract BPEL process (control flow without actual service bindings )
      • Process constraints on QoS parameters
        • Generic parameters like time, cost, reliability
        • Domain specific parameters like supplyTime
    • Business constraints captured in ontologies or databases
      • E.g preferred suppliers, domain constraints
  • Supply Chain – QoS Based
      • Graph Reduction Technique
    QoS Computation Reduction of a Sequential System QoS
  • QoS Computation
      • Graph Reduction Technique
    Reduction of a Parallel System QoS
  • Web Services Interfaces
    • To enhance the integration, Web services need to have their inputs and outputs associated with ontological concepts (annotation).
    • This will facilitate the resolution of structural and semantic heterogeneities
    • Compute the optimal matching (Bondy and Murty, 1976) using semantic information (Cardoso and Sheth, 2002)
    Web Process Composition Bipartite graph. Each edge has a weight (semantic similarity). A B C D X Z F Y b(O, I) b(O, I) X Z Y A B C M N T U R S P B C D F A
  • Constraint Representation – Business Constraints <NetworkAdaptor rdf:ID=&quot;Type1&quot;> <worksWith> <Battery rdf:ID=&quot;Type1Battery&quot;> </worksWith></ NetworkAdaptor > Type1 is an instance of NetworkAdaptor Type1 works with Type1Battery <NetworkAdaptorSupplier rdf:ID=&quot;Supplier1&quot;> <supplies rdf:resource=&quot;#Type1&quot;/> <supplierStatus>preferred </supplierStatus> </NetworkAdaptorSupplier> Supplier1 is an instance of network adaptor supplier Supplier1 supplies #Type1 Supplier1 is a preferred supplier. OWL expression Fact
  • Constraint Representation – Process Constraints MIN Optimize partnerStatus MIN Days < 7 Satisfy supplytime Σ Dollars Optimize Cost Aggregation Unit Value Goal Feature
  • Service Template Representation >0.8 .7 A(ST,o) > 0.9 1 R(ST,o) #PurchaseOrderConfirmation 1 O(ST,o) #PurchaseOrderRequest .8 I(ST,o) #OrderBattery 1 F c (ST,o) Battery Supplier 1 D(ST) Georgia 1 L(ST) Constraint Weight Feature
  • System Interaction
    • Convert abstract BPEL + STs to METEOR-S Workflow model
    • Get Candidate Services from UDDI
    • Generate optimization code from process constraints and QoS aggregation
    • Run Integer Linear Progamming Solver on the constraints
    • Bind optimal set of services to BPEL
  • Other METEOR-S Modules and Demo
    • Add transactional support to BPEL
    • State machine based verification of BPEL
    • Source code annotation tool
    • Demo
  • Semantic Web Services (WSMO)
    • WSMO (Web Services Modeling Ontology)
    • Two parts
      • WSML – Semantic Web Service Language based on F-logic
      • WSMX – Semantic Web Service Architecture
    • Based on WSMF proposed by Bussler and Fensel
    • WSMO Supports
      • Functional Aspects = (IOPEs) + used mediators
      • Non Functional Aspects = performance, reliability, security etc.
      • Mediators (components cannot communicate without them)
      • Petri nets for execution semantics
  • WSMO - Goals
    • A goal specifies the objectives that a client may have when he consults a web service
    • E.g. of goals
      • Buy a book
      • Buy a book from Amazon
      • Buy a book written by X
      • Mediators can combine or refine goals
        • E.g. Buy a book from Amazon written by X
  • Semantic Web Services (WSMO)
    • Two types of mediators
      • Refiners define a new component as a refinement of an existing component
        • ggMediators: mediators that link two goals. This link represents the refinement of the source goal into the target goal.
        • ooMediators: mediators that import ontologies and resolve possible representation mismatches between ontologies
  • Semantic Web Services (WSMO)
    • Two types of mediators
      • Bridges support reuse by enabling two components to interact with each other
        • wgMediators: mediators that link web service to goals. They explicitly may state the difference (reduction) between the two components and map different vocabularies (through the use of ooMediators).
        • wwMediators: mediators linking two Web Services.
  • Semantic Web Services (WSMO) Example of using mediators
  • OWL-S
    • OWL-S
      • Formerly OWL-S
      • Set of markup language constructs for describing the properties and capabilities of their Web services in unambiguous, computer-intepretable form
  • Semantic Web Services (OWL-S)
    • OWL-S (formerly DAML-S) provides support for the following:
      • Service Advertisements (OWL-S Upper ontology)
        • Functional Aspects (IOPE’s)
        • Non functional Aspects ( Geog Rad., Quality Rating etc.)
        • Interaction Protocol using process model
      • Discovery of services (OWL-S Matchmaker)
        • Subsumption based discovery
      • Composition (OWL-S process model)
        • Support for hierarchical planning (e.g. SHOP2)
      • Invocation (OWL-S VM )
  • OWL-S Ontologies
    • OWL-S defines ontologies for the construction of service models:
      • Service Profiles
      • Process Models
      • Service Grounding
    Service Resource ServiceProfile ServiceModel Service Grounding provides described by presents supports what the service does how the service works how to access the service
  • OWL-S Service Profile
    • The Service Profile provides details about a service.
    Web Service Client Local Receipt Itinerary Tourism Preconditions. Set of conditions that should hold prior to the service being invoked. Inputs. Inputs that should be provided to invoke the service. Outputs. Outputs expected after the interaction with the service. Effects. Set of statements that should hold true if the service is invoked successfully.
  • Service Profile An example of Inputs and Outputs
    • ...
    • <!ENTITY temporal &quot; http://ovid.cs.uga.edu:8080/scube/daml/Temporal.daml &quot;>
    • <!ENTITY address &quot; http://ovid.cs.uga.edu:8080/scube/daml/Address.daml &quot;>
    • ...
    • <input>
    • <profile:ParameterDescription rdf:ID=&quot; Addr &quot;>
    • <profile:parameterName> Addr </profile:parameterName>
    • <profile:restrictedTo rdf:resource=&quot; &address;#Address &quot;/>
    • <profile:refersTo rdf:resource=&quot;&congo;#congoBuyReceipt&quot;/>
    • </profile:ParameterDescription>
    • </input>
    • ...
    • <output>
    • <profile:ParameterDescription rdf:ID=&quot; When &quot;>
    • <profile:parameterName> When </profile:parameterName>
    • <profile:restrictedTo rdf:resource=&quot; &temporal;#Date &quot;/>
    • <profile:refersTo rdf:resource=&quot;&congo;#congoBuyReceipt&quot;/>
    • </profile:ParameterDescription>
    • < output >
    • ...
    Addr ,,, When ... ... Outputs Inputs
  • References – Partial List
    • [WSMO] www.wsmo.org
    • [OWL-S] www.daml.org/services/ owl-s /
    • [METEOR-S] lsdis.cs.uga.edu /Projects/METEOR-S
    • [Aggarwal et al., 2004] Constraint Based Web Service Composition
    • [Cardoso et al., 2004] Semantic e-Service Composition
    • [Sivashanmugam et al., 2003] Adding Semantics to Web Services Standards
    • [Sivashanmugam et al., 2004] Framework for Semantic Web Process Composition
    • Sivashanmugam et al., 2004] Discovery of Web Services in a Federated Registries Environment
    • [Verma et al. 2004] MWSDI: A Scalable Infrastructure of Registries for Semantic Publication and Discovery of Web Services
    • [Verma et al. 2004] Accommodating Inter-Service Dependencies in Web Process Flow Composition
  • Ongoing Projects
    • SWSI
      • SWSA Semantic Web Services Architecture
      • SWSL Semantic Web Services Language
    • WonderWeb: http://wonderweb.man.ac.uk/
      • Development of a framework of techniques and methodologies that provide an engineering approach to the building and use of ontologies.
      • Development of a set of foundational ontologies covering a wide range of application domains.
      • Development of infrastructures and tool support that will be required by real world applications in the Semantic Web.
  • Ongoing Projects
    • OWL-S: http://www.daml.org/services/
      • Set of ontologies to describe functionalties of web services
    • OWL-S Matchmaker: http://www-2.cs.cmu.edu/%7Esoftagents/daml_Mmaker/OWL-S_matchmaker.htm
      • Match service requestors with service providers
      • Semantic Matchmaking for Web Services Discovery
    • Web Service Composer: http://www.mindswap.org/~evren/composer/
      • Semi-automatic process for the dynamic composition of web services
    • Web Services: http://www-106.ibm.com/developerworks/webservices/
      • WSDL, UDDI, SOAP
      • Business Process with BPEL4WS
  • Conclusions
  • Conclusions
    • SOA, Web processes, and Semantic Web processes
    • Semantics can help address big challenges related to scalability, dynamic environments.
    • But comprehensive approach to semantics will be needed:
      • Data/information, function/operation, execution, QoS
    • Semantic (Web) principles and technology bring new tools and capabilities that we did not have in EAI, workflow management of the past
    • SWP
      • Semantics: Data, Function, QoS, Execution
      • Affects full Web Service/Process lifecycle: Annotation, Publication, Discovery, Composition, Binding, Execution
    More at: http://lsdis.cs.uga.edu/proj/meteor/SWP.htm
  • Semantic Web Processes Questions?
  • References
    • Resources: http://lsdis.cs.uga.edu/lib/presentations/SWSP-tutorial-resource.htm
    • [Kreger] http://www-3.ibm.com/software/solutions/webservices/pdf/WSCA.pdf
    • [Sivashanmugam et al.-1] Adding Semantics to Web Services Standards
    • [Sivashanmugam et al.-2] Framework for Semantic Web Process Composition
    • [Verma et al.] MWSDI: A Scalable Infrastructure of Registries for Semantic Publication and Discovery of Web Services
    • [Chandrasekaran et al.] Performance Analysis and Simulation of Composite Web Services
    • [Cardoso et al.] Modeling Quality of Service for Workflows and Web Service Processes
    • [Silver et al.] Modeling and Simulation of Quality of Service for Composition of Web Services
    • [Paolucci et al.] Importing Semantic Web in UDDI
    • [UDDI-v3] http://uddi.org/pubs/uddi-v3.00-published-20020719.htm
    • http://www.daml.org/services/
    • http://www-106.ibm.com/developerworks/webservices/library/ws-bpel/
    More at: http://lsdis.cs.uga.edu/SWP.htm Extensive related work at: IBM, Karlsruhe, U. Manchester, OWL-S (CMU, Stanford, UMD)
  • SOA and Semantic Web Processes End