7" /> Function from Rosetta Net Ontology Data from Rosetta Net Ontology"> 7" /> Function from Rosetta Net Ontology Data from Rosetta Net Ontology">

Presentation is loading. Please wait.

Presentation is loading. Please wait.

Semantic Web Process Lifecycle: Annotation, Discovery, Publication, and Composition Amit Sheth Professor, University of Georgia Director, LSDIS Lab CTO/co-founder,

Similar presentations


Presentation on theme: "Semantic Web Process Lifecycle: Annotation, Discovery, Publication, and Composition Amit Sheth Professor, University of Georgia Director, LSDIS Lab CTO/co-founder,"— Presentation transcript:

1 Semantic Web Process Lifecycle: Annotation, Discovery, Publication, and Composition Amit Sheth Professor, University of Georgia Director, LSDIS Lab CTO/co-founder, SemagixLSDIS Lab

2 Semantics at Different Layers Publication Discovery 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 many 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

3 WSDL-S <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" > 7" /> Function from Rosetta Net Ontology Data from Rosetta Net Ontology

4 Semantics at Different Layers (contd..) Publication Discovery 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

5 MWSDI subDomainOf supports belongsTo consistsOf belongsTo Federation Ontology Registry Domain Registry Federation

6 Semantics at Different Layers (contd..) Publication Discovery 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

7 Using Colored Petri nets

8 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

9 Semantics in METEOR-S and WS stack Publication Discovery 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.orghttp://swp.semanticweb.org, http://lsdis.cs.uga.edu/proj/meteor/swp.htmhttp://lsdis.cs.uga.edu/proj/meteor/swp.htm

10 WSDL-S Based on Joint Technical Note with IBM R. Akkiraju, J. Farrell, J.Miller, M. Nagarajan, M. Schmidt, A. Sheth, K. Verma, "Web Service Semantics -- WSDL-S," A joint UGA-IBM Technical Note, version 1.0, April 18, 2005. http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/

11 Adding semantics to WSDL – guiding principles Build on existing Web Services standards Mechanism independent of the semantic representation language Mechanism should allow the association of multiple annotations written in different semantic representation languages

12 Guiding principles... Support semantic annotation of Web Services whose data types are described in XML schema Provide support for rich mapping mechanisms between Web Service schema types and ontologies

13 WSDL-S approach evolutionary and compatible upgrade of existing Web services standards describe semantics and operation level details in WSDL - upward compatibility. externalize the semantic domain models - agnostic to ontology representation languages.

14 WSDL-S Extension attributes and elements Annotating message types (XSD complex types and elements) –extension attribute : modelReference (semantic association) –extension attribute : schemaMapping (schema/data mapping) Annotating operations –extension elements : precondition and effect (child elements of the operation construct) –extension attribute : category (on the interface construct) –extension element : action (under consideration) (on operation construct)

15 ………… <xs:element name= "processPurchaseOrderResponse" type="xs:string wssem:modelReference="POOntology#OrderConfirmation"/> http://www.naics.com/ <input messageLabel = ”processPurchaseOrderRequest" element="tns:processPurchaseOrderRequest"/> <output messageLabel ="processPurchaseOrderResponse" element="processPurchaseOrderResponse"/> <wssem:precondition name="ExistingAcctPrecond" wssem:modelReference="POOntology#AccountExists"> <wssem:effect name="ItemReservedEffect" wssem:modelReference="POOntology#ItemReserved"/> PurchaseOrder.wsdl

16 WSDL-S Annotator – snap shot modelReference

17 Annotating operations extension element : Precondition –A set of assertions that must be satisfied before a Web service operation can be invoked “must have an existing account with this company” “only US customers can be served” extension element : Effect –Defines the state of the world/information model after invoking an operation. “item shipped to mailing address” “the credit card account will be debited” extension attribute : Category –Models a service category on a WSDL interface element. category = “Electronics” Code = “naics:443112” extension element : Action –Annotated with a functional ontology concept. action = “Rosetta:purchaseOrder”

18 Annotating message types – 1:1 correspondences (...) <xs:element name= "processPurchaseOrderResponse" type="xs:string (...) Billing Account OrderConfirmation xsd:string OWL ontology has_account has_accountID WSDL message element 1:1 Correspondences results_in semantic match

