Enhancing Web Service Descriptions using WSDL-S Presented by Preeda Rajasekaran LSDIS Lab,...

Preview:

Citation preview

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

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

Introduction

4

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 fly

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

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

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

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

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.

WebMethodMarks individual methods to be exposed as Web Service Operations.

WebParamUsed to represent the WSDL message part element for an operation input.

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

TagDescription

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 NameWSDL

TagDescription

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 NameWSDL

TagDescription

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 NameWSDL

TagDescription

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

23

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

AnnotatedJava 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/invokeService Model + Service Grounding +WSDL

WSDL-S

Interaction betweenServices

Process ModelBPEL (Business Process Execution Language)

Elements Annotated

I –InputsO -OutputsP –Pre-ConditionsE -Effects

Functionality of the operation, Input, Output, Pre-Conditions, Post-Conditions and Faults

Repository of servicesCollection 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-S DERI

Service Descriptions

WSDL-SWSDL+

Service ProfileWSMO

Dynamic Execution

METEOR-SDynamic Processor

OWL-S Virtual Machine

WSMX[Web Services

Execution

Environment]

Semantic Web Language Used

OWL OWLWSML

[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

Thank You.

58

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)

DEMO of METEOR-S SWSDT…

60

60

BACK-UP SLIDES

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

Service Invocation Performed by Service Requestor after

discovering required services Invoke a service using

WSDL SpecificationsSOAP Protocol

SemanticsApply transformations

when necessary to enable service invocation

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’ – Class D – Data rangeC - Description v – data valueo – individual name l,m,n – non-negative integersR - object or abstract property {elements}- can be repeated zero or more timesT – Datatype property [elements] -optionalB - DataType

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]

Recommended