preeda rajasekaran, john miller,kunal verma, amit sheth lsdis lab, university of georgia enhancing...

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

Post on 19-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

3

3

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

Page 2: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

4

4

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

Page 3: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

5

5

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

Page 4: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

6

6

Service CompositionActivity Choreography Web Service Composition

Page 5: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

7

7

What does a service do?

To improve service discovery one must describe what a

service does •Semantics of service:

•Domain, Location and Semantics of operations

•Semantics of input/output:

-Name, Type and Annotation

•Semantics of operation:

1)Classification of operation

2) output = pre ( input ) f ( input , statei )

V ¬ pre ( input ) g ( input, statei )

Statei+1 = h ( input, statei )

assert post ( output, statei+1 ) = 1

f() – output function +

g() – exception function +

h() – transition function+ Unless there’s complete verification other exceptions are possible.

Page 6: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

8

8

Semantic Web Services

SWSA and SWSL Committees To support the development of Semantic Web Services

Architecture and Language, respectively. “To develop standardized ways of conceptualization and

organizing semantic information about services.”

Semantic markup of Service definitions Enables definitions to be machine processable Provides clear and unambiguous meaning of service

functionality Enhances automation in service discovery and invocation

Page 7: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

9

9

METEOR-S

Uses semantics in the entire life cycle of Semantic Web Services and Processes Semantics in Annotation, Publication, Discovery and

Constraint Driven Composition of Web Services Comprehensive use of semantics

(Data,Functional,QoS and Execution) 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

Page 8: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

10

10

OWL-S 1.1

Represents Semantic Web Services via 4 files

Each service is created as an instance of service ontology

Language: OWL + SWRL

Page 9: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

11

11

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

Page 10: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

12

12

METEOR-S Architecture

Front-End

Back-End

Page 11: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

13

13

METEOR-S Front-End

Semantic Web Service Designer Developing Semantic Web Services

Semantic Description Generator Various types of semantic definitions for a service

Publishing Interface Making them available through UDDI registries (Enhanced UDDI)

Enhanced UDDI Reorganized UDDI to discover relevant service based on

semantics Discovery Engine

To discover the relevant services according to requestor requirements

Page 12: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

14

14

Semantic Web Service Designer

Eclipse plug-in to design Semantic Web Services

User Interface for developing semantic web services

Facilitates annotation of source code with semantic information

Page 13: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

15

15

Semantic Web Service Designer(contd.)

Page 14: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

16

16

Source Code Annotation

Easy to incorporate appropriate semantic descriptions while developing code

Similar to java documentation Used to generate semantically enhanced

annotated WSDL or WSDL-S Annotations Service Interfaces Uses jdk1.5 Metadata feature (JSR 175 &

JSR 181)

Generates

Page 15: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

17

17

Annotated Java Source Code

- Semantic Concept

Page 16: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

18

18

Semantic Description Generator

Input Annotated Source Code - semantically enrich

to enable semantic web service Output

WSDL 1.1 annotated with semantic information via extensible tags

WSDL-S –WSDL 2.0 with semantic annotation OWL-S files – Profile, Grounding, Process (basic)

and associated WSDL

Page 17: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

19

19

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

Page 18: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

20

20

Enhanced UDDI

@interface ( domain = "naics:Computer and Electronic Product Manufacturing" ,

description = "Computer PowerSupply Battery Buy Quote Order Status ",

businessService = "Battery Outlet")

