Presentation is loading. Please wait.

Presentation is loading. Please wait.

Enhancing Web Service Descriptions using WSDL-S Presented by Preeda Rajasekaran LSDIS Lab, University of Georgia (Under the Direction of John A. Miller)

Similar presentations


Presentation on theme: "Enhancing Web Service Descriptions using WSDL-S Presented by Preeda Rajasekaran LSDIS Lab, University of Georgia (Under the Direction of John A. Miller)"— Presentation transcript:

1 Enhancing Web Service Descriptions using WSDL-S Presented by Preeda Rajasekaran LSDIS Lab, University of Georgia (Under the Direction of John A. Miller)

2 2 2 Outline Introduction Adding Semantics to Web Services WSDL-S Source Code Annotation METEOR-S METEOR-S, SWSDT (Semantic Web Services Development Tool) Related Work Conclusion Future Work

3 3 3 Introduction

4 4 4 Web Service based IT infrastructures becoming popular Industry wide standardization (WSDL, SOAP etc. ) XML based technologies which run over Web servers Gartner claims by 2008 60% of IT infrastructure will be Web service based [http://www.itfacts.biz/index.php?id=P408] Current state of Web service usage Manual application integration (typically internal) The promise Automatic (semi-automatic) application integration on the fly

5 5 5 Goals (Semi) Automatic Integration Semantic heterogeneity in data [Sheth & Larson, 1990] and functions Current standards like WSDL, UDDI are syntactical Need to provide semantic underpinnings to handle semantic heterogeneity (ambiguity) This work Deals with adding semantics to Web Service Description Language (WSDL) by proposing WSDL-S

6 6 6 4. Requested Service WSDL 1. WSDL Interface 5. Service Request 3. Service Discovery Query 2. WSDL 6. Service Response UDDI Service Requestor Service Registry Service Provider WSDL What are Web Services ? * WSDL – Web Service Description Language * UDDI – Universal Description, Discovery and Integration * SOAP – Simple Object Access Protocol “self-contained,self- describing,modular applications that can be published, located, and invoked across the Web” [IBM Web Service Tutorial] Web Services Interaction Model

7 7 7 What are Semantics? Semantics deals with meaning/content. Helps to express relationship between word symbols and their intended meaning A Service represented in many ways may still have the same context –semantics captures this. Enables to ‘understand’ the content.

8 8 8 How to represent Semantics? Representation of semantics via ontologies. Ontology ‘ a set of distinct objects resulting from an analysis of a domain, or microworld’. Provides a representation of the real world Ontologies serve as an agreed vocabulary of terms and their intended meaning.

9 9 9 OWL- Web Ontology Language Standard accepted by W3C Based on Description Logic Used to represent the real world OWL Description Logics RDF/RDFS XML/XSD

10 10 Introduction Adding Semantics to Web Services

11 11 Semantic Web Services Web Services enhanced with the power of semantics - Semantics

12 12 Semantics in Semantic Web Service Architecture Enhanced UDDI Data structure of UDDI is organized so as to hold semantic information Service Provider Annotated WSDL files – which contain semantic information about the service Service Requestor Service Templates – Semantically enriched discovery queries

13 13 Web Services Descriptions WSDL provides the interface for the operations offered by a service. Service Description Contains Operation Name, Input, Output, Exceptions, Transport and Message protocol, Access Port.

14 14 Semantic Modeling Of An Operation (in WSDL-S) Classification of operation output = pre ( input ) ? f ( input, state i ): g ( input, state i ) [C-like conditional IF expression] State i +1 = h ( input, state i ) assert post ( output, state i+1 ) = 1 f() – output function g() – exception function h()- transition function

15 15 Introduction Adding Semantics to Web Services WSDL-S

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

17 17 WSDL 1.1 Meta Model

18 18 WSDL-S 1.1 MetaModel

19 19 WSDL-S 1.1 tags “wsdls:concept” Attribute of operation and part tag. “ wsdl:precondition” Attribute of operation tag. Multiple seperated by ‘&&’. “wsdl:postcondition” Attribute of the operation tag. Multiple seperated by ‘&&’. “wsdls:location” Attribute of service tag. “wsdls:domain” Attribute of service tag.

20 20 WSDL-S 1.1 Code Snippet

21 21 WSDL 2.0 Current Working Draft Type information moved outside the standard Commonly used types : XSD, XMI This features helps to Add OWL as a semantic type (semantic annotations) WSDL 2.0 Components

22 22 WSDL-S 2.0 Meta Model

23 23 Introduction Adding Semantics to Web Services WSDL-S Source Code Annotation

24 24 Source Code based Development of SWS Capture the semantics of the service and the operations Java 5.0 Meta-Tag Feature JSR 175 & JSR 181 Incorporate semantics during service interface design Helps to create service implementation Similar to javadoc Comments

25 25 Base JSR 181 Tags MetaTag Name Description WebService Marks a particular Java Implementation to be a Web Service. WebMethod Marks individual methods to be exposed as Web Service Operations. WebParam Used to represent the WSDL message part element for an operation input. WebResult Used to represent the WSDL message part element for an operation output. SOAPBinding Specifies the mapping of the Web Service onto the SOAP message protocol.

26 26 Semantic Meta-tags Extends JSR 181 Tags used to represent Web Services Each Tag corresponds to a WSDL element Semantic Information collected using Java 5 Reflection API.

27 27 Semantic Meta-tags MetaTag Name WSDL Tag Description SemanticWebService (Service Level) Service Specifies semantics associated with the service like service- location and service- domain. SemanticWebMethod (Method Level) Operation Associates semantic concept with Web Method. Encapsulates Web Method tag. Value of the ‘action’ attribute provides the functional semantics of the operation. SemanticWebParam (Method Level) Part Associates semantic concept with input parameter of an operation. Encapsulates WebParam tag. Value of the ‘element’ attribute is used to refer to the semantic type that closely defines the input parameter. The user needs to ensure that the semantic and data-type match before annotating. SemanticWebResult (Method Level) Part Associates semantic concept with output of an operation. Encapsulates WebResult tag.

28 28 Semantic Meta-tags MetaTag Name WSDL Tag Description exception (Method Level) fault Associates semantic concept with exceptions thrown by methods. This tag represents multiple exceptions thrown by an operation. exceptions (Method Level) Collection (Array) of exception tags. pre (Method Level) operation Represents the pre conditions.

29 29 Semantic Meta-tags MetaTag Name WSDL Tag Description post (Method Level) operation Represents the post conditions. Constraints (Method Level) operation Collection of pre and post tags. PortType (Service Level) portType Associates a name with the port Type. Namespace (Service Level) Definitions Defines namespaces for the annotations incorporated.

30 30 Semantic Meta-tags MetaTag Name WSDL Tag Description Namespaces (Service Level) Collection (Array) of namespaces. Binding (Service Level) Binding Used to specify the name associated with ‘SOAPBinding’. Extends SOAPBinding metatag. Service (Service Level) Service Collection (Array) of related ports. Port (Service Level) port Defines individual endpoint by specifying a single address.

31 31 Snippet - Operation Level Annotations - Semantic Tags - JSR 181 Tags

32 32 Snippet – Service Level Annotations - Semantic Tags - JSR 181 Tags

33 33 Introduction Adding Semantics to Web Services WSDL-S Source Code Annotation METEOR-S

34 34 METEOR-S Workflow management for Semantic Web Services is called METEOR-S (METEOR for Semantic Web Services) Uses semantics in the entire life cycle of Semantic Web Services and Processes Semantics in Annotation, Publication, Discovery, Constraint Driven Composition and Execution of Web Services METEOR- Managing End-To-End OpeRations

35 35 METEOR-S Comprehensive use of semantics (Data,Functional,QoS and Execution) Functional Semantics To represent Service/Operation functionality Pre/Post conditions Data Semantics To represent inputs, output, faults (exceptions). Integrates and co-exists with current industry tools, E.g. Eclipse BPWS4J Editor, BPEL4WS Execution Engine. Consistent with and builds upon current standards and recommendations.

36 36 METEOR-S Architecture

37 37 Introduction Adding Semantics to Web Services WSDL-S Source Code Annotation METEOR-S, SWSDT (Semantic Web Services Development Tool)

38 38 Semantic Web Services Development Main stages of Semantic Web Service (SWS) Development 1)Design 2)Annotation 3)Implementation 4)Deployment 5)Publication 6)Discovery 7)Invocation 8)Composition 9)Execution

