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

Slides:



Advertisements
Similar presentations
1 University of Namur, Belgium PReCISE Research Center Using context to improve data semantic mediation in web services composition Michaël Mrissa (spokesman)
Advertisements

Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Architecture Representation
Dynamic and Agile SOA using SAWSDL Karthik Gomadam 1 Karthik Gomadam 1, Kunal Verma 2 and Amit P. Sheth 1Amit P. Sheth 1 1 Services Research Lab, kno.e.sis.
Lecture # 2 : Process Models
Semantic Web Services Peter Bartalos. 2 Dr. Jorge Cardoso and Dr. Amit Sheth
Knowledge Enabled Information and Services Science Semantics in Services Dr. Amit P. Sheth, Lexis-Nexis Eminent Scholar, kno.e.sis center, Wright State.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate.
Web Ontology Language for Service (OWL-S). Introduction OWL-S –OWL-based Web service ontology –a core set of markup language constructs for describing.
The WSMO / L / X Approach Michael Stollberg DERI – Digital Enterprise Research Institute Alternative Frameworks for Semantics in Web Services: Possibilities.
Kmi.open.ac.uk Semantic Execution Environments Service Engineering and Execution Barry Norton and Mick Kerrigan.
Course Instructor: Aisha Azeem
Processing of structured documents Spring 2003, Part 6 Helena Ahonen-Myka.
Introduction to UDDI From: OASIS, Introduction to UDDI: Important Features and Functional Concepts.
Špindlerův Mlýn, Czech Republic, SOFSEM Semantically-aided Data-aware Service Workflow Composition Ondrej Habala, Marek Paralič,
SOA, BPM, BPEL, jBPM.
Chapter 10 Architectural Design
Ontology-derived Activity Components for Composing Travel Web Services Matthias Flügge Diana Tourtchaninova
Scientific Workflows Scientific workflows describe structured activities arising in scientific problem-solving. Conducting experiments involve complex.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Knowledge Enabled Information and Services Science THE 4 X 4 SEMANTIC MODEL Amit Sheth* Kno.e.sis center, Wright State University, Dayton, OH * with Karthik.
Rohit Aggarwal, Kunal Verma, John Miller, Willie Milnor Large Scale Distributed Information Systems (LSDIS) Lab University of Georgia, Athens Presented.
An Introduction to Software Architecture
The Semantic Web Service Shuying Wang Outline Semantic Web vision Core technologies XML, RDF, Ontology, Agent… Web services DAML-S.
Filtering & Selecting Semantic Web Services with Interactive Composition Techniques By Evren Sirin, Bijan Parsia, and James Hendler Presenting By : Mirza.
Agent Model for Interaction with Semantic Web Services Ivo Mihailovic.
Architecting Web Services Unit – II – PART - III.
Preferences in semantics-based Web Services Interactions Justus Obwoge
Designing Semantic Web Process: The WSDL-S Approach Presented by Ke Li LSDIS Lab, University of Georgia (Under the Direction of John A. Miller)
Semantic Web Fred: Project Objectives & SWF Framework Michael Stollberg Reinhold Herzog Peter Zugmann - 07 April
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Enhancing Web Service Descriptions using WSDL-S Presented by Preeda Rajasekaran LSDIS Lab, University of Georgia (Under the Direction of John A. Miller)
10/18/20151 Business Process Management and Semantic Technologies B. Ramamurthy.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Using WSMX to Bind Requester & Provider at Runtime when Executing Semantic Web Services Matthew Moran, Michal Zaremba, Adrian Mocan, Christoph Bussler.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Dimitrios Skoutas Alkis Simitsis
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
©Ferenc Vajda 1 Semantic Grid Ferenc Vajda Computer and Automation Research Institute Hungarian Academy of Sciences.
Knowledge Enabled Information and Services Science SAWSDL: Tools and Applications Amit P. Sheth Kno.e.sis Center Wright State University, Dayton, OH Knoesis.wright.edu.
Semantic Web & Semantic Web Processes (continued, Part IV) A course at Universidade da Madeira, Funchal, Portugal June 16-18, 2005 Dr. Amit P. ShethAmit.
Introduction to Semantic Web Service Architecture ► The vision of the Semantic Web ► Ontologies as the basic building block ► Semantic Web Service Architecture.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
16/11/ Semantic Web Services Language Requirements Presenter: Emilia Cimpian
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
WSDL – Web Service Definition Language  WSDL is used to describe, locate and define Web services.  A web service is described by: message format simple.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Web Service Semantics - WSDL-S Meenakshi Nagarajan for the WSDL-SWSDL-S team R. Akkiraju *, J. Farrell *, J.Miller, M. Nagarajan, M. Schmidt *, A. Sheth,
Semantic Interoperability of Web Services – Challenges and Experiences Meenakshi Nagarajan, Kunal Verma, Amit P. Sheth, John Miller, Jon Lathem
SE 548 Process Modelling WEB SERVICE ORCHESTRATION AND COMPOSITION ÖZLEM BİLGİÇ.
A Semi-Automated Digital Preservation System based on Semantic Web Services Jane Hunter Sharmin Choudhury DSTC PTY LTD, Brisbane, Australia Slides by Ananta.
Sabri Kızanlık Ural Emekçi
Object-Oriented Analysis and Design
Unified Modeling Language
Web Service Modeling Ontology (WSMO)
Web Ontology Language for Service (OWL-S)
Business Process Modelling & Semantic Web Services
Wsdl.
Service-centric Software Engineering
An Introduction to Software Architecture
Semantic Markup for Semantic Web Tools:
Business Process Management and Semantic Technologies
Presentation transcript:

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

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