public interface BatterySupplier {

@operation (name = "placeOrder", action = "rosetta: #RequestPurchaseOrder " )

@parameters ({

@inParam ( name = "order", element = "rosetta: #PurchaseOrderRequest

@outParam( name="orderConfirmation",

element="rosetta: #PurchaseOrderConfirmation" )

})

QuoteConfirmation getQuote (QuoteRequest qRequest );

.

.

.

Annotated Java Source Code Enhanced UDDI

- Publishing Interface

Page 19: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

21

21

Discovery Engine

Input Semantic service template built by user

/execution engine Output

List of services ranked by relevance to query Ranking algorithm employed

-Matches operation/input/output semantic concepts of Published Services Vs. service template.

-Employs heuristic based subsumption relations of ontological concepts

Page 20: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

22

22

Discovery Engine

<serviceTemplate><namespace rosetta=“http://lsdis.cs.uga.edu\METEOR-S\Rosetta.owl/><namespace …..<domain name=Computer and Electronic Product Manufacturing <operations><operation name=“placeOrder “ concept= "rosetta: #RequestPurchaseOrder" ><input name=“order” concept="rosetta: #PurchaseOrderRequest" /><output name=“orderConfirmation” concept="rosetta: #PurchaseOrderConfirmation" /></operation>

<operation….. </operation> </operations>.</serviceTemplate>

Service Template

Execution Engine

uses

Ranked Response

user

Discovery Engine

Page 21: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

23

23

Ranked Response

uses AbstractBPEL Process

Enhanced UDDI

Discovery Engine

Service Template(s)

METEOR-S Back-End

Abstract Process Designer

(BPWS4J Editor)

query

Constraint Analyzer

Optimized Service Set

Process Repository

Process Annotation Tool

(Eclipse Plug-in)

Executable BPEL

ProcessBinder

Execution Engine

(BPWS4J )

Design-Time

Process Instance

Initiation Time

Page 22: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

24

24

Conclusion

Semantics help to Enhance discovery of relevant services Reduces manual intervention in service composition

Source code annotations Enable easy means of developing Semantic Web Services Alternative –METEOR-S Web Services Annotation

Framework Annotated WSDL/ WSDL-S

Light-weight approach to semantically enhance Web service definitions

Minimal effort to gain benefits in discovery and composition.

Page 23: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

25

25

References

[Ankolenkar et al., 2003] The DAML Services Coalition, DAML-S: Web Service Description for the Semantic Web, The First International Semantic Web Conference -ISWC, Italy

[METEOR-S, 2002] METEOR-S:Semantic Web Services and Processes, http://swp.semanticweb.org, 2002.

[Sivashanmugam et al., 2003] K. Sivashanmugam, K. Verma, A. Sheth, J. Miller, Adding Semantics to Web Services Standards, Proceedings of 1st International Conference of Web Service ICWS, June 2003 (pp. 395-401).

[Sheth et al., 1996] A. Sheth, K. Kochut, J. Miller, D. Worah, S. Das, C. Lin, D. Palaniswami, J. Lynch, I. Shvchenko, Supporting State-wide Immunization Tracking using Multi-Paradign WorkflowTechnology, Proceedings of the 22nd Intl. Conf. on Very Large Databases (VLDB96) September 1996

[Roman et al., 2004] D.Roman, U. Keller, H.Lausen, WSMO – Web Service Modeling Ontology (WSMO), DERI Working Draft 14 February 2004, http://www.wsmo.org/2004/d2/v0.1/20040214/

[Verma et al., 2004] K. Verma, K. Sivashanmugam, A. Sheth, A. Patil, S. Oundhakar and J. Miller, METEOR–S WSDI: A Scalable Infrastructure of Registries for Semantic Publication and Discovery of Web Services, Journal of Information Technology and Management (to appear), (2004).

[Aggarwal et al., 2004] R. Aggarwal, K. Verma, J. Miller, W. Milnor, Constraint Driven Web Service Composition in METEOR-S, Proceedings of the IEEE SCC (to appear), 2004.

Page 24: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

Questions…

Page 25: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

Thank You

Page 26: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

28

28

WSDL-S Meta-Model

Page 27: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

29

29

WSDL-S OWL Ontology

Page 28: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

30

30

Service Oriented Architecture

Application Integration via loose coupling Loose coupling between interfaces and

implementation Interfaces universally available for providers

and consumers Implementation is programming language

and platform neutral

Page 29: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

31

31

Where Are We on Web Services?

SOAP (Logical Messaging)SOAP (Logical Messaging)SOAP (Logical Messaging)SOAP (Logical Messaging)InteractionInteractionInteractionInteraction

WSDL, WS-Policy, UDDI, InspectionWSDL, WS-Policy, UDDI, InspectionWSDL, WS-Policy, UDDI, InspectionWSDL, WS-Policy, UDDI, Inspection

Quality Quality of Serviceof ServiceQuality Quality

of Serviceof ServiceTransactionsTransactionsTransactionsTransactions

CompositionCompositionCompositionCompositionBPEL4WSBPEL4WSBPEL4WSBPEL4WS

XML, EncodingXML, EncodingXML, EncodingXML, EncodingOther protocolsOther servicesOther protocolsOther services

ReliableReliableMessagingMessagingReliableReliable

MessagingMessagingSecuritySecuritySecuritySecurity

DescriptionDescriptionDescriptionDescription

Page 30: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

32

32

SOA and Web services

SOA are realized via Web Services

“Web services are a new breed of Web application. They are self-contained, self-describing, modular applications that can be published, located, and invoked across the Web. Web services perform functions, which can be anything from simple requests to complicated business processes. …Once a Web service is deployed, other applications (and other Web services) can discover and invoke the deployed service.”

IBM web service tutorial

Web ServicesWeb Services

Page 31: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

33

33

Limitations of Current Service Discovery

Keyword/Categorization based search No stemming of keywords Synonyms of a word return different results

Context of use is not captured E.g. buyTicket- services returned include buying Air Ticket,

Raffle Ticket, Movie Ticket etc. Service discovery requires human filtering according to

service needs Returned Services are not ranked according to

relevance Dynamic Binding requires automation in discovering

relevant services

Page 32: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

34

34

WSDL-S (Contd.)

Normal WSDL Complex Input

<message name="cancelOrderRequest"><part name="orderNumber" type="xsd:int" /><part name="confirmationNumber" type="xsd:int" /></message>

Annotated WSDL-S Complex Input:

<message name="cancelOrderRequest"><part name="orderNumber" type="xsd:int" onto-

concept=“rosetta:#OrderNumber"/><part name="confirmationNumber" type="xsd:int" onto-

concept=“rosetta:#ConfirmationNumber"/></message>

Page 33: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

35

35

Discovery Ranking Algorithm

Rank WeightsDomain – 1, Location – 1, Operation concept –2, Output Concept –3, Input Concept - 4

The actual ranking algorithm employed is: If URI's refer to different ontologies: Rank = 0 If the URI's are the 'same' Rank = 1 If the URI's are concepts:

1. Find the maximum distance of either URI from the deepest common parent. 2. Depending upon the distance - decrease the rank. 3. Find the minimum distance of either URI from the common subclass 4. If common child exists, increase the rank 5. List the properties of both concepts

(a) See the number of properties that match using the property matching algorithm below.

(b) Depending upon the ratio of the number of properties that match/total properties, decide the rank

If uri's are properties: 1. Check the data-type 2. Check the cardinality

3. Give a rank accordingly

Page 34: Preeda Rajasekaran, John Miller,Kunal Verma, Amit Sheth LSDIS Lab, University of Georgia Enhancing Web Services Description and Discovery to Facilitate

36

36

OWL-S / WSMO Comparison

OWL-S WSMO

Profiles used as - Advertisement of service - Requirements of requestor 

Profile is expressed as two files- Requestor view - Provider view

Profile hierarchy -Defined as taxonomy of profiles 

Taxonomy defined as REAL goals 

Profile has many non-functional properties of same type  

WSMO has cardinality restrictions on non-functional properties  

Defines geographic radius 

Absent in WSMO 

 

Rating property can be interpreted in many ways 

Interpret rating in terms of performance, reliability,security, etc. 

 

Has process- flow represented  

Offers no modeling for choreography/orchestration 

Lacks logical formalism of rules  

Based on rules and goals  

Absent in OWL Post conditions defines relationship between input and output