39 39 METEOR-S SWSDT [Semantic Web Services Development Tool] Developed as an Eclipse Plug-in Used to incorporate semantic annotations into Web Services. Helps to develop Annotated Java source Code Annotated WSDL files (WSDL-S 1.1 & WSDL-S 2.0)

40 40 METEOR-S SWSDT 1 2 3 4 5

41 41 METEOR-S SWSDT The different file generations possible using the tool Java based development of SWS WSDL based development of SWS

42 42 METEOR-S SWSDT Features Easy view of WSDL and Java File Tree representation For Browsing and Editing annotations Simultaneous view of Ontology when browsing WSDL/Java files GUI based incorporation of annotation Incorporates external modules MWSAF – For Automatic Annotation Publisher – For publishing SWS into Enhanced UDDI Discovery – Semantic Discovery of Services using heuristic based subsumption Deployment and Invocation – GUI tools for deploying and invoking SWS

43 43 METEOR-S SWSDT Architecture METEOR-S Semantic Web Service Tool Annotated Java Source/ WSDL File Generators GUI for Manual Java/ WSDL file Annotation MWSAF –For Automatic Annotation Semantic Publishing and Semantic Discovery Engine Deployment and Invocation GUI Semantically Enhanced UDDI Registry 1 2 3 4 5 6