19 Annotating input/output elements – complex correspondences (...)........... (...) Address StreetAddress xsd:string OWL ontology hasCity hasStreetAddress hasZip WSDL complex type element 1.modelReference to establish a semantic association 2.schemaMapping to resolve structural heterogeneities beyond a semantic match semantic match

20 Using modelReference and schemaMapping Address xsd:string OWL ontology has_City has_StreetAddress has_Zip WSDL complex type element modelReference at the complex type level –Typically used when specifying complex associations at leaf level is not possible –Allows for specification of a mapping function semantic match

21 Alternative annotation modelReference at the leaf levels –assumes a 1:1 correspondence between leaf elements and domain model concepts Item dueDate ItemDesc Quantity OWL ontology hasIemDesc hasDueDate hasQuantity WSDL complex type element

22 Representing mappings Address xsd:string OWL ontology has_City has_StreetAddress has_Zip WSDL complex type element........ Mapping using XSLT

23 WSDL-S in perspective

24 WSDL-S Meta model (to revise diagram) Action Attribute for Functional Annotation Pre and Post Conditions Can use XML, OWL or UML types Extension Adaptation schemaMapping

25 WSDL-S in the life cycle of a Web service : addressing key challenges Web Service Annotation Web Service Discovery Web Process Composition Service Invocation / Process Execution Externalized representation and association of semantics to WSDL elements

26 Semantic Publishing and Template Based Discovery WSDL-S Service Template Operation: buyTicket Input1: TravelDetails Output1: Confirmation Annotations Publish Search UDDI Operation: cancelTicket Input1: TravelDetails Output1: Confirmation

27 ... <input messageLabel = ”processPurchaseOrderRequest" element="tns:processPurchaseOrderRequest"/> <output messageLabel ="processPurchaseOrderResponse" element="processPurchaseOrderResponse"/>... WSDL... <xs:complexType name="processPurchaseOrderRequest“ wssem:modelReference="POOntology#OrderDetails” > <input messageLabel = ”processPurchaseOrderRequest" element="tns:processPurchaseOrderRequest"/> <output messageLabel ="processPurchaseOrderResponse" element="processPurchaseOrderResponse"/>... WSDL - S Annotating a service... <xs:complexType name="processPurchaseOrderRequest“ wssem:modelReference="POOntology#OrderDetails” > <input messageLabel = ”processPurchaseOrderRequest" element="tns:processPurchaseOrderRequest"/> <output messageLabel ="processPurchaseOrderResponse" element="processPurchaseOrderResponse"/>... WSDL - S UDDI Semantic Layer Publishing a service WSDL-S in the life cycle of a Web services

28 WSDL-S in the life cycle of a Web process Web Service Discovery Service 2 Template An abstract Web process WSDL-S Service 1 Template Web service 1 Web service 2 WSDL-S modelReference schemaMapping Transformation WSDL-S modelReference schemaMapping Process execution

29 WSDL-S in action ProPreO - Experimental Proteomics Process Ontology (CCRC / LSDIS) data sequence peptide_sequence Excerpt: ProPreO – process ontology <wsdl:definitions targetNamespace="urn:ngp" …… xmlns:wssem="http://www.ibm.com/xmlns/WebServices/WSSemantics" xmlns:ProPreO="http://lsdis.cs.uga.edu/ontologies/ProPreO.owl" > <schema targetNamespace="urn:ngp" xmlns="http://www.w3.org/2001/XMLSchema"> ……...... Excerpt: Bio-informatics Web service WSDL

30 WSDL-S collaborations Collaboration with WSMO –Using WSDL-S for grounding Web services annotated with WSML ontologies

31 WSDL-S Tools WSDL-S annotator demo Discovery and Composition using WSDL-S

32 WSDL-S summary WSDL-S : A mechanism to associate semantic annotations with Web services that are described using WSDL –Upward compatible, incremental approach –WS community’s familiarity with WSDL External semantic models referenced via extensibility elements –agnostic to ontology representation languages –Enables reuse of existing domain models

