Presentation is loading. Please wait.

Presentation is loading. Please wait.

Adding Semantics to Web Services Standards Kaarthik Sivashanmugam, Kunal Verma, Amit ShethAmit Sheth and John Miller LSDIS LabLSDIS Lab, Department of.

Similar presentations


Presentation on theme: "Adding Semantics to Web Services Standards Kaarthik Sivashanmugam, Kunal Verma, Amit ShethAmit Sheth and John Miller LSDIS LabLSDIS Lab, Department of."— Presentation transcript:

1 Adding Semantics to Web Services Standards Kaarthik Sivashanmugam, Kunal Verma, Amit ShethAmit Sheth and John Miller LSDIS LabLSDIS Lab, Department of Computer Science The University of Georgia

2 Outline Challenges in web services adoption Web services conceptual stack and semantics at different layers Semantics for web service usage lifecycle METEOR-S project at LSDIS lab Semantic publication and discovery of web services Conclusion, References and Q&A

3 Web Service Conceptual Stack 1 Description Messaging Network Description:Web Service Description Language (WSDL) –To describe Web Service interfaces and implementations –Details in WSDL files (data types, operations, binding details, access location) are used for service invocation Messaging:(SOAP) –XML based messaging protocol Network:(HTTP) –Network protocol 1 [Kreger]

4 Web Service Conceptual Stack 1 Publication:(UDDI) –To make service descriptions available for search Discovery:(UDDI) –To locate service descriptions Publication Discovery Description Messaging Network Flow Flow:(BPEL4WS, WSCI etc.) –To compose web services to form a composite web service / process 1 [Kreger]

5 BIG Challenges Machine understandable descriptions Dynamic discovery and service selection Scalability in discovery mechanisms Hypothesis: Semantics is the most important enabler

6 METEOR-SMETEOR-S at LSDIS lab Adding semantics to different layers of Web services conceptual stack Applying* semantic Web techniques to industry accepted Web services standards for better Web service description –to solve the problems of scalability and heterogeneity in Web service discovery, selection and composition * Use of ontologies to provide underpinning for information sharing and semantic interoperability

7 Semantics at Different Layers Publication Discovery Description Messaging Network Flow Description Layer: Why: Reason about the functionality of the services and the semantics of the operational data How: Using Ontologies to semantically annotate WSDL constructs (conforming to extensibility allowed in WSDL specification version 1.2) to sufficiently explicate the semantics of the –data types used in the service description and –functionality of the service Present scenario: WSDL descriptions are mainly syntactic (provides operational information and not functional information) Semantic matchmaking is not possible

8 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 processability / automation) How: Use of ontology to categorize registries based on domains and characterize them by maintaining the 1. properties of each registry 2. relationships between the registries Capturing the WSDL 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

9 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 automated composition, control flow and data flow based on requirements How: Using –Functionality/preconditions/effects of the participating services –Knowledge of conversation patterns supported by the service –Formal mathematical models like process algebra –Simulation techniques Present Scenario: Composition of Web services is static. Dynamic service discovery, run-time binding, analysis and simulation are not supported directly

10 Semantics in METEOR-S Publication Discovery Description Messaging Network Flow MWSDI: Scalable Infrastructure of Registries for Semantic publication and discovery of Web Services MWSDI: Semantic Annotation of WSDL (WSDL-S) MWSCF: Semantic Web Process Composition Framework

11 Scope of Semantic Web with respect to Web Services Gen. Purpose, Broad Based Scope of Agreement Task/ App Domain Industry Common Sense Degree of Agreement Informal Semi-Formal Formal Agreement About Data/ Info. Function Execution Qos Other dimensions: how agreements are reached, … Current Semantic Web Focus Semantic Web Processes Lots of Useful Semantic Technology (interoperability, Integration)

12 Semantics for Web Services Data/Information Semantics –Formal definition of data in input and output messages of a web service –for discovery and interoperability –by annotating input/output data of web services using ontologies Functional/Operational Semantics –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; Annotating TPA/SLA Execution Semantics –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 –Formally describing operational metrics of a web service/process –To select the most suitable service to carry out an activity in a process –using QoS model [Cardoso and Sheth, 2002] for web services