44 44 Introduction Adding Semantics to Web Services WSDL-S Source Code Annotation METEOR-S, SWSDT (Semantic Web Services Development Tool) Related Work

45 45 Related Work OWL-S DERI Project - WSMO Research Project of DERI (Digital Enterprise Research Institute)

46 46 OWL-S

47 47 OWL-S METEOR-S Comparison OWL-S METEOR-S Service Descriptions Service Profile + WSDL WSDL-S To use/invoke Service Model + Service Grounding +WSDL WSDL-S Interaction between Services Process Model BPEL (Business Process Execution Language) Elements Annotated I –Inputs O -Outputs P –Pre-Conditions E -Effects Functionality of the operation, Input, Output, Pre-Conditions, Post- Conditions and Faults Repository of services Collection of profile instances/ UDDI Semantically Enhanced UDDI

48 48 Semantic Web Services (WSMO) WSMO (Web Services Modeling Ontology) Two parts WSML – Semantic Web Service Language based on F-logic WSMX – Semantic Web Service Architecture Based on WSMF proposed by Bussler and Fensel WSMO Supports Functional Aspects = (IOPEs) + used mediators Non Functional Aspects = performance, reliability, security etc. Mediators (components cannot communicate without them) Petri nets for execution semantics

49 49 METEOR-S, OWL-S & WSMO METEOR-S OWL-SDERI Service Descriptions WSDL-S WSDL+ Service Profile WSMO Dynamic Execution METEOR-S Dynamic Processor OWL-S Virtual Machine WSMX [ Web Services Execution Environment ] Semantic Web Language Used OWL WSML [ Web Services Modeling Language ] (F-logic)

50 50 Introduction Adding Semantics to Web Services WSDL-S Source Code Annotation METEOR-S, SWSDT (Semantic Web Services Development Tool) Related Work Conclusion

