Docstoc

Semantic Web Services and Processes

Document Sample
Semantic Web Services and Processes Powered By Docstoc
					   Enhancing Web Service
Descriptions using WSDL-S
                           Presented by
                     Preeda Rajasekaran
               LSDIS Lab, University of Georgia

           (Under the Direction of John A. Miller)
                                                 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
                                             2
                       3




   Introduction




                   3
                                                                                   4




Introduction

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

        fly
                                                                            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



                                                                        5
                                                                                                     6




What are Web Services ?
                                                                    * WSDL – Web Service
                                                                    Description Language

                                            UDDI                    * UDDI – Universal
                           Service
                           Registry                                 Description, Discovery
                                                                    and Integration
                                            2. WSDL
                       4. Requested
                            Service                                 * SOAP – Simple Object
                            WSDL
 3. Service                                                         Access Protocol
 Discovery
 Query                                1. WSDL
                                      Interface

                      5. Service Request                            “self-contained,self-
    Service
    Requestor
                                                  Service           describing,modular
                                                  Provider
                      6. Service Response                           applications that can be
                                                                    published, located, and
                                                             WSDL
                                                                    invoked across the Web”
                                                                    [IBM Web Service Tutorial]
                Web Services Interaction Model                                                   6
                                                       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.


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


                                                        8
                                                    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




                                                9
                                            10




   Introduction
   Adding Semantics to Web Services




                                       10
                                                                           11




Semantic Web Services

   Web Services enhanced with the power of semantics

                                                        - Semantics




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




                                                       13
                                                                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



                                                           14
                                            15




   Introduction
   Adding Semantics to Web Services
   WSDL-S




                                       15
                                                                                                                                        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                                                                                         16
     The focus of our work is not in developing ontologies for representing functionality/preconditions/effects but to use s uch
      ontologies for semantic annotation
                           17




WSDL 1.1 Meta Model




                      17
                            18




WSDL-S 1.1 MetaModel




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

                                                                      19
                               20




WSDL-S 1.1 Code Snippet




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




                                               21
         WSDL 2.0 Components
                             22




WSDL-S 2.0 Meta Model




                        22
                                            23




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




                                       23
                                                        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
                                                   24
                                                                       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.                      25
                                                       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.




                                                  26
                                                                                               27




Semantic Meta-tags

                          WSDL
       MetaTag Name                                     Description
                           Tag


    SemanticWebService    Service    Specifies semantics associated with the service
      (Service Level)                like service- location and service- domain.


                                     Associates semantic concept with Web Method.
    SemanticWebMethod    Operation   Encapsulates Web Method tag. Value of the
      (Method Level)                 „action‟ attribute provides the functional
                                     semantics of the operation.


                                     Associates semantic concept with input
                                     parameter of an operation. Encapsulates
                                     WebParam tag. Value of the „element‟ attribute
     SemanticWebParam      Part
                                     is used to refer to the semantic type that closely
       (Method Level)
                                     defines the input parameter. The user needs to
                                     ensure that the semantic and data-type match
                                     before annotating.


     SemanticWebResult                Associates semantic concept with output of an
                           Part
       (Method Level)                   operation. Encapsulates WebResult tag.            27
                                                                                      28




Semantic Meta-tags

                        WSDL
     MetaTag Name                                 Description
                         Tag



                                   Associates semantic concept with
        exception        fault     exceptions thrown by methods. This tag
      (Method Level)               represents multiple exceptions thrown by an
                                   operation.



        exceptions
      (Method Level)                   Collection (Array) of exception tags.



           pre
                       operation
      (Method Level)               Represents the pre conditions.




                                                                                 28
                                                                                   29




Semantic Meta-tags

                         WSDL
     MetaTag Name                                      Description
                          Tag



          post
                       operation
     (Method Level)                  Represents the post conditions.



      Constraints
                       operation     Collection of pre and post tags.
     (Method Level)



        PortType
                        portType     Associates a name with the port Type.
     (Service Level)




      Namespace
                       Definitions   Defines namespaces for the annotations
     (Service Level)
                                     incorporated.



                                                                              29
                                                                                    30




Semantic Meta-tags

                       WSDL
     MetaTag Name                                  Description
                        Tag



      Namespaces                        Collection (Array) of namespaces.
     (Service Level)



                                 Used to specify the name associated with
        Binding        Binding
                                 „SOAPBinding‟. Extends SOAPBinding
     (Service Level)
                                 metatag.


        Service
                       Service   Collection (Array) of related ports.
     (Service Level)



          Port                   Defines individual endpoint by specifying a
                        port
     (Service Level)             single address.


                                                                               30
                                                31



Snippet - Operation Level
Annotations




        - Semantic Tags   - JSR 181 Tags   31
                                       32




Snippet – Service Level
Annotations




                          - Semantic Tags


                          - JSR 181 Tags




                                  32
                                            33




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




                                       33
                                                                                 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
                                                                            34
                                                                  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.                                     35
                             36




METEOR-S Architecture




                        36
                                            37




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



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



                                                     39
                                40




    METEOR-S SWSDT