13 Data / Information Semantics Development / Description / Annotation WSDL, WSEL DAML-S Meteor-S (WSDL Annotation) Publication / Discovery UDDI WSIL, DAML-S METEOR-S (P2P model of registries) Composition BPEL, BPML, WSCI, WSCL, DAML-S, METEOR-S (SCET,SPTB) Execution BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow Semantics for Web Service usage life cycle

14 Data / Information Semantics Publication / Discovery WSDL, WSEL DAML-S Meteor-S (WSDL Annotation) UDDI WSIL, DAML-S METEOR-S (P2P model of registries) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow Development / Description / Annotation Composition Execution BPEL, BPML, WSCI, WSCL, DAML-S, METEOR-S (SCET,SPTB) Semantics for Web Service usage life cycle

15 Functional / Operational Semantics Publication / Discovery WSDL, WSEL DAML-S Meteor-S (WSDL Annotation) UDDI WSIL, DAML-S METEOR-S (P2P model of registries) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow Development / Description / Annotation Composition Execution BPEL, BPML, WSCI, WSCL, DAML-S, METEOR-S (SCET,SPTB) Semantics for Web Service usage life cycle

16 QoS Semantics Publication / Discovery WSDL, WSEL DAML-S Meteor-S (WSDL Annotation) UDDI WSIL, DAML-S METEOR-S (P2P model of registries) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow Development / Description / Annotation Composition Execution BPEL, BPML, WSCI, WSCL, DAML-S, METEOR-S (SCET,SPTB) Semantics for Web Service usage life cycle

17 Execution Semantics Publication / Discovery WSDL, WSEL DAML-S Meteor-S (WSDL Annotation) UDDI WSIL, DAML-S METEOR-S (P2P model of registries) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow Development / Description / Annotation Composition Execution BPEL, BPML, WSCI, WSCL, DAML-S, METEOR-S (SCET,SPTB) Semantics for Web Service usage life cycle

18 Publication / Discovery WSDL, WSEL DAML-S Meteor-S (WSDL Annotation) UDDI WSIL, DAML-S METEOR-S (P2P model of registries) BPWS4J, Commercial BPEL Execution Engines, Intalio n3, HP eFlow Semantics Required for Web Processes Execution Semantics QoS Semantics Functional / Operational Semantics Data / Information Semantics Development / Description / Annotation Composition Execution BPEL, BPML, WSCI, WSCL, DAML-S, METEOR-S (SCET, SPTB) Semantics for Web Service usage life cycle

19 METEOR-S components for Semantic Web Services Discovery Infrastructure (MWSDI) –Semantic Annotation of Web Services 1 –Semantic Peer-to-Peer network of Web Services Registries 2 Composer –SCET: Service Composition and Execution Tool 3 –Semantics process template builder and Process generator 4 –QoS Management Specify, compute, monitor and control QoS (SWR algorithm) 5 Orchestrator (Under development) –Analysis and Simulation 6 –Execution –Monitoring 6 1 [Sivashanmugam et al.-1], 2 [Verma et al.], 3 [Chandrasekaran et al.], 4 [Sivashanmugam et al.-2], 5 [Cardoso et al.], 6 [Silver et al.]

20 Search for services to book air ticket (using categories)* unspsc-org: unspsc:3-1 –Travel, Food, Lodging and Entertainment Services Travel facilitation –Travel agents »Travel agencies Services: 3 records found. –AirFares Returns air fares from netviagens.com travel agent –Hotel reservations Reservations for hotels in Asia, Australia and New Zealand –Your Vacation Specialists Web enabled vacation information Providers: 2 records found. * Search carried out in one of the Universal Business Registries