51 51 Conclusion Overview Shift towards Modularization of software components Automatic integration Web Services Requirement of richer service descriptions Semantics + Web Services = Semantic Web Services Representation of semantics in Web Services Incorporation of semantics into Web Services

52 52 Conclusion Representing semantics in Web Services WSDL-S Extend WSDL to accommodate semantics Source Code Annotations Tags to incorporate semantics were decided and introduced JSR 181 processor to process the annotations Incorporating Semantics into Web Services METEOR-S SWSDT Eclipse Plug-in Developed and released as an open source project. Available for download,along with installation and user guide at http://lsdis.cs.uga.edu/projects/METEOR-S/Downloads

53 53 Conclusion SEMANTIC WEB SERVICES AUTOMATION WEB SERVICES WE ARE HERE

54 54 Introduction Adding Semantics to Web Services WSDL-S Source Code Annotation METEOR-S, SWSDT (Semantic Web Services Development Tool) Related Work Conclusion Future Work

55 55 Future Work Annotation of Complex Types Move Annotation to Basic types Meta-tags to represent Execution Semantics -QoS Representation of Pre and Post Conditions WSDL-S 1.1 WSDL-S 2.0 Complete Generation based on revised WSDL 2.0 Specification Performance testing of Semantic Web Services APT for processing annotations Use of Digestors To parse WSDL files JUnit like test environment for Semantic Web Services

56 56 Questions

57 Thank You.

58 58 References METEOR MWSAF - METEOR-S Semantic Web Service Annotation Framework (MWSAF)MWSAF METEOR-S Web Service Composition Framework (MWSCF)MWSCF METEOR-S Web Service Discovery Infrastructure (MWSDI)MWSDI METEOR-S Dynamic Orchestration Environment (MDOE)MDOE

59 DEMO of METEOR-S SWSDT…

60 60 BACK-UP SLIDES

61 61 METEOR-S SWSDT Packages and Tools used Packages/ Tools Usage Jena 2.0For Parsing OWL ontology files. Axis 1.2For Deploying and Invoking Web Services. Xerces 2.6.1For Parsing WSDL file to extract incorporated annotations. Eclipse 3.0The base platform on which the Tool operates on. Ant 1.6Used for invoking tools outside the eclipse workbench. Java 5.0To offer support for semantic annotations via meta-tags. Uddi4j 2.0.2Used for publishing and discovering into the UDDI registry. JWSDP 1.2UDDI Registry used for publishing and discovering Semantic Web Services (includes Tomcat –Servlet Engine).  Version 1.2 is currently used due to it’s compatibility with uddi4j, we will be upgrading to the latest version of JWSDP in our future work.

62 62 Service Publication Performed by Service Provider Discover existing interfaces (services) to extend Create service implementations and WSDL based definitions Test, Deploy and Publish the services, in Service Registries (e.g.) Enhanced UDDI Semantics Used to capture the behavior of the published service Enables effective discovery by service requestors

63 63 Service Discovery Based on Service requestor needs To find the service providing Required operations (methods) Required signature for static/dynamic binding Satisfying the requestors constraints such as QoS, Service locality, etc. Semantics To return relevant services ranked based on semantic match criteria

64 64 Service Invocation Performed by Service Requestor after discovering required services Invoke a service using WSDL Specifications SOAP Protocol Semantics Apply transformations when necessary to enable service invocation

65 65 WSDL-S 2.0 Tags “action” Attribute is added to operation tag. “pre” and “post” Tags are added as children of the operation tag. “element” The use of OWL and XMI types is proposed for the values of this attribute. “exception” Tag is added as a child of the operation tag.

66 66 WSDL-S 2.0 Snippet