33 Semi-automatic Annotation (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 heuristics to create normalized representation We call it SchemaGraph

34 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

35 MWSAF – XML Schema to SchemaGraph RuleXML Schema constructsSchemaGraph representation 1Element,Node 2simpleTypeNode 3Enumeration values defined for simpleType S Node with edge between simpleType S node and value node with name “hasValue” 4ComplexTypeNode 5Sub-elements of complexType C which have range as basic XML datatypes Node with edge between complexType C node and this node with name “hasElement” 6Sub-elements of complexType C which have range as complexTypes or simpleTypes or elements defined in same schema Edge between complexType C node and the range type node

36 MWSAF – XML Schema to SchemaGraph - - - - WeatherReport Wind Phenomenon Directiongust_speed PhenomenonType PhenomenonIntensity MISTFOGSNOWDUST phenomena wind prevailing_direction hasElement intensity type oneOf Rule 3 Rule 1 simpletype => Node Rule 1 complextype => Node Rule 6 Rule 5 Rule 1 Element => Node

37 MWSAF - Ontology to SchemaGraph RuleOntology representationSchemaGraph representation 1ClassNode 2Property of class D with basic datatype as range (Attribute) Node with edge joining it to class D node with name “hasProperty” 3Property of class D with other class R as range (Relation) Edge between class D node and range class R node 4Instance of class CNode with edge joining class C node to instance node with name “hasInstance” 5Class(X)-subclass(Y) relationshipEdge between class X node and class Y node with name “hasSubclass”

38 MWSAF - Ontology to SchemaGraph - Superclass for all weather events Weather event - - - - - - - - - - - - WeatherPhenomenon CurrentWeatherPhenomenon WindEvent GustingWindEvent windDirection ObsucurationEvent PrecipitationEvent OtherWeatherPhenomenon Duststorm SnowMistFog SolidPrecipitationEvent Rule 1 Rule 2 Rule 5

39 Semantic Web Service Discovery in METEOR-S METEOR-S Web Service Discovery Infrastructure

40 Discovery n ew Requirements A CD N1N2F E B8 A1 A4 A1 A2 A4 B3 A1 A4 A6 A2 A5 Before A CD N1N2 F E A4 A1 A4 A1 A4 A1 A2 A1 B3 A1 B3 A1 A2 A1 B3 A1 A4 A1 A2 A1 B3 A1 A4 A1 A2 A1 B3 A1 B3 A1 A4 A1 A2 A1 B3 A1 A4 A2 A1 B3 A1 A4 A1 A2 B3 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 A4 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 A1 A4 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 A4 A1 A2 A1 A4 A1 A2 A1 A4 A1 B3 A1 B3 A1 A4 A1 A2 A1 B3 A1 A4 A1 A2 A1 A2 A1 A4 A2 A4 A2 A1 B3 A1 A4 A1 A2 A1 Now QoS Tasks Workflow Web Services Web Process Web Service Discovery

41 State of the art in discovery Provides non-semantic search Keyword and attribute-based match Search retrieves lot of services (irrelevant results included) UDDI Business Registry Which service to select ? How to select? Search Results Selection

42 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

43 Use of ontologies enables shared understanding between the service provider and service requestor 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

44 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

45 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)

46 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

47 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.

48 The Match Function SO 2 SO 3 0.990.340.74 Match Function SO 1 0.14 0.98 0.68 0.43 0.31 0.76 ST f(ST, SO 1 )f(ST, SO 2 )f(ST, SO 3 ) ST Web Process

49 Discovery in SWS Functionality: What capabilities the distributor expects from the service (Functional semantics) Inputs: What the distributor can give to the to the Manufacturer’s service (Data semantics) Outputs: What the distributor 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)

50 Syntactic, QoS, and Semantic (Functional & Data) Similarity Name, Description, …. Name, Description, …. Name, Description, … Name, Description, … X Y A B C Web Service Similarity ? A2 A1 Calendar-Date … … Event … Similarity ? Web Service Functional & Data Similarity Functional & Data Similarity Syntactic Similarity Syntactic Similarity Purchase Buy X Y A B C QoS Web Service Similarity ? QoS Similarity QoS Similarity Web Service Discovery Area Coordinates Forrest {name} {x, y} Information Function Get Information Get Date