21 Search for services to book air ticket (using keywords)* air ticket –1 record with name air tickets booking airticket, ticketbooking, airtravel, air travel, travel agent, airticketbooking, air ticket booking, travel agency, travelagency –0 records were returned travelagent –1 record with name travelagent test 4 services: BookFlight, cancelFlightBooking etc. Descriptions say that both these services are XML based Web services No URL for WSDL Travel –15 records. Purpose/functionality understood from descriptions 2 services : TravelBooks 4 services : TravelInformation 2 services : Reservation and cancallation of travel tickets 1 service : Emergency Services for travellers 1 service : Travel documentation and itinerary 5 services : Description is ambiguous/not present * Search carried out in one of the Universal Business Registries

22 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

23 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

24 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* brings service provider and requestor to common conceptual space providing 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 of each operation –Preconditions and effects are added for each operation –Can be optionally used for service discovery and selection * RosettaNet Business/Technical dictionary or ebXML Core Component catalog/dictionary The focus of our work is not in developing ontologies for representing functionality/preconditions/effects but to use such ontologies for semantic annotation

25 Annotation Syntax* Each Operation in WSDL is annotated using an fully qualified attribute name-value pair in the operation element under portType element. The attribute name is operation-concept Each Message part is annotated using a fully qualified attribute name-value pair in the part element under message element. The attribute name is onto-concept Preconditions and effects are respectively represented using fully qualified additional tags with the names precondition and effect. These elements have two attributes name (optional) and precondition-concept (or effect- concept). Each operation can have multiple precondition and effect elements. * conforms to extensibility support in WSDL version 1.2

26 WSDL Annotation Example <wsdl:definitions xmlns:LSDISOnt=lsdis.cs.uga.edu//METEORS/TravelServiceOntology.daml ….. >lsdis.cs.uga.edu//METEORS/TravelServiceOntology.daml

27 Semantics in UDDI tModels are used to categorize and characterize service entries in UDDI (limited form of semantics) Our approach uses categorizes* (using metadata constructs tModels and CategoryBags) the services in UDDI based on the semantic annotations * similar to [Paolucci et al.]

28 Semantic Categorization of Services in UDDI* Service KeyedReferenceGroup (SemanticGroupTModelKey) KeyedReferenceGroup (SemanticGroupTModelKey) CategoryBag TmodelKey:OperationalTModelKey, Value:TicketBooking, Name:buyTicket TmodelKey:InputTModelKey, Value:TicketInformation TmodelKey:OutputTModel, Value:ConfirmationMessage * conforming to UDDI Version 3 spec [UDDI-v3] TmodelKey:OperationalTModelKey, Value:TicketCancellation, Name:cancelTicket TmodelKey:InputTModelKey, Value:TicketInformation TmodelKey:OutputTModel, Value:ConfirmationMessage For the example discussed earlier: Travel Arrangement Service with two operations buyTicket and cancelTicket

29 Semantic Categorization of Services in UDDI* Service KeyedReferenceGroup (SemanticGroupTModelKey) KeyedReferenceGroup (SemanticGroupTModelKey) CategoryBag TmodelKey:OperationalTModelKey, Value:TravelOnto:TicketBooking, Name:buyTicket TmodelKey:InputTModelKey, Value:TravelOnto:TicketInformation TmodelKey:OutputTModelKey, Value:GeneralTradeOnto:ConfirmationMessage TmodelKey:OperationalTModelKey, Value: TravelOnto:TicketCancellation, Name:cancelTicket TmodelKey:InputTModelKey, Value: TravelOnto:TicketInformation TmodelKey:OutputTModelKey, Value: GeneralTradeOnto: ConfirmationMessage Operation-ontology mapping in WSDL for buyTicket operation * conforming to UDDI Version 3 spec [UDDI-v3]

30 Semantic Categorization of Services in UDDI* Service KeyedReferenceGroup (SemanticGroupTModelKey) KeyedReferenceGroup (SemanticGroupTModelKey) CategoryBag TmodelKey:OperationalTModelKey, Value:TicketBooking, Name:buyTicket TmodelKey:InputTModelKey, Value:TravelOnto:TicketInformation TmodelKey:OutputTModelKey, Value: GeneralTradeOnto:ConfirmationMessage TmodelKey:OperationalTModelKey, Value:TravelOnto:TicketCancellation, Name:cancelTicket TmodelKey:InputTModelKey, Value: GeneralTradeOnto:TicketInformation TmodelKey:OutputTModel, Value: GeneralTradeOnto:ConfirmationMessage Input Message part-ontology mapping in WSDL for buyTicket operation * conforming to UDDI Version 3 spec [UDDI-v3]