WSDL-S <definitions name = "BatterySupplier" targetNamespace = " xmlns = " xmlns:tns = " xmlns:rosetta = " " xmlns:mep= 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

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

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

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

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

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,

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

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

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.

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)

………… <xs:element name= "processPurchaseOrderResponse" type="xs:string wssem:modelReference="POOntology#OrderConfirmation"/> <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

WSDL-S Annotator – snap shot modelReference

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”

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

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

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

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

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

WSDL-S in perspective

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

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

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

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

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

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=" xmlns:ProPreO=" > <schema targetNamespace="urn:ngp" xmlns=" …… Excerpt: Bio-informatics Web service WSDL

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

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

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

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

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

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

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”

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

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

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

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

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

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

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

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 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 SO 2 SO Match Function SO ST f(ST, SO 1 )f(ST, SO 2 )f(ST, SO 3 ) ST Web Process

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)

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

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

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

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

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} New 100 %

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} New 100 %

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} New 4/6=0,67=> 67%

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} New 4/9*4/7=0.504 => 50%

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

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

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

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

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

Graph Reduction Technique QoS Computation Reduction of a Sequential System QoS

Graph Reduction Technique Reduction of a Parallel System QoS Computation QoS

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

Sample Abstract BPEL Process <process name="orderProcess" targetNamespace=" xmlns=" xmlns:tns=" DEFINITIONS Unknown partners FLOW

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.

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

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)

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)

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

Ongoing Projects OWL-S: –Set of ontologies to describe functionalties of web services OWL-S Matchmaker: 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: –Semi-automatic process for the dynamic composition of web services Web Services: ibm.com/developerworks/webservices/ 106.ibm.com/developerworks/webservices/ –WSDL, UDDI, SOAP –Business Process with BPEL4WS

Ongoing Projects SWSI –SWSA Semantic Web Services Architecture –SWSL Semantic Web Services Language WonderWeb: –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.

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

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

METEOR-S Architecture Front-End Back-End

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

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

Semantic Web Service Designer(contd.)

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

Annotated Java Source Code - Semantic Concept

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

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

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

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

Discovery Engine <namespace rosetta=“ <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

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

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:

Semantic Web Processes Questions?

References Resources: resource.htmhttp://lsdis.cs.uga.edu/lib/presentations/SWSP-tutorial- resource.htm [Kreger] 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] More at: Extensive related work at: IBM, Karlsruhe, U. Manchester, OWL-S (CMU, Stanford, UMD)

References – Partial List [WSMO] [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

SOA and Semantic Web Processes End