51 The Match Function Semantic Similarity When comparing concepts two main cases can occur:  The concepts are defined with the same Ontology ((O) = (I))  The concepts are defined in different Ontologies ((O)  (I))

52 The Match Function Semantic Similarity (  (O) =  (I)) When comparing concepts defined with the same ontology four distinct scenarios need to be considered: –a) the concepts are the same (O=I) –b) the concept I subsumes concept 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).

53 The Match Function Semantic Similarity (  (O) =  (I)) A2 A1 Calendar-Date … … Event … Similarity ? Web Service

54 The Match Function Semantic Similarity (  (O) =  (I)) A? A1 Date … … … Similarity ? Web Service Temporal-Entity Time-Point Date Time Domain Event Scientific-Event Calendar-Date {absolute_time} {hour, minute, second} {millisecond} {year, month, day} dayOftheWeek,monthOftheYear} Temporal-Entity Time-Point Date 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 %

55 The Match Function Semantic Similarity (  (O) =  (I)) A? A1 CalendarDate … … Date … Similarity ? Web Service Temporal-Entity Time-Point Date Time Domain Event Scientific-Event Calendar-Date {absolute_time} {hour, minute, second} {millisecond} {year, month, day} dayOftheWeek,monthOftheYear} Temporal-Entity Time-Point Date 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 %

56 The Match Function Semantic Similarity (  (O) =  (I)) A? A1 Date … … CalendarDate … Similarity ? Web Service Temporal-Entity Time-Point Date Time Domain Event Scientific-Event Calendar-Date {absolute_time} {hour, minute, second} {millisecond} {year, month, day} dayOftheWeek,monthOftheYear} Temporal-Entity Time-Point Date 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 4/6=0,67=> 67%

57 The Match Function Semantic Similarity (  (O) =  (I)) A? A1 Date … … Event … Similarity ? Web Service Temporal-Entity Time-Point Date Time Domain Event Scientific-Event Calendar-Date {absolute_time} {hour, minute, second} {millisecond} {year, month, day} dayOftheWeek,monthOftheYear} Temporal-Entity Time-Point Date 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 4/9*4/7=0.504 => 50%

58 Semantic Process Composition

59 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 SCETSCET, Semantic Web Process CompositionSemantic Web Process Composition

60 Composition of Web Processes Once the desired Web Services have been found (Discovery), mechanisms are needed to facilitate the resolution of structural and semantic differences (integration) Web Process Composition Web Process Composition Web Service DiscoveryWeb Service Integration This is because the heterogeneous Web services found in the first step need to interoperate with other components present in a process host

61 Integration New Requirements When Web services are put together –Their interfaces need to interoperate. –Structural and semantic heterogeneity need to be resolved*. Structural heterogeneity exists because Web services use different data structures and class hierarchies to define the parameters of their interfaces. Semantic heterogeneity considers the intended meaning of the terms employed in labeling interface parameters. The data that is interchanged among Web services has to be understood. * Kashyap and Sheth 1996Kashyap and Sheth 1996 Web Process Composition

62 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 CD X ZF Y b(O, I) X Z Y A B C M N T U R S P B CD F A

63 Integration New Requirements Web Service Employee Address Conference Client Local Receipt Itinerary Tourism Receipt Travel Info How to establish data connections between the different data structures and class hierarchies of the interface parameters? How to establish data connections between Web Services interfaces? How to understand the intended meaning of the terms used in labeling interface parameters? Web Process Composition

64 Graph Reduction Technique QoS Computation Reduction of a Sequential System QoS

65 Graph Reduction Technique Reduction of a Parallel System QoS Computation QoS

66 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

67 Sample Abstract BPEL Process <process name="orderProcess" targetNamespace="http://tempuri.org/" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:tns="http://tempuri.org/"> DEFINITIONS Unknown partners FLOW

68 Constraint Analyzer/Optimizer Constraints can be specified on each activity or on the process as a whole. An objective function can also be specified e.g. minimize cost and supply-time etc The Web service publishers provide constraints on the web services. The constraint optimizer makes sure that the discovered services satisfy the client constraints and then optimizes the service sets according to the objective function.