31 Semantic Categorization of Services in UDDI* Service KeyedReferenceGroup (SemanticGroupTModelKey) KeyedReferenceGroup (SemanticGroupTModelKey) CategoryBag TmodelKey:OperationalTModelKey, Value:TicketBooking, Name:buyTicket TmodelKey:InputTModelKey, Value:TravelOnto:TicketInformation TmodelKey:OutputTModelKey, Value: GeneralTradeOnto:ConfirmationMessage TmodelKey:OperationalTModelKey, Value:TravelOnto:TicketCancellation, Name:cancelTicket TmodelKey:InputTModelKey, Value: GeneralTradeOnto:TicketInformation TmodelKey:OutputTModel, Value: GeneralTradeOnto:ConfirmationMessage Output Message part-ontology mapping in WSDL for buyTicket operation * conforming to UDDI Version 3 spec [UDDI-v3]

32 Service KeyedReferenceGroup (SemanticGroupTModel) KeyedReferenceGroup (SemanticGroupTModel) KeyedReferenceGroup (SemanticGroupTModel) CategoryBag TmodelKey:OperationalTModel, Value:OperationConcept, Name:OperationName TmodelKey:InputTModel, Value:Input_Concept_W TmodelKey:InputTModel, Value:Input_Concept1_Y ……. TmodelKey:OutputTModel, Value:Output_Concept_X TmodelKey:OutputTModel, Value:Output_Concept1_Z ……. Same for all UDDI entries OperationalTModel InputTModel OutputTModel SemanticGroupTModel * conforming to UDDI Version 3 spec Semantic Categorization of Services in UDDI*

33 Discovery using UDDI API Services are matched if their CategoryBags are a subset of the CategoryBag used in search (find_service) According to UDDI version 3 specification CategoryBags can be constructed using KeyedReferenceGroups. So groups can be constructed using the semantics of operation, inputs, outputs, preconditions and effects and search can be carried out.

34 Discovery using UDDI API Our implementation used UDDI Version 1 API –KeyedReferenceGroups are not supported –Each operation is grouped with its operation-concept, input and output onto- concepts each as a keyedReference in the keyedReferenceVector as tModelKey = OpTModel KeyValue = operation-concept KeyName = OpName tModelKey = InTModel KeyValue = onto-concept KeyName = OpName tModelKey = OutTModel KeyValue = onto-concept KeyName = OpName OpTModel: Key for the tModel representing functional semantics of the operation named OpName in a WSDL file linked to the UDDI entry InTModel: Key for the tModel representing semantics of the inputs of the operation named OpName in the WSDL OutTModel: Key for the tModel representing semantics of the outputs of the operation named OpName in the WSDL operation-concept: Fully qualified Id of a class in a functional ontology represented by OpTModel onto-concept: Fully qualfied Id of a class in a ontology that is used to annotate inputs (or outputs) represented by InTModel (or OutTModel)

35 Summary of Steps in Discovery 1.Services selection based on the functional requirements Using operation-ontology mapping 2.Ranking based on semantic similarity based on input/output semantics of candidate services and requirement template Using message part-ontology mapping 3.Optional step includes semantic similarity based on semantics of preconditions/effects of the candidate services and requirement template Using precondition and effect tags

36 Conclusions Semantics is the enabler to address the problems of scalability, heterogeneity (syntactic and semantic), machine understandability faced by Web services Semantics can be applied to different layers of Web Services conceptual stack Semantics for Web Services can be categorized into atleast 4 different dimensions namely Data, Functional, Execution and Quality.

37 References [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.htm

38 Thank you


Download ppt "Adding Semantics to Web Services Standards Kaarthik Sivashanmugam, Kunal Verma, Amit ShethAmit Sheth and John Miller LSDIS LabLSDIS Lab, Department of."

Similar presentations


Ads by Google