1




                       3
           2

               4




                   5



                           40
                                                             41




METEOR-S SWSDT

   The different file generations possible using
    the tool




  Java based
                                        WSDL based
development of
                                       development of
     SWS
                                            SWS


                                                        41
                                                                       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
                                                                  42
        invoking SWS
                                                                               43




METEOR-S SWSDT Architecture


                     METEOR-S Semantic Web Service
                                Tool
                        1                2
                     GUI for          Annotated
                     Manual Java/     Java Source/
                     WSDL file        WSDL File
                     Annotation       Generators




        MWSAF –For        Semantic Publishing            Deployment and
        Automatic         and Semantic                   Invocation GUI
    3   Annotation   4    Discovery Engine           5




                           Semantically
                           Enhanced                                       43
                      6    UDDI Registry
                                            44




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

                                       44
                                                            45




Related Work

   OWL-S
   DERI Project - WSMO
       Research Project of DERI (Digital Enterprise
        Research Institute)




                                                       45
             46




OWL-S




        46
                                                                                          47




 OWL-S METEOR-S Comparison

                                     OWL-S                         METEOR-S




Service Descriptions     Service Profile + WSDL             WSDL-S



To use/invoke            Service Model + Service            WSDL-S
                         Grounding +WSDL

                                                            BPEL (Business Process
                         Process Model                      Execution Language)
Interaction between
Services
                         I –Inputs
                         O -Outputs                         Functionality of the
Elements Annotated
                         P –Pre-Conditions                  operation, Input, Output,
                         E -Effects                         Pre-Conditions, Post-
                                                            Conditions and Faults
                         Collection of profile instances/   Semantically Enhanced
Repository of services
                         UDDI                               UDDI
                                                                                     47
                                                                              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


                                                                         48
                                                                        49




METEOR-S, OWL-S & WSMO

                METEOR-S       OWL-S               DERI



   Service                     WSDL+
                 WSDL-S                            WSMO
 Descriptions               Service Profile


                                                   WSMX
                METEOR-S
  Dynamic                   OWL-S Virtual       [Web Services
                 Dynamic
  Execution                   Machine             Execution
                Processor                       Environment ]


                                                   WSML
Semantic Web
                  OWL            OWL            [Web Services
Language Used
                                              Modeling Language]
                                                  (F-logic)

                                                                   49
                                            50




   Introduction
   Adding Semantics to Web Services
   WSDL-S
   Source Code Annotation
   METEOR-S, SWSDT (Semantic Web
    Services Development Tool)
   Related Work
   Conclusion
                                       50
                                                            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
                                                       51
                                                                                    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


                                                                               52
                                                   53




Conclusion




                  AUTOMATION



               SEMANTIC
              WEB SERVICES

                               WEB SERVICES
        WE ARE HERE




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

                                                                    55
                 56




Questions




            56
Thank You.
                                                58




References

   METEOR
   MWSAF - METEOR-S Semantic Web
    Service Annotation Framework (MWSAF)
   METEOR-S Web Service Composition
    Framework (MWSCF)
   METEOR-S Web Service Discovery
    Infrastructure (MWSDI)
   METEOR-S Dynamic Orchestration
    Environment (MDOE)
                                           58
DEMO of METEOR-S
         SWSDT…
                          60




   BACK-UP SLIDES




                     60
                                                               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

                                                          62
                                                             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

                                                        63
                                                            64




Service Invocation

   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

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

                                                                        [Kunal,2004]
                                                         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‟

                                                    68
                                                                      69




DL and OWL

            DL Construct             OWL-DL construct




           Atomic concept
                                          C lass (A’)
                (A)



          Universal concept
          (the entire world)
                                         OWL: Thing
                 ( T)




       Bottom concept (nothing)         OWL: Nothing
                ()



           Atomic negation            complementOf (C)
                ()



             C onjunction            unionOf (C 1 . . .C n)
                 (  )



             Disjunction          intersectionOf (C1 . . .C n)
                (  )




                                                                 69
                                                                                                                   70




DL and OWL

                                 DL Construct                                   OWL-DL construct




                                                                             restriction (R
                                                                          {allValuesFrom(C)}
                                Value restriction                       {someValuesFrom(C)}
                                 ( e.g. , , , )                  {value(o)} [minCardinality(n)]
                                                                   [maxCardinality(m)] [cardinality(l)])



                                                                 oneOf(o1 . . . on) ,
                                                                 restriction (T
                                                                 {allValuesFrom(D)}
                        Limited existential quantification       {someValuesFrom(D)}
                                   ( e.g. , )                  {value(v)} [minCardinality(n)]
                                                                 [maxCardinality(m)] [cardinality(l)])




   OWL C onsturcts Ledger:
   A’ – C lass                                               D – Data range
   C - Description                                           v – data value
   o – individual name                                       l,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
                                                                                                              70
                                                                    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


                                                               74

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




                                                                          75

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



                                                               76

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


                                                    77

                                     [Verma,2004]

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:5
posted:1/10/2012
language:
pages:71