67 67 A Plan for Building a SOA – Web Services Requirement #1: Interaction protocols must be standardized. WSDL,SOAP, UDDI –standardized Need to ensure the widest interoperability among unrelated institutions. Requirement #2: Make all contracts explicit. WSDL makes interface definition explicit Explicit contracts define what may be changed in an application without breaking the interaction. It is hard or impossible to make all assumptions explicit, but the more the better. Requirement #2 : Standardize contract language(s) and formats. Use of XML messages Standard metadata is the basis of interoperable contract selection and execution. Requirement #3: Allow for points of variability in the contract. Use of extensibility elements in WSDL Dynamic adaptation on variability points. Increases the number of possible interactions supported. Requirement #4: Provide native composition models and runtimes. [Kunal,2004]

68 68 Description Logic Description Logic is one of the ‘most important knowledge representation formalism unifying and giving a logical basis to the well known traditions of Frame-based systems, Semantic Networks and KL-ONE- like languages, Object-Oriented representations, Semantic data models, and Type systems’

69 69 DL and OWL DL Construct OWL-DL construct Atomic concept (A) Class (A’) Universal concept (the entire world) ( T ) OWL: Thing Bottom concept (nothing) (  ) OWL: Nothing Atomic negation (  ) complementOf (C) Conjunction (  ) unionOf (C1...Cn) Disjunction (  ) intersectionOf (C1...Cn)

70 70 DL and OWL DL Construct OWL-DL construct Value restriction ( e.g. , , , ) restriction (R {allValuesFrom(C)} {someValuesFrom(C)} {value(o)} [minCardinality(n)] [maxCardinality(m)] [cardinality(l)]) Limited existential quantification ( e.g. , ) oneOf(o1... on), restriction (T {allValuesFrom(D)} {someValuesFrom(D)} {value(v)} [minCardinality(n)] [maxCardinality(m)] [cardinality(l)]) OWL Consturcts Ledger: A’ – ClassD – Data range C - Descriptionv – data value o – individual namel,m,n – non-negative integers R - object or abstract property {elements}- can be repeated zero or more times T – Datatype property[elements] -optional B - DataType

71 71 QoS Model QoS in METEOR-S QoS Estimates for Tasks/Web services QoS Computation Enact Stochastic Process QoS Estimates for Transitions Design Log SWR algorithm Simulation QoS [Cardoso,2004]

72 72 Web process QoS computation Duration Repudiation Price Reliability Availability Cost Time Fidelity Security Reliability Linear programming Graph Reduction Techniques Critical Path Algorithm Petri-nets analysis Design time| Runtime Simulation QoS [Cardoso,2004]

73 73 DAML-S Ontologies DAML-S defines ontologies for the construction of service models: Service Profiles Process Models Service Grounding Service Resource ServiceProfile ServiceModel Service Grounding Service Grounding provides described by presentssupports what the service does how the service works how to access the service [Verma,2004]

74 74 WSMO - Goals A goal specifies the objectives that a client may have when he consults a web service E.g. of goals Buy a book Buy a book from Amazon Buy a book written by X Mediators can combine or refine goals E.g. Buy a book from Amazon written by X [Verma,2004]

75 75 Semantic Web Services (WSMO) Two types of mediators Refiners define a new component as a refinement of an existing component ggMediators: mediators that link two goals. This link represents the refinement of the source goal into the target goal. ooMediators: mediators that import ontologies and resolve possible representation mismatches between ontologies [Verma,2004]

76 76 Semantic Web Services (WSMO) Two types of mediators Bridges support reuse by enabling two components to interact with each other wgMediators: mediators that link web service to goals. They explicitly may state the difference (reduction) between the two components and map different vocabularies (through the use of ooMediators). wwMediators: mediators linking two Web Services. [Verma,2004]

77 77 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 [Verma,2004]


Download ppt "Enhancing Web Service Descriptions using WSDL-S Presented by Preeda Rajasekaran LSDIS Lab, University of Georgia (Under the Direction of John A. Miller)"

Similar presentations


Ads by Google