Service Oriented Architectures and Semantic Web Processes Francisco Curbera1, Amit Sheth2,3, Kunal Verma2 1IBM T.J. Watson Research Center (USA) 2LSDIS Lab, University of Georgia 3Semagix, Inc (USA) 2 Service Oriented Architectures and Web Services Semantic Web Services and Processes 2 3 Semantic Web Processes Part 3 Service Oriented Architectures and Web Services 5 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. 5 6 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. 6 7 Enterprises as IT Islands Value added networks and proprietary protocols support most B2B interactions Ad-hoc bridges support interorganizational interactions. Most application interactions take place inside the enterprise. Most applications belong to a single administrative domain. 7 8 Fully Networked Enterprises Web based interactions become pervasive, based on standard protocols 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. 8 9 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. 9 10 IT for the New Enterprise: Business Components Need to raise the level of IT abstractions. 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. Concentrate on business function and requirements. 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. 10 11 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. Service D Registry QoS=A/B? Iface=I etc… Service B Server A Service C 11 12 A Plan for Building a SOA Requirement #1: Interaction protocols must be standardized. Requirement #2: Make all contracts explicit. Standard metadata is the basis of interoperable contract selection and execution. Requirement #3: Allow for points of variability in the contract. 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. Need to ensure the widest interoperability among unrelated institutions. Dynamic adaptation on variability points. Increases the number of possible interactions supported. Requirement #4: Provide native composition models and runtimes. 12 Web Services As a SOA SOA and Web Services 14 Where Are We on Web Services? BPEL4WS Composition WSDL, WS-Policy, UDDI, Inspection Description Reliable Messaging Transactions Quality of Service Other protocols Other services Interaction Security SOAP (Logical Messaging) XML, Encoding 14 Protocols SOA and Web services 16 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 16 17 SOAP Messaging Service Requestor Service Provider Application web service Application 1 4 3 SOAP Middleware 2 SOAP Middleware Network Protocol Network Protocol Response Request (service invocation) 17 Metadata SOA and Web services 19 Metadata WSDL: Functional descriptions. WS-Policy: QoS Points of variability: dynamic infrastructure. 19 20 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 20 21 WSDL Description Structure <definitions> <types> … <message name=“Msg1”/> … <portType name=“PType1”> … Abstract/ Business <binding name=“Bnd1” type=“PType1”> … <service name=“svc1”> <port binding=“Bnd1” > <soap:address location=“...”/> Deployment </port> </service> </definitions> 21 22 WSDL Parts At a Glance part types abstract interface portType (concrete) (abstract) message message (abstract) operation concrete implementation binding (concrete) operation (concrete) (concrete) message message made concrete by service contains one or more concrete endpoint port 22 23 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/ 23 24 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 24 25 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="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="wsse:AlgEncryption“ …/> 017 </wsse:Integrity> 018 </wsp:All> 019 </wsp:ExactlyOne> 020 </wsp:Policy> 25 26 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. 26 27 WS-Policy Status: WS-Policy specifications published withy RF licensing terms at: http://www106.ibm.com/developerworks/webservices/library/ ws-polfram/summary.html WS-PolicyFramework WS-PolicyAttachments To be submitted for standardization. 27 Discovery SOA and Web services 29 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. 29 Composition SOA and Web services 31 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. 31 32 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 32 33 Structure of a BPEL4WS Process <process ...> <partners> ... </partners> <!-- Web services the process interacts with --> Partner <correlationSets> ... </correlationSets> information <!– Used to support asynchronous interactions --> <variable> ... </variable> <!– Data used by the process --> <faultHandlers> ... </faultHandlers> <!–Alternate execution path to deal with faulty conditions --> Business <compensationHandlers> ... </compensationHandlers> logic <!–Code to execute when “undoing” an action --> (activities)* <!– What the process actually does --> </process> 33 34 Global Models, an Example 1-send notice Customer 2-pay in full Cable Co. Cable Co. 1-send notice Cable Co. 1-send notice 4-pay in full Customer 5-stop collection 2-collect from & pay customer 6-notify: done 3-send ultimatum Collections Agency 5-notify&pay Customer 2-collect from customer 6-pay in full 3-send ultimatum Collections Agency 34 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: 36 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. 36 Service Oriented Architectures and Web Services 37 End 37 38 Part 38 39 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 39 40 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] 40 41 Our Focus (2) Semantics Web Processes Web Process Composition Execution Web Process QoS Web Services Web Service Annotation Web Service Discovery Web Service QoS 41 42 The Basics What are Web Services, Web Processes, and Semantics? 42 43 Web Process An Example Web Processes Organization B Organization A t1 Organization C + + t5 Setup t2 t3 t4 Prepare Sample Prepare Clones and Sequence Assembly t6 Test Quality Get Sequences t7 t8 Sequence Processing Process Report 43 44 What are Web Processes (1)? Web Processes 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? 44 45 Web Processes Composition Web Processes WS1 WS9 WS2 Web Process Design WS3 WS4 WS5 WS7 WS8 WS6 Web services 45 46 Globalization of Processes B2B Workflows Enterprise Distributed Workflows Inter-Enterprise Processes driving the Networked Economy E-Services Web Processes Global 46 47 BIG Challenges Heterogeneity and Autonomy Dynamic nature of business interactions Syntactic, semantic and pragmatic Complex rules/regulations related to B2B and ecommerce interactions Solution: Machine processable descriptions 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. 47 48 Semantics, Ontologies, Semantic Web Processes Temporal-Entity Time-Point{absolute_time} Time Domain {year, month, day} Calendar-Date Time Date {hour, minute, second} Event {dayOftheWeek, monthOftheYear} Scientific-Event {millisecond} 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. 48 Acknowledement: Jorge Cardoso 49 Semi-Formal Informal Degree of Agreement Formal Other dimensions: how agreements are reached, … Broad Scope of Semantic (Web) Technology Current Semantic Web Focus Lots of Useful Semantic Technology (interoperability, Integration) Qos Execution Scope of Agreement Task/ App Domain Industry Gen. Purpose, Broad Based Function Common Sense Data/ Info. 49 Cf: Guarino, Gruber METEOR-S 51 Semantics for Web Processes Data/Information Semantics 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 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 (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 51 52 Data and Functional Ontology an example based on Rosettanet Functions Data 52 53 QoS Ontology in METEOR-S 53 54 Semantics for Web Process Life-Cycle Development / Description / Annotation Execution (Orchestration?) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF) Composition (Choreography?) Data / Information Semantics Publication / Discovery WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF) UDDI WSIL, OWL-S METEOR-S (MWSDI) 54 55 Semantics for Web Process Life-Cycle Development / Description / Annotation Execution (Orchestration?) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF) Composition (Choreography?) Data / Information Semantics Publication / Discovery WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF) UDDI WSIL, OWL-S METEOR-S (MWSDI) 55 56 Semantics for Web Process Life-Cycle Development / Description / Annotation Execution (Orchestration?) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF) Functional / Operational Semantics Composition (Choreography?) Publication / Discovery WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF) UDDI WSIL, OWL-S METEOR-S (MWSDI) 56 57 Semantics for Web Process Life-Cycle Development / Description / Annotation Execution (Orchestration?) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF) QoS Semantics BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF) Composition (Choreography?) Publication / Discovery UDDI WSIL, OWL-S METEOR-S (MWSDI) 57 58 Semantics for Web Process Life-Cycle Development / Description / Annotation Execution (Orchestration?) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF) Composition (Choreography?) Execution Semantics Publication / Discovery WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF) UDDI WSIL, OWL-S METEOR-S (MWSDI) 58 59 Semantics for Web Process Life-Cycle Development / Description / Annotation Execution (Orchestration?) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow Execution Semantics Data / Information Semantics WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF) Semantics Required for Web Processes QoS Semantics BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF) Composition (Choreography?) Functional / Operational Semantics Publication / Discovery UDDI WSIL, OWL-S METEOR-S (MWSDI) 59 60 Semantics at Different Layers Description Layer Flow Discovery Publication Description Messaging Network 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 60 61 WSDL-S <?xml version="1.0" encoding="UTF-8"?> <definitions name = "BatterySupplier" targetNamespace = "http://lsdis.cs.uga.edu/meteor/BatterySupplier.wsdl20" xmlns = "http://www.w3.org/2004/03/wsdl" xmlns:tns = "http://lsdis.cs.uga.edu/BatterySupplier.wsdl20" xmlns:rosetta = " http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/pips.owl " xmlns:mep=http://www.w3. rosetta:PurchaseOrderStatusResponse org/TR/wsdl20-patterns> <interface name = "BatterySupplierInterface" description = "Computer PowerSupply Battery Buy Quote Order Status " domain="naics:Computer and Electronic Product Manufacturing" > Function <operation name = "getQuote" pattern = "mep:in-out" action = "rosetta:#RequestQuote" > <input messageLabel = ”qRequest” element = "rosetta:#QuoteRequest" /> <output messageLabel = ”quote” element = "rosetta:#QuoteConfirmation" /> </operation> from Rosetta Net Ontology <operation name = "placeOrder" pattern = "mep:in-out" action = "rosetta:#RequestPurchaseOrder" > <input messageLabel = ”order” element = "rosetta:#PurchaseOrderRequest" /> <output messageLabel = ”orderConfirmation” element = "rosetta:#PurchaseOrderConfirmation" /> <exception element = "rosetta:#DiscountinuedItemException" /> Data from <pre condition = " order.PurchaseOrder.PurchaseOrderLineItem.RequestedQuantity > 7" /> Rosetta Net </operation> <operation name = "checkStatus" pattern="mep:in-out" action = "rosetta:#QueryOrderStatus" > Ontology <input messageLabel = ”statusQuery” element = "rosetta:#PurchaseOrderStatusQuery" /> <output messageLabel = ”status” element = "rosetta:#PurchaseOrderStatusResponse" /> <exception element = "rosetta:#OrderNumberInvalidException" /> 61 </operation> </interface> </definitions> 62 Semantics at Different Layers (contd..) Publication and Discovery Layers Flow Discovery Publication Description Messaging Network 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) 62 and selecting the best suited service is not possible 63 MWSDI Registry Federation belongsTo Federation belongsTo Registry supports Ontology Domain consistsOf subDomainOf 63 64 Semantics at Different Layers (contd..) Flow Layer: Flow Discovery Publication Description Messaging Network 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 64 65 Using Colored Petri nets 65 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 66 66 67 Semantics in METEOR-S and WS stack Flow Discovery Publication Description Messaging MWSCF: Semantic Web Process Composition Framework MWSDI: Scalable Infrastructure of Registries for Semantic publication and discovery of Web Services MWSAF: Semantic Annotation of WSDL (WSDL-S) Network 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 67 http://swp.semanticweb.org, http://lsdis.cs.uga.edu/proj/meteor/swp.htm 68 METEOR-S Architecture Front-End Back-End 68 METEOR-S Web Service Annotation Framework 70 MWSAF- METEOR-S Web Service Annotation Framework <xsd:complexType name=“Date"> WSDL <xsd:sequence> <xsd:element name=“year" type="xsd:integer" /> <xsd:element name=“month" type="xsd:integer" /> <xsd:element name=“day" type="xsd:byte" /> = Time - Ontology </xsd:sequence> Temporal-Entity </xsd:complexType> Web Service Time Interval Interfaces Inputs Date Duration Data Semantics XML Schema Data type hierarchy Time-Point {year, month, day} Outputs Name Year Time Domain Ontologies Date Time {absolute_time} {hour, minute, second} Event Calendar-Date {dayOftheWeek, monthOftheYear} = Local ontology City Scientific-Event {millisecond} Coordinates {x, y} Get Conference Information QoS Ontology Area {name} City Functional Semantics WSDL <portType name=“ConferenceInformation"> <operation name="getInformation"> <input message="tns:Data" /> <output message="tns:ConferenceInformation" /> </operation> QoS Semantics Forrest Quality Information Function Min Conference Information Functions Get Information 70 Get Date 71 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 71 72 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 = {wc1, wc2, wc3, …, wcn} where, wci is an element in XML schema and n is the number of elements Ontology → O = {oc1, oc2, oc3, …, ocm} where, oci 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 72 MWSAF – XML Schema to 73 SchemaGraph Rule XML Schema constructs SchemaGraph representation 1 Element, Node 2 simpleType Node 3 Enumeration values defined for simpleType S Node with edge between simpleType S node and value node with name “hasValue” 4 ComplexType Node 5 Sub-elements of complexType C which Node with edge between complexType have range as basic XML datatypes C node and this node with name “hasElement” 6 Sub-elements of complexType C which Edge between complexType C node have range as complexTypes or and the range type node simpleTypes or elements defined in same schema 73 MWSAF – XML Schema to 74 SchemaGraph Rule 6 - <xsd:complexType name="WeatherReport"> - <xsd:sequence> <xsd:element name="phenomena" type="xsd1:Phenomenon" /> <xsd:element name="wind" type="xsd1:Wind" /> </xsd:sequence> </xsd:complexType> - <xsd:complexType name="Phenomenon"> - <xsd:sequence> <xsd:element name="type" type="xsd1:PhenomenonType" /> <xsd:element name=“intensity" type="xsd1:PhenomenonIntensity" /> complextype => Node </xsd:sequence> </xsd:complexType> - <xsd:complexType name="Wind"> - <xsd:sequence> <xsd:element name="gust_speed" type="xsd:double" /> WeatherReport <xsd:element name="prevailing_direction" type="xsd1:Direction" /> </xsd:sequence> wind </xsd:complexType> phenomena simpletype => Node - <xsd:simpleType name="PhenomenonType"> - <xsd:restriction base="xsd:string"> Wind <xsd:enumeration value="MIST" /> Phenomenon <xsd:enumeration value="FOG" /> <xsd:enumeration value=“SNOW" /> hasElement prevailing_direction <xsd:enumeration value="DUST" /> type </xsd:restriction> </xsd:simpleType> gust_speed Direction intensity Rule 5 Rule 1 Rule 1 PhenomenonType Rule 3 Rule 1 PhenomenonIntensity oneOf oneOf MIST oneOf oneOf FOG Element => Node SNOW DUST 74 MWSAF - Ontology to 75 SchemaGraph Rule Ontology representation SchemaGraph representation 1 Class Node 2 Property of class D with basic datatype as range (Attribute) Node with edge joining it to class D node with name “hasProperty” 3 Property of class D with other class R as range (Relation) Edge between class D node and range class R node 4 Instance of class C Node with edge joining class C node to instance node with name “hasInstance” 5 Class(X)-subclass(Y) relationship Edge between class X node and class Y node with name “hasSubclass” 75 MWSAF - Ontology to 76 SchemaGraph WeatherPhenomenon - <daml:Class rdf:ID="WeatherPhenomenon"> <rdfs:comment>Superclass for all weather events</rdfs:comment> <rdfs:label>Weather event</rdfs:label> </daml:Class> WindEvent - <daml:Class rdf:ID="WindEvent"> <rdfs:subClassOf rdf:resource="#WeatherPhenomenon" /> </daml:Class> - <daml:Property rdf:ID="windDirection"> windDirection <rdfs:domain rdf:resource="#WindEvent" /> </daml:Property> GustingWindEvent - <daml:Class rdf:ID="GustingWindEvent"> <rdfs:subClassOf rdf:resource="#WindEvent" /> </daml:Class> CurrentWeatherPhenomenon - <daml:Class rdf:ID="CurrentWeatherPhenomenon"> <rdfs:subClassOf rdf:resource="#WeatherPhenomenon" /> </daml:Class> - <daml:Class rdf:ID="OtherWeatherPhenomena"> <rdfs:subClassOf rdf:resource="#CurrentWeatherPhenomenon" /> </daml:Class> OtherWeatherPhenomenon - <daml:Class rdf:ID="Duststorm"> <rdfs:subClassOf rdf:resource="#OtherWeatherPhenomena" /> </daml:Class> - <daml:Class rdf:ID="PrecipitationEvent"> Duststorm <rdfs:subClassOf rdf:resource="#CurrentWeatherPhenomenon" /> </daml:Class> - <daml:Class rdf:ID="SolidPrecipitationEvent"> <rdfs:subClassOf rdf:resource="#PrecipitationEvent" /> PrecipitationEvent </daml:Class> - <daml:Class rdf:ID="Snow"> <rdfs:subClassOf rdf:resource="#SolidPrecipitationEvent" /> </daml:Class> - <daml:Class rdf:ID="ObscurationEvent"> SolidPrecipitationEvent ObsucurationEvent <rdfs:subClassOf rdf:resource="#CurrentWeatherPhenomenon" /> </daml:Class> - <daml:Class rdf:ID="Fog"> <rdfs:subClassOf rdf:resource="#ObscurationEvent" /> Snow Mist Fog 76 </daml:Class> - <daml:Class rdf:ID="Mist"> <rdfs:subClassOf rdf:resource="#ObscurationEvent" /> </daml:Class> Rule 1 Rule 2 Rule 5 Proposed Standard WSDL-S 78 WSDL-S Metamodel 78 79 WSDL-S <?xml version="1.0" encoding="UTF-8"?> <definitions name = "BatterySupplier" targetNamespace = "http://lsdis.cs.uga.edu/meteor/BatterySupplier.wsdl20" xmlns = "http://www.w3.org/2004/03/wsdl" xmlns:tns = "http://lsdis.cs.uga.edu/BatterySupplier.wsdl20" xmlns:rosetta = " http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/pips.owl " xmlns:mep=http://www.w3. rosetta:PurchaseOrderStatusResponse org/TR/wsdl20-patterns> <interface name = "BatterySupplierInterface" description = "Computer PowerSupply Battery Buy Quote Order Status " domain="naics:Computer and Electronic Product Manufacturing" > Function <operation name = "getQuote" pattern = "mep:in-out" action = "rosetta:#RequestQuote" > <input messageLabel = ”qRequest” element = "rosetta:#QuoteRequest" /> <output messageLabel = ”quote” element = "rosetta:#QuoteConfirmation" /> </operation> from Rosetta Net Ontology <operation name = "placeOrder" pattern = "mep:in-out" action = "rosetta:#RequestPurchaseOrder" > <input messageLabel = ”order” element = "rosetta:#PurchaseOrderRequest" /> <output messageLabel = ”orderConfirmation” element = "rosetta:#PurchaseOrderConfirmation" /> <exception element = "rosetta:#DiscountinuedItemException" /> Data from <pre condition = " order.PurchaseOrder.PurchaseOrderLineItem.RequestedQuantity > 7" /> Rosetta Net </operation> <operation name = "checkStatus" pattern="mep:in-out" action = "rosetta:#QueryOrderStatus" > Ontology <input messageLabel = ”statusQuery” element = "rosetta:#PurchaseOrderStatusQuery" /> <output messageLabel = ”status” element = "rosetta:#PurchaseOrderStatusResponse" /> <exception element = "rosetta:#OrderNumberInvalidException" /> 79 </operation> </interface> </definitions> Semantic Web Service Discovery in METEOR-S METEOR-S Web Service Discovery Infrastructure 81 Discovery New Requirements Web Service Discovery Before Now QoS Tasks B8 B3 A1 B3 A1 A1 B3 B3 A1 A1 A1 A1 A1 A4 A2 A1 A4 A2 A4 A1 A2 A4 A1 A2 A1 A2 Web Services B3 A1 B3 A1 B3 B3 A1 A1 A1 A4A1A1 A1 A1 A4 A1 B3 A1 A1 A2 A1 A4 A1 A4 A1 A1 B3 A4 A1 A1 A1 A2 A1 A2 A4 A4 B3 A1 A1 A4 A1 A2 B3 A2 A1 A4 A1 A2 A1 A1A1 A1A1 A1 A2 A1 A1 A1 B3 A4 A1 A2 A1 A1 A2 A1A2 A4A4 A1A1A2A2 A4 A1B3A4 A2 A2 A4 A1A4 A1 A1 A2 A4 A4 A2 A1A1 A4 A1 A4 A1 A1 B3 A1 A1 A1 B3 A2 B3 A4A1A1 B3 A2 A4 A1 A2 A1 A1 A1 B3 A4 A1 A1 A4A4 A1A2A2 A4 B3 B3A1 A1A1A1A2 A1 B3 A1 A1 A2 A1 A4 A1 A2 A1 A4 A1 A1 A1 A1 A4 A4 A4 A1 A1 A4 A1 A1 A1A2A2 B3 A1 B3B3 A1 A1A1 B3 A1 A4 A1 B3 A4 A5A1 A2 A1 A4 A6 A2 QoS Workflow Web Process A E N1 C N2 D F A N1 N2 E C F D 81 82 Present Discovery Mechanism Keyword and attribute-based search Web Service Discovery UDDI :Keyword and attribute-based search Example: “Quote” Microsoft UBR returned 12 services Human reading of description (Natural Language) help me understand: Categorization suggested for UDDI is useful but inadequate (what does the WS do?) : 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 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?) 82 83 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 83 84 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) (Functional semantics) (Data semantics) (QoS semantics) (Syntactic description) Outputs: What the requestor expects as outputs from the service (Data semantics) Web Service Discovery QoS: Quality of Service the distributor expects from the service (QoS semantics) Description: Natural language description of the service functionality (Syntactic description) 84 85 Discovery The Match Function 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). 85 86 The Match Function 0.76 0.14 0.98 SA2 SA1 0.31 0.68 SA3 Match Function 0.43 Conference Registry Service 0.34 0.74 0.99 Hotel Reservation Service f(ST, SA1) f(ST, SA2) f(ST, SA3) ? Date Date Duration Duration City City Conference Start Get Conference Information A Employee ID Web Process User UserName Name Address Address Get User Information Itinerary Itinerary B ST Travel Reservation End Hotel Reservation 86 87 Syntactic, QoS, and Semantic (Functional & Data) Similarity Web Service Discovery Similarity ? Name, Description, … A B C Syntactic Similarity Name, X Description, Y …. Web Service SynSimilar ty( ST , SO) Web Service 1SynNS ( ST .sn, SO.sn) 2 SynDS ( ST .sd , SO.sd ) [0..1], 1 2 and 1 , 2 [0..1] Similarity ? QoS QoS Similarity OpSimilari ty( ST , SO) 3 Buy QoSdimD ( ST , SO, time) * QoSdimD ( ST , SO, cost ) * QoSdimD ( ST , SO, reliabilit y) A B C X Y Web Service Calendar-Date A1 … … Web Service Similarity ? Event … A2 QoS Purchase Web Service Functional & Data Similarity Coordinates{x, y} Information Function Area {name} Web Service 87 Forrest Get Information Get Date 88 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. 88 89 The Match Function Semantic Similarity When comparing service templates with service advertisements, the following cases should be considered to be good 1. 2. 3. 4. 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 (OI). 89 90 The Match Function Semantic Similarity When comparing service templates with service advertisements, the following cases should be considered to be exact matches 1. The input and output concepts of service template and advertisement are the same (ST(I) = SA(I) and ST(O) = SA(O) ) 2. The concept SA(I) subsumes concept ST(I). That is, requestor provides more information than the service needs SA(I) > ST(I) 3. 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 90 91 The Match Function Semantic Similarity ((O) = (I)) Calendar-Date Similarity ? Event … A1 … Web Service Web Service ST1,2 (output) SO1,2,3,4 (input) Time ontology b) Time ontology Temporal-Entity Time Interval A2 … Time Domain Temporal-Entity Time-Point {absolute_time} a) Time Interval 2 Time Domain Time-Point 1 {year, month, day} Date 1 Time {hour, minute, second} {year, month, day} Event Calendar-Date {dayOftheWeek, monthOftheYear} c) Scientific-Event Time Date 3 2 Calendar-Date {absolute_time} {hour, minute, second} 4 Event {dayOftheWeek, monthOftheYear} {millisecond} Scientific-Event {millisecond} d) 91 Acknowledement: Jorge Cardoso 92 The Match Function SA2 Date Date ST Event Event Date Service Advertisement Service Advertisement Service Template ST1,2 (output) SO1,2,3,4 (input) Time ontology b) Time ontology Temporal-Entity Time Interval Time Domain Temporal-Entity Time-Point {absolute_time} a) Time Interval 2 Time Domain Time-Point 1 {year, month, day} Date {absolute_time} 1 Time {hour, minute, second} {year, month, day} Event Calendar-Date {dayOftheWeek, monthOftheYear} c) Scientific-Event Time Date 3 2 Calendar-Date ScientificEvent SA1 {hour, minute, second} 4 Event {dayOftheWeek, monthOftheYear} {millisecond} Scientific-Event {millisecond} d) 92 Acknowledement: Jorge Cardoso 93 The Match Function Semantic Similarity ((O) = (I)) New Date … A1 Date Similarity ? … Web Service Web Service 100 % Temporal-Entity Time Domain A? … Temporal-Entity 2 Time Domain Time-Point { absolute_time} Time-Point { absolute_time} 1 {year, month, day} Date 1 Time {year, month, day} Time Date {hour, minute, second} {hour, minute, second} 3 2 Calendar-Date Event Calendar-Date { dayOftheWeek, monthOftheYear} 4 Event dayOftheWeek, monthOftheYear} Scientific-Event Scientific-Event {millisecond} {millisecond} 1, 1, SemS ' (O, I ) | p(O) | , | p( I ) | Similarity ' (O, I ), OI OI OI OI Acknowledement: Jorge Cardoso 93 94 The Match Function (ST(I) = SA(I) and ST(O) = SA(I)) Date ST Event Service Template Temporal-Entity 2 Time Domain Time-Point { absolute_time} Time-Point { absolute_time} 1 {year, month, day} Date Event Service Advertisement Temporal-Entity Time Domain SA1 Date 1 Time {year, month, day} Time Date {hour, minute, second} {hour, minute, second} 3 2 Calendar-Date Event { dayOftheWeek, monthOftheYear} Calendar-Date 4 Event dayOftheWeek, monthOftheYear} Scientific-Event Scientific-Event {millisecond} {millisecond} 94 Acknowledement: Jorge Cardoso 95 The Match Function (SA(I) > ST(I) and ST(O) = SA(I)) ST Calendar-Date SA1 Date Event Service Template Service Advertisement Temporal-Entity Time Domain Temporal-Entity 2 Time Domain Time-Point { absolute_time} Time-Point { absolute_time} 1 {year, month, day} Date Event 1 Time {year, month, day} Time Date {hour, minute, second} {hour, minute, second} 3 2 Calendar-Date { dayOftheWeek, monthOftheYear} Event Calendar-Date 4 Event dayOftheWeek, monthOftheYear} Scientific-Event Scientific-Event {millisecond} {millisecond} 95 Acknowledement: Jorge Cardoso 96 The Match Function (ST(I) = SA(I) and ST(O) > SA(O)) Date ST Event Service Template Temporal-Entity 2 Time Domain Time-Point { absolute_time} Time-Point { absolute_time} 1 {year, month, day} Date Scientific-Event Service Advertisement Temporal-Entity Time Domain SA1 Date 1 Time {year, month, day} Time Date {hour, minute, second} {hour, minute, second} 3 2 Calendar-Date Event { dayOftheWeek, monthOftheYear} Calendar-Date 4 Event dayOftheWeek, monthOftheYear} Scientific-Event Scientific-Event {millisecond} {millisecond} 96 Acknowledement: Jorge Cardoso 97 The Match Function Semantic Similarity ((O) = (I)) Date ST Event Service Template Time Domain Temporal-Entity 2 Time Domain Time-Point { absolute_time} Time-Point { absolute_time} 1 {year, month, day} Date Scientific-Event Service Advertisement 4/9*4/7=0.504 => 50% Temporal-Entity SA1 Event 1 Time {year, month, day} Time Date {hour, minute, second} {hour, minute, second} 3 2 Calendar-Date Event Calendar-Date { dayOftheWeek, monthOftheYear} 4 Event dayOftheWeek, monthOftheYear} Scientific-Event Scientific-Event {millisecond} {millisecond} 1, 1, SemS ' (O, I ) | p(O) | , | p( I ) | Similarity ' (O, I ), OI OI OI OI Acknowledement: Jorge Cardoso similarity ' (O, I ) | p(O) p( I ) | | p(O) 97 p( I ) | * | p(O) p( I ) | | p( I ) | 98 Semantic Publication and Discovery Class TravelServices subClassOf WSDL subClassOf Class Class Data Operations subClassOf subClassOf subClassOf Use of ontologies enables shared understanding between the service provider and service requestor subClassOf Class Class Class Class Ticket Information Confirmation Message Ticket Booking Ticket Cancellation Operation: buyTicket Input1: <Operation> TravelDetails Output1: Confirmation <Input1> UDDI Operation: Search cancelTicket <Output1> Input1: TravelDetails Output1: Service Template Publish Confirmation Annotations For simplicity of depicting, the ontology is shown with classes for both operation and data Adding Semantics to Web Services Standards 98 METEOR-S Web Service Discovery Infrastructure (MWSDI) 99 METEOR-S1 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 99 Extended Registries Ontologies (XTRO) 100 Provides a multifaceted view of all registries in MWSDI Federations Domains Registries Registry Federation belongsTo Federation belongsTo Registry supports Ontology Domain subDomainOf consistsOf 100 101 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 O2? 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? 101 Semantic Web Service Composition in METEOR-S METEOR-S Web Service Composition Framework 103 Semantic Process Composition Web 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 103 SCET, Semantic Web Process Composition 104 Level of dynamism Predefined flows Static binding (BPEL4WS) Dynamic Binding (MWSCF) Demo today Adaptive flows (METEOR) Automatic composition Planning Hierarchical Decomposition [SHOP2] 104 [SHOP2] Dan Wu, Bijan Parsia, Evren Sirin, James endler, and Dana Nau. Automating DAML-S web services composition using SHOP2, (ISWC, 2003) 105 Predefined flows Static binding (supported by BPEL4WS) Choose service at design time Supplier 2 Supplier 1 Manufacturer Manufacturer tightly coupled with suppliers Client 105 106 Predefined flows Dynamic binding Choose new services at runtime Dynamically choose best supplier at runtime Cheaper Supplier Preferred Supplier Faster Delivery Manufacturer Client 106 107 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 107 108 Supply Chain – QoS Based 108 109 QoS Computation QoS Graph Reduction Technique pj ti tj (a) Reduction of a Sequential System tij (b) T(tij) = T(ti) + T(tj) C(tij)= C(ti) + C(tj) R(tij) = R(ti) * R(tj) F(tij).ar = f(F(ti), F(tj)) 109 110 QoS Computation QoS Graph Reduction Technique pa1 ta * pa2 t1 t2 pan p1b p2b * tb ta p1n t1n pb tb pnb tn (a) Reduction of a Parallel System (b) T(t1n) = MaxI{1..n} {T(ti)} C(t1n) = C(ti) R(ti) 1i .n R(t1n) = 1i .n F(t1n).ar = f(F(t1), F(t2), …, F(tn)) 110 111 Web Services Interfaces Web Process Composition 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) B b(O, I) A B b(O, I) Z Y X C D F A X A B C M N C Y R S T U P Z F D Bipartite graph. Each edge has a weight (semantic similarity). 111 Constraint Representation – Business Constraints Fact 112 OWL expression Supplier1 is an instance of network adaptor supplier Supplier1 supplies #Type1 Supplier1 is a preferred supplier. <NetworkAdaptorSupplier rdf:ID="Supplier1"> <supplies rdf:resource="#Type1"/> <supplierStatus>preferred </supplierStatus> </NetworkAdaptorSupplier> Type1 is an instance of NetworkAdaptor Type1 works with Type1Battery <NetworkAdaptor rdf:ID="Type1"> <worksWith> <Battery rdf:ID="Type1Battery"> </worksWith></ NetworkAdaptor > 112 Constraint Representation – Process Constraints Feature Goal Cost Optimize supplytime Satisfy partnerStatus Optimize Value <7 113 Unit Aggregation Dollars Σ Days MIN MIN 113 114 Service Template Representation Feature Weight Constraint L(ST) 1 Georgia D(ST) 1 Battery Supplier Fc(ST,o) 1 #OrderBattery I(ST,o) .8 #PurchaseOrderRequest O(ST,o) 1 #PurchaseOrderConfirmation R(ST,o) 1 > 0.9 A(ST,o) .7 >0.8 114 115 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 115 Other METEOR-S Modules and Demo 116 Add transactional support to BPEL State machine based verification of BPEL Source code annotation tool Demo 116 117 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 117 118 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 118 119 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 119 120 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. 120 Semantic Web Services (WSMO) Example of using mediators 121 121 122 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 122 123 Semantic Web Services (OWL-S) OWL-S (formerly DAML-S) provides support for the following: Service Advertisements (OWL-S Upper ontology) Discovery of services (OWL-S Matchmaker) Subsumption based discovery Composition (OWL-S process model) Functional Aspects (IOPE’s) Non functional Aspects ( Geog Rad., Quality Rating etc.) Interaction Protocol using process model Support for hierarchical planning (e.g. SHOP2) Invocation (OWL-S VM ) 123 124 OWL-S Ontologies OWL-S defines ontologies for the construction of service models: Service Profiles Process Models Service Grounding provides Resource Service presents supports described by ServiceProfile ServiceModel Service Grounding what the service does how the service works how to access the service 124 125 OWL-S Service Profile The Service Profile provides details about a service. Inputs. Inputs that should be provided to invoke the service. Outputs. Outputs expected after the interaction with the service. Receipt Client Itinerary Local Tourism Preconditions. Set of conditions that should hold prior to the service being invoked. Web Service Effects. Set of statements that should hold true if the service is invoked successfully. 125 126 Service Profile An example of Inputs and Outputs ... <!ENTITY temporal "http://ovid.cs.uga.edu:8080/scube/daml/Temporal.daml"> <!ENTITY address "http://ovid.cs.uga.edu:8080/scube/daml/Address.daml"> ... <input> <profile:ParameterDescription rdf:ID="Addr"> <profile:parameterName> Addr </profile:parameterName> Inputs <profile:restrictedTo rdf:resource="&address;#Address"/> Addr <profile:refersTo rdf:resource="&congo;#congoBuyReceipt"/> </profile:ParameterDescription> </input> ... <output> <profile:ParameterDescription rdf:ID="When"> <profile:parameterName> When </profile:parameterName> <profile:restrictedTo rdf:resource="&temporal;#Date"/> <profile:refersTo rdf:resource="&congo;#congoBuyReceipt"/> </profile:ParameterDescription> < output > ... ,,, Outputs When ... ... 126 127 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 127 128 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. 128 129 Ongoing Projects OWL-S: http://www.daml.org/services/ Set of ontologies to describe functionalties of web services OWL-S Matchmaker: http://www2.cs.cmu.edu/%7Esoftagents/daml_Mmaker/OWL-S_matchmaker.htm Web Service Composer: http://www.mindswap.org/~evren/composer/ Match service requestors with service providers Semantic Matchmaking for Web Services Discovery Semi-automatic process for the dynamic composition of web services Web Services: http://www106.ibm.com/developerworks/webservices/ WSDL, UDDI, SOAP Business Process with BPEL4WS 129 130 Conclusions 130 131 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 131 132 Semantic Web Processes Questions? 132 133 References Extensive related work at: IBM, Karlsruhe, U. Manchester, OWL-S (CMU, Stanford, UMD) 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 133 134 SOA and Semantic Web Processes End 134