69 Constraint Representation – Domain Constraints FactOWL expression Supplier1 is an instance of network adaptor supplier Supplier1 supplies #Type1 Supplier1 is a preferred supplier. preferred Type1 is an instance of NetworkAdaptor Type1 works with Type1Battery

70 Constraint Representation – Process Constraints FeatureGoalValueUnitAggregation CostOptimizeDollars Σ (minimize total process cost) supplytimeSatisfy< 7Days MAX (Max. supply time below Value) partnerStatusOptimize MIN (Select best partner level; lower value for preferred partner)

71 Integer Linear Programming Numerical constraints are converted into linear equalities/linear inequalities over a set of discovered services. We have used LINDO API which helps in solving ILP problems. e.g. if three services match the service template with a constraint that cost<=500 and minimum A + B + C = 2 (choose 2 services) C A *A + C B *B + C C *C <= 500 (total cost constraint) And minimize (C A *A + C B *B + C C *C) as objective function (where A, B and C are binary)

72 Working of Constraint Analyzer Discovery Engine Optimizer (ILP) Service Template 1 Service Template 2 ST=2 C=100 ST=3 C=250 ST=3 C=200 ST=1 C=300 ST=4 C=200 ST=3 C=180 Ranked Set Objective Function and Process constraints Min (supply-time + cost) Supply-time <= 4 Cost <=200 Network Adaptor Supply-time <= 3 Cost <=300 Battery Process constraints Supply-time<=7 Cost<=400 Min (Cost, Supply-time) ST=2 C=100 ST=3 C=250 ST=4 C=200 ST=3 C=180 Abstract Process Specifications Domain Reasoner (DL) ST=2 C=100 ST=3 C=250 ST=4 C=200 ST=3 C=180 Ranked Set Service templates and service constraints Domain constraints in ontologies Most optimal set cannot be chosen because of inter service dependencies Network Adator from supplier 1 does not work battery from supplier 2

73 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/http://www- 106.ibm.com/developerworks/webservices/ –WSDL, UDDI, SOAP –Business Process with BPEL4WS

74 Ongoing Projects SWSI –SWSA Semantic Web Services Architecture –SWSL Semantic Web Services Language WonderWeb: http://wonderweb.man.ac.uk/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.

75 OWL-S 1.1 Represents Semantic Web Services via 4 files Each service is created as an instance of service ontology Language: OWL + SWRL

76 WSMO –Web Service Modeling Ontology Represents Semantic Web Services by F-logic F-logic is used to –Describe ontologies –Describe rules and goals –Uses Mediators to bring about inter-operability

77 METEOR-S Architecture Front-End Back-End

78 METEOR-S Front-End Semantic Web Service Designer –Developing Semantic Web Services Semantic Description Generator –Various types of semantic definitions for a service Publishing Interface –Making them available through UDDI registries (Enhanced UDDI) Enhanced UDDI –Reorganized UDDI to discover relevant service based on semantics Discovery Engine –To discover the relevant services according to requestor requirements

79 Semantic Web Service Designer Eclipse plug-in to design Semantic Web Services User Interface for developing semantic web services Facilitates annotation of source code with semantic information

80 Semantic Web Service Designer(contd.)

81 Source Code Annotation Easy to incorporate appropriate semantic descriptions while developing code Similar to java documentation Used to generate semantically enhanced annotated WSDL or WSDL-S Annotations Service Interfaces Uses jdk1.5 Metadata feature (JSR 175 & JSR 181) Generates

82 Annotated Java Source Code - Semantic Concept

83 Semantic Description Generator Input –Annotated Source Code - semantically rich to enable semantic web service Output –WSDL 1.1 annotated with semantic information via extensible tags –WSDL-S –WSDL 2.0 with semantic annotation –OWL-S files – Profile, Grounding, Process (basic) and associated WSDL

84 WSDL-S WSDL-S (WSDL with Semantic Annotation) Mapping Input and Output Message Parts to Ontology –XML Schema elements used in Input/Output messages do not reflect the semantics of the data involved in Web Service operation –Use of ontologies or standard vocabulary* provides well defined semantics for operational data Mapping Operations to Ontology –Service selection involves discovering appropriate WSDL description and locating an operation to invoke –Operations with same signature could have different functionalities –Ontology or vocabulary* depicting functionality is used for annotation Additional tags to represent pre-conditions and effects/post-conditions of each operation –Pre-conditions and Post-Conditions are added for each operation –Can be optionally used for service discovery and selection * RosettaNet Business/Technical dictionary or ebXML Core Component catalog/dictionary * Current implementation uses vocabularies The focus of our work is not in developing ontologies for representing functionality/preconditions/effects but to use such ontologies for semantic annotation

85 Enhanced UDDI @interface ( domain = "naics:Computer and Electronic Product Manufacturing", description = "Computer PowerSupply Battery Buy Quote Order Status ", businessService = "Battery Outlet") public interface BatterySupplier { @operation (name = "placeOrder", action = "rosetta: #RequestPurchaseOrder " ) @parameters ({ @inParam ( name = "order", element = "rosetta: #PurchaseOrderRequest @outParam( name="orderConfirmation", element="rosetta: #PurchaseOrderConfirmation" ) }) QuoteConfirmation getQuote (QuoteRequest qRequest );. Annotated Java Source Code Enhanced UDDI - Publishing Interface

86 Discovery Engine Input –Semantic service template built by user /execution engine Output –List of services ranked by relevance to query Ranking algorithm employed -Matches operation/input/output semantic concepts of Published Services Vs. service template. -Employs heuristic based subsumption relations of ontological concepts

87 Discovery Engine <namespace rosetta=“http://lsdis.cs.uga.edu\METEOR-S\Rosetta.owl/> <namespace …. <domain name=Computer and Electronic Product Manufacturing <operation name=“placeOrder “ concept= "rosetta: #RequestPurchaseOrder" > <input name=“order” concept="rosetta: #PurchaseOrderRequest" /> <output name=“orderConfirmation” concept="rosetta: #PurchaseOrderConfirmation" /> <operation…... Service Template Execution Engine uses Ranked Response user Discovery Engine

88 uses Abstract Process Enhanced UDDI Ranked Response Discovery Engine Service Template(s) ( PUBLISH ) METEOR-S Back-End Abstract Process Designer query Constraint Analyzer Optimized Service Set Process Repository Process Annotation Tool Executable Process Binder BPWS4J Execution Engine DesignTime Process Instance Initiation Time

89 Conclusions

90 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

91 Semantic Web Processes Questions?

92 References Resources: http://lsdis.cs.uga.edu/lib/presentations/SWSP-tutorial- resource.htmhttp://lsdis.cs.uga.edu/lib/presentations/SWSP-tutorial- resource.htm [Kreger] http://www- 3.ibm.com/software/solutions/webservices/pdf/WSCA.pdfhttp://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.htmhttp://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)

93 References – Partial List [WSMO] www.wsmo.orgwww.wsmo.org [OWL-S] www.daml.org/services/owl-s/www.daml.org/services/owl-s/ [METEOR-S] lsdis.cs.uga.edu/Projects/METEOR-Slsdis.cs.uga.edu/Projects/METEOR-S [Aggarwal et al., 2004] Constraint Based Web Service CompositionConstraint Based Web Service Composition [Cardoso et al., 2004] Semantic e-Service CompositionSemantic e-Service Composition [Sivashanmugam et al., 2003] Adding Semantics to Web Services StandardsAdding Semantics to Web Services Standards [Sivashanmugam et al., 2004] Framework for Semantic Web Process CompositionFramework for Semantic Web Process Composition Sivashanmugam et al., 2004] Discovery of Web Services in a Federated Registries EnvironmentDiscovery 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 ServicesA Scalable Infrastructure of Registries for Semantic Publication and Discovery of Web Services [Verma et al. 2004] Accommodating Inter-Service Dependencies in Web Process Flow CompositionAccommodating Inter-Service Dependencies in Web Process Flow Composition

94 SOA and Semantic Web Processes End


Download ppt "Semantic Web Process Lifecycle: Annotation, Discovery, Publication, and Composition Amit Sheth Professor, University of Georgia Director, LSDIS Lab CTO/co-founder,"

Similar presentations


Ads by Google