134
Francisco Curbera 1 , Amit Sheth 2,3, Kunal Verma 2 1 IBM T.J. Watson Research Center (USA) 2 LSDIS Lab, University of Georgia 3 Semagix, Inc (USA) Service Oriented Architectures and Semantic Web Processes

Semantic Web Services and Processes

  • Upload
    zubin67

  • View
    848

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Semantic Web Services and Processes

Francisco Curbera1, Amit Sheth2,3, Kunal Verma2

1IBM T.J. Watson Research Center (USA)2LSDIS Lab, University of Georgia

3Semagix, Inc (USA)

Service Oriented Architectures and Semantic

Web Processes

Page 2: Semantic Web Services and Processes

2

2

Service Oriented Architectures and Web Services

Semantic Web Services and Processes

Page 3: Semantic Web Services and Processes

3

3

Semantic Web Processes

Part

Page 4: Semantic Web Services and Processes

Service Oriented Architectures and Web

Services

Page 5: Semantic Web Services and Processes

5

5

Overview

IT for a new business model Service Oriented Architectures (SOAs). Web services as an XML based instantiation

of SOA. Protocols. Metadata. Discovery. Composition.

Summary.

Page 6: Semantic Web Services and Processes

6

6

A New Business Environment

Business outsource every non-essential function. Concentrate on core function and values.

Vertically integrated enterprises are being broken apart Replaced by heavily networked ones. Applications that used to be internal are now provided by outside

parties. Corporate boundaries become fuzzier. Does today’s IT models support the new business environment?

IT is too centered on IT! When enterprises where islands this was sort of OK. Today it is vital to adapt the computing model to the business

interaction model.

Page 7: Semantic Web Services and Processes

7

7

Enterprises as IT Islands

Ad-hoc bridges support interorganizational interactions.

Most application interactions take place inside the enterprise.

Most applications belong to a single administrative domain.

Value added networks and proprietary protocols support most B2B interactions

Page 8: Semantic Web Services and Processes

8

8

Fully Networked Enterprises

The frequency of external interactions and their reach inside the enterprise increases dramatically.

Internal applications seamlessly reach out of the enterprise.

Interacting applications naturally belong to multiple administrative domains.

Web based interactions become pervasive, based on standard protocols

Page 9: Semantic Web Services and Processes

9

9

Fully Networked Business Interactions

The distinction between internal and external applications and providers looses importance

Many potential providers can be found for each required function.

Page 10: Semantic Web Services and Processes

10

10

IT for the New Enterprise: Business Components

Need to raise the level of IT abstractions. Concentrate on business function and requirements.

Need to encapsulate business function to make it available to partners: service components.

Different level granularity – coarse grained business services vs. fine grained objects.

Services must be defined by explicit contracts to allow independent party access.

Consequence is automatic binding. Core concern of business is to integrate business processes and

functions. Business components are integrated creating service compositions. New value is created through integration/composition. New components are recursively created.

Page 11: Semantic Web Services and Processes

11

11

Service Oriented Middleware

Service interactions Peer to peer by nature. Symmetric interaction

model. Mixes synchronous and

asynchronous protocols. Assigns public contracts

to network accessible objects.

Supports capability based service discovery.

ServiceB

ServiceC

ServiceD

ServerA

Registry

QoS=A/B?Iface=Ietc…

Page 12: Semantic Web Services and Processes

12

12

A Plan for Building a SOA

Requirement #1: Interaction protocols must be standardized. Need to ensure the widest interoperability among unrelated institutions.

Requirement #2: Make all contracts 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.

Standard metadata is the basis of interoperable contract selection and execution.

Requirement #3: Allow for points of variability in the contract. Dynamic adaptation on variability points. Increases the number of possible interactions supported.

Requirement #4: Provide native composition models and runtimes.

Page 13: Semantic Web Services and Processes

Web Services As a SOA

SOA and Web Services

Page 14: Semantic Web Services and Processes

14

14

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 15: Semantic Web Services and Processes

Protocols

SOA and Web services

Page 16: Semantic Web Services and Processes

16

16

Protocols

Provides a common set of universally supported interaction protocols.

A basic messaging layer SOAP Easily extensible, allows QoS protocols to be defined on top.

Some basic QoS protocols: Basic requirements of business interactions. Provide guarantees Message Reliability, WS-ReliableMessaging Coordination and transactional interactions. Message integrity, confidentiality

Page 17: Semantic Web Services and Processes

17

17

SOAP Messaging

Request (service invocation)

Response

Application

Service Requestor

SOAP Middleware

Network Protocol

Application web service

Service Provider

SOAP Middleware

Network Protocol

1 2 3 4

Page 18: Semantic Web Services and Processes

Metadata

SOA and Web services

Page 19: Semantic Web Services and Processes

19

19

Metadata

WSDL: Functional descriptions. WS-Policy: QoS Points of variability: dynamic infrastructure.

Page 20: Semantic Web Services and Processes

20

20

What is WSDL

An extensible, platform independent XML language for “describing” services.

Provides functional description of Web services: IDL description Access protocol and deployment details All of the functional information needed to programmatically access

a service, contained within a machine-readable format Does not include

QoS Taxonomies Business information

WSDL is a component definition language for Web service component

Page 21: Semantic Web Services and Processes

21

21

WSDL Description Structure

<types> …

<message name=“Msg1”/> …

<portType name=“PType1”> …

<binding name=“Bnd1” type=“PType1”> …

Abstract/Business

<service name=“svc1”>

<port binding=“Bnd1” >

<soap:address location=“...”/>

</port>

</service>

Deployment

<definitions>

</definitions>

Page 22: Semantic Web Services and Processes

22

22

WSDL Parts At a Glance

made concrete by

contains one or more

part

abstract interfaceportType

(abstract)operation

(concrete)message(abstract)

message

concrete implementationbinding

(concrete)operation

(concrete)message(concrete)

message

service concrete endpointport

types

Page 23: Semantic Web Services and Processes

23

23

WSDL Status

WSDL 1.1 was submitted to the W3C on February 2001.

http://www.w3.org/TR/WSDL

WSDL 2.0 is now being defined by the WS Descriptions working group at W3C. Last draft (June 2002) available at

http://www.w3.org/2002/ws/desc/

Page 24: Semantic Web Services and Processes

24

24

WS-PolicyFramework

Complements functional description of services with QoS behaviors.

General framework for declaratively asserting how a service may be accessed: Requirements Constraints Capabilities

WS-Policy provides a general framework in which arbitrary domain specific “assertions” are used. Security Transactions Reliable messaging

Page 25: Semantic Web Services and Processes

25

25

Policy Expressions

001 <wsp:Policy id=“…”>002 <wsp:ExactlyOne>003 <wsp:All>004 <wsse:SecurityToken>005 <wsse:TokenType>wsse:Kerberosv5TGT</wsse:TokenType>006 </wsse:SecurityToken>007 <wsse:Integrity>008 <wsse:Algorithm Type="wsse:AlgSignature“ … />009 </wsse:Integrity>010 </wsp:All>011 <wsp:All>012 <wsse:SecurityToken>013 <wsse:TokenType>wsse:X509v3</wsse:TokenType>014 </wsse:SecurityToken>015 <wsse:Integrity>016 <wsse:Algorithm Type="wsse:AlgEncryption“ …/>017 </wsse:Integrity>018 </wsp:All>019 </wsp:ExactlyOne>020 </wsp:Policy>

Page 26: Semantic Web Services and Processes

26

26

Dynamic Middleware Reconfiguration

Effective dynamic binding requires run-time adaptation of middleware configuration: J2EE focused on moving

middleware configuration away from the code developer and into the deployment phase.

SOC requires moving it further to follow runtime discovery of services:

Seamlessly adapt to policy settings of target, select among possible options, carry on basic a policy negotiation.

Page 27: Semantic Web Services and Processes

27

27

WS-Policy

Status: WS-Policy specifications published withy RF licensing terms at:http://www-106.ibm.com/developerworks/webservices/library/ws-polfram/summary.html

WS-PolicyFramework WS-PolicyAttachments

To be submitted for standardization.

Page 28: Semantic Web Services and Processes

Discovery

SOA and Web services

Page 29: Semantic Web Services and Processes

29

29

Discovery Infrastructure

Registries Requesters search for providers in third party

central directory. Provider policies are retrieved from registry. Requester interacts according to discovered

policies. Will not deal with here.

Metadata exchange Requesters and providers can exchange policies

directly, no third party involved.

Page 30: Semantic Web Services and Processes

Composition

SOA and Web services

Page 31: Semantic Web Services and Processes

31

31

Service Composition

Service composition is the core sw. development task in SOA. Applications are created by combining the basic building blocks

provided by other services. Service compositions may themselves become services,

following a model of recursive service composition. Composition assumes an interaction model between

components: P2P conversational interactions. Interactions are naturally multi-party interactions.

Many composition models are possible. We know about two: Process oriented composition – BPEL4WS Distributed composition – WSFL Global models.

Page 32: Semantic Web Services and Processes

32

32

BPEL Concepts

A BPEL process defines the structure of the interaction in terms of

participant services (partners) Characterize partnersProvide support partner conversation

business logic.DataControl flowError handling and recovery mechanism

Page 33: Semantic Web Services and Processes

33

33

Structure of a BPEL4WS Process

<process ...>

<partners> ... </partners><!-- Web services the process interacts with -->

<correlationSets> ... </correlationSets><!– Used to support asynchronous interactions -->

<variable> ... </variable><!– Data used by the process -->

<faultHandlers> ... </faultHandlers><!–Alternate execution path to deal with faulty conditions -->

<compensationHandlers> ... </compensationHandlers> <!–Code to execute when “undoing” an action --> (activities)*

<!– What the process actually does --></process>

Partner information

Business logic

Page 34: Semantic Web Services and Processes

34

34

Global Models, an Example

2-collect from customer

Cable Co.

1-send notice

3-send ultimatum

4-pay in full

5-stop collection& pay

6-notify: done

Customer

CollectionsAgency

Cable Co.

1-send notice

2-collect from customer

3-send ultimatum

5-notify&pay

6-pay in full

CollectionsAgency

Customer

Customer1-send notice

2-pay in fullCable Co.

Page 35: Semantic Web Services and Processes

Summary

SOA and Web services

Page 36: Semantic Web Services and Processes

36

36

Web Services as an Instantiation of SOA

SOA is more than “publish/find/bind”. Implies a completely business re-orientation of

computing. SOA builds on:

Standard interaction protocols. A component model, as defined by service contracts. A conversational interaction model. A set of service composition model.

Web services provide an XML based instantiation of SOA.

Page 37: Semantic Web Services and Processes

37

37Service Oriented Architectures and Web Services

End

Page 38: Semantic Web Services and Processes

38

38

Part

Page 39: Semantic Web Services and Processes

39

39

Semantic Web Processes Overview

Introduction Semantic Web Processes Life cycle Projects/initiatives

OWL-S WSMO METEOR-S

METEOR-S Front end Web services Semantic Annotation

Web services Discovery

METEOR-S Back End Semantic Process Composition

Conclusions

Page 40: Semantic Web Services and Processes

40

40

Our Focus (1)

Supporting Web Processes on multi-enterprise and Web scale require addressing heterogeneity/integration, scalability, dynamic change and performance challenges

Semantics is seen as the key enabler to address these challenges; Semantic Web Processes build upon Web Services and Semantic Web technologies

This part of tutorial is about adding semantics to Web Services, and exploiting them in Web Process Lifecycle (Specification, Discovery, Composition, Execution)

Functional perspective takes form of process composition involving Web Service Discovery, handling semantic heterogeneity [modeling data i/o, state (pre/post condition) and function]

Operational perspective takes form of the research on QoS Specification for Web Services and Processes [modeling QoS and execution behavior]

Page 41: Semantic Web Services and Processes

41

41

Semantics

Our Focus (2)

Web Processes

Web Process Composition Web Process QoS

Web Service Annotation Web Service Discovery

Web Services

Web Service QoS

Execution

Page 42: Semantic Web Services and Processes

42

42

The Basics

What are

Web Services,

Web Processes, and Semantics?

What are

Web Services,

Web Processes, and Semantics?

Page 43: Semantic Web Services and Processes

43

43

Web ProcessAn Example

t3

t6t5

t4t2

PrepareSample

Prepare Clonesand

Sequence

Get SequencesTest Quality

Assembly

t7

Sequence Processing

+

t1

Setup

t8

ProcessReport

+

Organization AOrganization B

Organization C

Web ProcessesWeb Processes

Page 44: Semantic Web Services and Processes

44

44

What are Web Processes (1)?

Web Processes are next generation workflow technology to facilitate the interaction of organizations with markets, competitors, suppliers, customers etc. supporting enterprise-level and core business activities encompass the ideas of both intra and inter organizational

workflow. created from the composition of Web services can use BPEL4WS to represent composition, but how to get

there?

Web ProcessesWeb Processes

Page 45: Semantic Web Services and Processes

45

45

Web Process Design

WS1

WS3

WS4

WS2

WS7

WS6

Web Processes Composition

WS5

WS9

Web ProcessesWeb Processes

WS8

Web services

Page 46: Semantic Web Services and Processes

46

46

Web ProcessesWorkflows DistributedWorkflows

GlobalEnterprise Inter-Enterprise

B2B E-Services

Globalization of Processes

Processes driving the Networked Economy

Page 47: Semantic Web Services and Processes

47

47

BIG Challenges

Heterogeneity and Autonomy Syntactic, semantic and pragmatic Complex rules/regulations related to B2B and e-

commerce interactions Solution: Machine processable descriptions

Dynamic nature of business interactions Demands: Efficient Discovery, Composition, etc.

Scalability (Enterprises Web) Needs: Automated service discovery/selection and

composition

Proposition: Semantics is the most important enabler to address these challenges.

Proposition: Semantics is the most important enabler to address these challenges.

Page 48: Semantic Web Services and Processes

48

48

Semantics, Ontologies, Semantic Web Processes

When Web services and other descriptions that define a Web process are semantically described, we may call such process as Semantic Web Processes.

An ontology provides semantic grounding. It includes a vocabulary of terms, and some specification of their meaning.

The goal is to create an agreed-upon vocabulary and semantic structure for exchanging information about that domain.

Temporal-Entity

Time-Point

Date Time

Time Domain

Event

Scientific-Event

Calendar-Date

{absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

{dayOftheWeek, monthOftheYear}

Acknowledement: Jorge Cardoso

Page 49: Semantic Web Services and Processes

49

49

Gen. Purpose,Broad Based

Scope of AgreementTask/ App

Domain Industry

CommonSense

Degre

e o

f Ag

reem

en

t

Info

rmal

Sem

i-Form

al

Form

al

Agreement About

Data/Info.

Function

Execution

Qos

Broad Scope of Semantic (Web) Technology

Oth

er d

ime

nsio

ns:

how

ag

reem

ents

are

re

ach

ed

,…

Current Semantic Web Focus

Semantic Web Processes

Lots of Useful

SemanticTechnology

(interoperability,Integration)

Cf: Guarino, Gruber

Page 50: Semantic Web Services and Processes

METEOR-S

Page 51: Semantic Web Services and Processes

51

51

Semantics for Web Processes

Data/Information Semantics What: (Semi-)Formal definition of data in input and output messages of a web service Why: for discovery and interoperability How: by annotating input/output data of web services using ontologies

Functional Semantics (Semi-) Formally representing capabilities of web service for discovery and composition of Web Services by annotating operations of Web Services as well as provide preconditions and effects

Execution Semantics (Semi-) Formally representing the execution or flow of a services in a process or

operations in a service for analysis (verification), validation (simulation) and execution (exception handling) of

the process models using State Machines, Petri nets, activity diagrams etc.

QoS Semantics (Semi-) Formally describing operational metrics of a web service/process (incl.

TPA/SLA) To select the most suitable service to carry out an activity in a process using QoS model [Cardoso and Sheth, 2002] and QoS ontology for web services

Page 52: Semantic Web Services and Processes

52

52

Data and Functional Ontologyan example based on Rosettanet

Functions

Data

Page 53: Semantic Web Services and Processes

53

53

QoS Ontology in METEOR-S

Page 54: Semantic Web Services and Processes

54

54

Data/ Information

Semantics

Development/ Description/ Annotation WSDL, WSEL

OWL-SWSDL-S

METEOR-S (MWSAF)

Publication/ Discovery

UDDIWSIL, OWL-SMETEOR-S

(MWSDI)Composition(Choreography?)

BPEL, BPML, WSCI, WSCL,

OWL-S, METEOR-S (MWSCF)

Execution(Orchestration?)

BPWS4J, Commercial BPEL Execution Engines,

Intalio n3, HP eFlow

Semantics for Web Process Life-Cycle

Page 55: Semantic Web Services and Processes

55

55

Data/ Information

Semantics

Publication/ Discovery

WSDL, WSELOWL-S

WSDL-SMETEOR-S (MWSAF)

UDDIWSIL, OWL-SMETEOR-S

(MWSDI)

BPWS4J, Commercial BPEL Execution Engines,

Intalio n3, HP eFlow

Development/ Description/ Annotation

Composition(Choreography?)

Execution(Orchestration?)

BPEL, BPML, WSCI, WSCL,

OWL-S, METEOR-S (MWSCF)

Semantics for Web Process Life-Cycle

Page 56: Semantic Web Services and Processes

56

56

Functional/ Operational

Semantics

Publication/ Discovery

WSDL, WSELOWL-S

WSDL-SMETEOR-S (MWSAF)

UDDIWSIL, OWL-SMETEOR-S

(MWSDI)

BPWS4J, Commercial BPEL Execution Engines,

Intalio n3, HP eFlow

Development/ Description/ Annotation

Composition(Choreography?)

Execution(Orchestration?)

BPEL, BPML, WSCI, WSCL,

OWL-S, METEOR-S (MWSCF)

Semantics for Web Process Life-Cycle

Page 57: Semantic Web Services and Processes

57

57

QoSSemantics

Publication/ Discovery

WSDL, WSELOWL-S

WSDL-SMETEOR-S (MWSAF)

UDDIWSIL, OWL-SMETEOR-S

(MWSDI)

BPWS4J, Commercial BPEL Execution Engines,

Intalio n3, HP eFlow

Development/ Description/ Annotation

Composition(Choreography?)

Execution(Orchestration?)

BPEL, BPML, WSCI, WSCL,

OWL-S, METEOR-S (MWSCF)

Semantics for Web Process Life-Cycle

Page 58: Semantic Web Services and Processes

58

58

ExecutionSemantics

Publication/ Discovery

WSDL, WSELOWL-S

WSDL-SMETEOR-S (MWSAF)

UDDIWSIL, OWL-SMETEOR-S

(MWSDI)

BPWS4J, Commercial BPEL Execution Engines,

Intalio n3, HP eFlow

Development/ Description/ Annotation

Composition(Choreography?)

Execution(Orchestration?)

BPEL, BPML, WSCI, WSCL,

OWL-S, METEOR-S (MWSCF)

Semantics for Web Process Life-Cycle

Page 59: Semantic Web Services and Processes

59

59

Publication/ Discovery

WSDL, WSELOWL-S

WSDL-SMETEOR-S (MWSAF)

UDDIWSIL, OWL-SMETEOR-S

(MWSDI)

BPWS4J, Commercial BPEL Execution Engines,

Intalio n3, HP eFlow

Semantics Required for Web Processes

ExecutionSemantics

QoSSemantics

Functional/ Operational

Semantics

Data/ Information

Semantics

Development/ Description/ Annotation

Composition(Choreography?)

Execution(Orchestration?)

BPEL, BPML, WSCI, WSCL,

OWL-S, METEOR-S (MWSCF)

Semantics for Web Process Life-Cycle

Page 60: Semantic Web Services and Processes

60

60

Semantics at Different Layers

Publication

Discovery

Description

Messaging

Network

Flow

Description Layer Why: • Unambiguously understand the functionality of the services,

the semantics of input/output data, and QoS of services

How: • Using Ontologies to semantically annotate WSDL

constructs (conforming to extensibility allowed in WSDL specification version 1.2/2.0) – WSDL-S : Incorporates all types of semantics in the

service description – Tools for (semi-)automatic semantic annotation of

Web Services (e.g., METEOR-S MWSAF)

Present scenario: • WSDL descriptions are mainly syntactic (provides

operational information and not functional information)

• Semantic matchmaking is not possible

Page 61: Semantic Web Services and Processes

61

61

WSDL-S

<?xml version="1.0" encoding="UTF-8"?><definitions

name = "BatterySupplier"targetNamespace = "http://lsdis.cs.uga.edu/meteor/BatterySupplier.wsdl20"xmlns = "http://www.w3.org/2004/03/wsdl"xmlns:tns = "http://lsdis.cs.uga.edu/BatterySupplier.wsdl20"xmlns:rosetta = " http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/pips.owl "

xmlns:mep=http://www.w3. rosetta:PurchaseOrderStatusResponse org/TR/wsdl20-patterns> <interface name = "BatterySupplierInterface" description = "Computer PowerSupply Battery Buy Quote Order Status " domain="naics:Computer and Electronic Product Manufacturing" > <operation name = "getQuote" pattern = "mep:in-out" action = "rosetta:#RequestQuote" >

<input messageLabel = ”qRequest” element = "rosetta:#QuoteRequest" /> <output messageLabel = ”quote” element = "rosetta:#QuoteConfirmation" /> </operation> <operation name = "placeOrder" pattern = "mep:in-out" action = "rosetta:#RequestPurchaseOrder" >

<input messageLabel = ”order” element = "rosetta:#PurchaseOrderRequest" /> <output messageLabel = ”orderConfirmation” element = "rosetta:#PurchaseOrderConfirmation" />

<exception element = "rosetta:#DiscountinuedItemException" /> <pre condition = " order.PurchaseOrder.PurchaseOrderLineItem.RequestedQuantity > 7" /> </operation> <operation name = "checkStatus" pattern="mep:in-out" action = "rosetta:#QueryOrderStatus" >

<input messageLabel = ”statusQuery” element = "rosetta:#PurchaseOrderStatusQuery" /> <output messageLabel = ”status” element = "rosetta:#PurchaseOrderStatusResponse" /> <exception element = "rosetta:#OrderNumberInvalidException" />

</operation> </interface></definitions>

Function from Rosetta Net

Ontology

Data from Rosetta Net

Ontology

Page 62: Semantic Web Services and Processes

62

62

Semantics at Different Layers (contd..)

Publication

Discovery

Description

Messaging

Network

Flow

Publication and Discovery Layers Why: • Enable scalable, efficient and dynamic publication and

discovery (machine processable / automation)

How: • Use federated registries categorized by domans • Publish services based on domains• Capture the WSDL-S annotations in UDDI

Present scenario:

• Suitable for simple searches ( like services offered by a provider, services that implement an interface, services that have a common technical fingerprint, etc.)

• Categories are too broad

• Automated service discovery (based on functionality) and selecting the best suited service is not possible

Page 63: Semantic Web Services and Processes

63

63

MWSDI

subDomainOf

supports

belongsTo

consistsOf

belongsToFederation

Ontology

Registry

Domain

RegistryFederation

Page 64: Semantic Web Services and Processes

64

64

Semantics at Different Layers (contd..)

Publication

Discovery

Description

Messaging

Network

Flow

Flow Layer: Why: • Design (composition), analysis (verification), validation

(simulation) and execution (exception handling) of the process models

• To employ mediator architectures for dynamic composition, control flow and data flow based on requirements

How: Using• Templates to capture semantics

(functionality/preconditions/effects/QoS) of the participating services and for the process

• Knowledge of conversation patterns supported by the service• Formal mathematical models like process algebra, concurrency

formalisms like State Machines, Petri nets etc.• Simulation techniques Present Scenario: • Composition of Web services is static• Dynamic service discovery, run-time binding, analysis and

simulation are not directly supported

Page 65: Semantic Web Services and Processes

65

65

Using Colored Petri nets

Page 66: Semantic Web Services and Processes

66

66

Semantic Web Processes and Services (METEOR-S)

Service Advertisements (WSDL-S) Functional Aspects (IOPE’s) Non functional Aspects (QoS ontology) Interaction Protocol (State Machine / Colored Petri nets) Semi-automatic annotation of WSDL

Discovery of services (MWSDI) Subsumption based discovery Peer to peer network of UDDI Registries

Composition (METEOR-S ) Design time binding to BPEL along with optimization

Page 67: Semantic Web Services and Processes

67

67

Semantics in METEOR-S and WS stack

Publication

Discovery

Description

Messaging

Network

Flow

MWSDI: Scalable Infrastructure of Registries for Semantic publication and discovery of Web Services

MWSAF: Semantic Annotation of WSDL (WSDL-S)

MWSCF: Semantic Web Process Composition Framework

METEOR-S at the LSDIS Lab exploits Workflow, Semantic Web, Web Services, and Simulation technologies to meet these challenges in a practical and

standards based approach

http://swp.semanticweb.org, http://lsdis.cs.uga.edu/proj/meteor/swp.htm

Page 68: Semantic Web Services and Processes

68

68

METEOR-S Architecture

Front-End

Back-End

Page 69: Semantic Web Services and Processes

METEOR-S Web Service Annotation Framework

Page 70: Semantic Web Services and Processes

70

70

MWSAF- METEOR-S Web Service Annotation Framework

Name

Year

Date

Duration

City

Outputs

Interfaces

Inputs

Area

Coordinates

City Forrest

XML Schema Data type hierarchy

Temporal-Entity

TimeInterval

Time-Point

Date Time

TimeDomain

Event

Scientific-Event

Calendar-Date

{absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

{dayOftheWeek, monthOftheYear}

= Time - Ontology

= Local ontology

{name}

{x, y}

Get ConferenceInformation

Ontologies

Web Service

QoS OntologyQoS Ontology

<xsd:complexType name=“Date"><xsd:sequence>  <xsd:element name=“year" type="xsd:integer" />   <xsd:element name=“month" type="xsd:integer" />   <xsd:element name=“day" type="xsd:byte" /> </xsd:sequence></xsd:complexType>

<portType name=“ConferenceInformation"><operation name="getInformation">  <input message="tns:Data" />   <output message="tns:ConferenceInformation" /> </operation>

Conference Information Functions

Information Function

Get Information Get Date

Data Semantics

FunctionalSemantics

WSDL

WSDL

QoSSemantics

Min

Quality

Page 71: Semantic Web Services and Processes

71

71

Matching Issues (WSDL and Ontologies)

Expressiveness Different reasons behind their development

XML Schema used in WSDL for providing basic structure to data exchanged by Web services

Ontologies are developed to capture real world knowledge and domain theory

Knowledge captured XML Schema has minimal containment relationship Language used to describe ontologies model real world entities as

classes, their properties and provides named relationships between them

Solution Use hueristics to create normalized

representation We call it SchemaGraph

Page 72: Semantic Web Services and Processes

72

72

Normalization – SchemaGraph

What is SchemaGraph ? Normalized representation to capture XML Schema and DAML

Ontology

How to use SchemaGraph Conversion functions convert both XML Schema and Ontology to

SchemaGraph representation

XML schema used by WSDL → W = {wc1, wc2, wc3, …, wcn} where, wci is an element in XML schema and n is the number of elements

Ontology → O = {oc1, oc2, oc3, …, ocm} where, oci is a concept in Ontology and m is the number of concepts

Match function takes both W and O and returns a set of mappings

Page 73: Semantic Web Services and Processes

73

73MWSAF – XML Schema to SchemaGraph

Rule XML Schema constructs SchemaGraph representation

1 Element, Node

2 simpleType Node

3 Enumeration values defined for simpleType S

Node with edge between simpleType S node and value node with name “hasValue”

4 ComplexType Node

5 Sub-elements of complexType C which have range as basic XML datatypes

Node with edge between complexType C node and this node with name “hasElement”

6 Sub-elements of complexType C which have range as complexTypes or simpleTypes or elements defined in same schema

Edge between complexType C node and the range type node

Page 74: Semantic Web Services and Processes

74

74MWSAF – XML Schema to SchemaGraph

- <xsd:complexType name="WeatherReport">- <xsd:sequence>  <xsd:element name="phenomena" type="xsd1:Phenomenon" />   <xsd:element name="wind" type="xsd1:Wind" />   </xsd:sequence>  </xsd:complexType>- <xsd:complexType name="Phenomenon">- <xsd:sequence>  <xsd:element name="type" type="xsd1:PhenomenonType" />   <xsd:element name=“intensity" type="xsd1:PhenomenonIntensity" />   </xsd:sequence>  </xsd:complexType>- <xsd:complexType name="Wind">- <xsd:sequence>  <xsd:element name="gust_speed" type="xsd:double" />   <xsd:element name="prevailing_direction" type="xsd1:Direction" />   </xsd:sequence>  </xsd:complexType>- <xsd:simpleType name="PhenomenonType">- <xsd:restriction base="xsd:string">  <xsd:enumeration value="MIST" />   <xsd:enumeration value="FOG" />   <xsd:enumeration value=“SNOW" />   <xsd:enumeration value="DUST" />   </xsd:restriction>  </xsd:simpleType>

WeatherReport

WindPhenomenon

Directiongust_speedPhenomenonType

PhenomenonIntensity

MIST FOG SNOW DUST

phenomenawind

prevailing_directionhasElement

intensity

type

oneOf oneOf

oneOfoneOf

Rule 3

Rule 1 simpletype => Node

Rule 1complextype => Node

Rule 6

Rule 5

Rule 1Element => Node

Page 75: Semantic Web Services and Processes

75

75MWSAF - Ontology to SchemaGraph

Rule Ontology representation SchemaGraph representation

1 Class Node

2 Property of class D with basic datatype as range (Attribute)

Node with edge joining it to class D node with name “hasProperty”

3 Property of class D with other class R as range (Relation)

Edge between class D node and range class R node

4 Instance of class C Node with edge joining class C node to instance node with name “hasInstance”

5 Class(X)-subclass(Y) relationship Edge between class X node and class Y node with name “hasSubclass”

Page 76: Semantic Web Services and Processes

76

76MWSAF - Ontology to SchemaGraph

- <daml:Class rdf:ID="WeatherPhenomenon">  <rdfs:comment>Superclass for all weather events</rdfs:comment>   <rdfs:label>Weather event</rdfs:label>   </daml:Class>- <daml:Class rdf:ID="WindEvent">  <rdfs:subClassOf rdf:resource="#WeatherPhenomenon" />   </daml:Class>- <daml:Property rdf:ID="windDirection">  <rdfs:domain rdf:resource="#WindEvent" />   </daml:Property>- <daml:Class rdf:ID="GustingWindEvent">  <rdfs:subClassOf rdf:resource="#WindEvent" />   </daml:Class>- <daml:Class rdf:ID="CurrentWeatherPhenomenon">  <rdfs:subClassOf rdf:resource="#WeatherPhenomenon" />   </daml:Class>- <daml:Class rdf:ID="OtherWeatherPhenomena">  <rdfs:subClassOf rdf:resource="#CurrentWeatherPhenomenon" />   </daml:Class> - <daml:Class rdf:ID="Duststorm">  <rdfs:subClassOf rdf:resource="#OtherWeatherPhenomena" />   </daml:Class>- <daml:Class rdf:ID="PrecipitationEvent">  <rdfs:subClassOf rdf:resource="#CurrentWeatherPhenomenon" />   </daml:Class>- <daml:Class rdf:ID="SolidPrecipitationEvent">  <rdfs:subClassOf rdf:resource="#PrecipitationEvent" />   </daml:Class>- <daml:Class rdf:ID="Snow">  <rdfs:subClassOf rdf:resource="#SolidPrecipitationEvent" />   </daml:Class>- <daml:Class rdf:ID="ObscurationEvent">  <rdfs:subClassOf rdf:resource="#CurrentWeatherPhenomenon" />   </daml:Class>- <daml:Class rdf:ID="Fog">  <rdfs:subClassOf rdf:resource="#ObscurationEvent" />   </daml:Class>- <daml:Class rdf:ID="Mist">  <rdfs:subClassOf rdf:resource="#ObscurationEvent" />   </daml:Class>

WeatherPhenomenon

CurrentWeatherPhenomenon

WindEvent

GustingWindEvent

windDirection

ObsucurationEvent

PrecipitationEvent

OtherWeatherPhenomenon

Duststorm

Snow Mist Fog

SolidPrecipitationEvent

Rule 1

Rule 2Rule 5

Page 77: Semantic Web Services and Processes

Proposed Standard WSDL-S

Page 78: Semantic Web Services and Processes

78

78

WSDL-S Metamodel

Page 79: Semantic Web Services and Processes

79

79

WSDL-S

<?xml version="1.0" encoding="UTF-8"?><definitions

name = "BatterySupplier"targetNamespace = "http://lsdis.cs.uga.edu/meteor/BatterySupplier.wsdl20"xmlns = "http://www.w3.org/2004/03/wsdl"xmlns:tns = "http://lsdis.cs.uga.edu/BatterySupplier.wsdl20"xmlns:rosetta = " http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/pips.owl "

xmlns:mep=http://www.w3. rosetta:PurchaseOrderStatusResponse org/TR/wsdl20-patterns> <interface name = "BatterySupplierInterface" description = "Computer PowerSupply Battery Buy Quote Order Status " domain="naics:Computer and Electronic Product Manufacturing" > <operation name = "getQuote" pattern = "mep:in-out" action = "rosetta:#RequestQuote" >

<input messageLabel = ”qRequest” element = "rosetta:#QuoteRequest" /> <output messageLabel = ”quote” element = "rosetta:#QuoteConfirmation" /> </operation> <operation name = "placeOrder" pattern = "mep:in-out" action = "rosetta:#RequestPurchaseOrder" >

<input messageLabel = ”order” element = "rosetta:#PurchaseOrderRequest" /> <output messageLabel = ”orderConfirmation” element = "rosetta:#PurchaseOrderConfirmation" />

<exception element = "rosetta:#DiscountinuedItemException" /> <pre condition = " order.PurchaseOrder.PurchaseOrderLineItem.RequestedQuantity > 7" /> </operation> <operation name = "checkStatus" pattern="mep:in-out" action = "rosetta:#QueryOrderStatus" >

<input messageLabel = ”statusQuery” element = "rosetta:#PurchaseOrderStatusQuery" /> <output messageLabel = ”status” element = "rosetta:#PurchaseOrderStatusResponse" /> <exception element = "rosetta:#OrderNumberInvalidException" />

</operation> </interface></definitions>

Function from Rosetta Net

Ontology

Data from Rosetta Net

Ontology

Page 80: Semantic Web Services and Processes

Semantic Web Service Discovery in METEOR-S

METEOR-S Web Service Discovery Infrastructure

Page 81: Semantic Web Services and Processes

81

81

Discovery New Requirements

A

C D

N1 N2 FE

B8

A1A4 A1 A2

A4

B3

A1A4 A6

A2A2

A5

Before

A

C D

N1 N2 FE

A4 A1A1

A4 A1 A4 A1 A2A1 A1A1 A1B3 A1

B3

A1

A2A1

B3

A1A4 A1 A2

A1B3

A1A4 A1 A2

A1

B3

A1

A1

B3

A1A4 A1 A2

A1

B3

A1A4 A2

A1

B3 A1A4 A1 A2

B3 A1A1

B3

A1A4 A1 A2

A1

B3

A1A4 A1

A2A1

B3 A1A4 A1 A2

A1B3

A1A4 A1 A2

A1

A1A4 A1

A1A4 A1 A2B3

A1A4

A1A2A1

B3

A1

A4A1 A2

A1

B3

A1A4 A1 A2

B3A1

A4 A1 A2A1

B3

A1A4 A1 A2

A1B3

A1A4 A1 A2

A1

A4

A4

A1

A4 A1

A1 A4 A1 A2

B3

A1A4 A1

A2

A1

B3

A1

A4

A1

A2B3

A1

A4 A1 A2A1

A4

A1

A4 A1

A1A4 A1 A2

A1

A1

A4 A1 A2A1

A1A4

A1

B3A1

A1A1

B3

A1A4 A1 A2

A1B3

A1A4 A1 A2

A1

A1 A2

A1

A4 A2A4 A2A2

A1

A1

B3

A1A4 A1 A2

A1

Now

QoS

QoS

Tasks

Workflow

Web Services

Web Process

Web ServiceDiscovery

Web ServiceDiscovery

Page 82: Semantic Web Services and Processes

82

82

Present Discovery MechanismKeyword and attribute-based search

UDDI :Keyword and attribute-based search Example: “Quote”

Microsoft UBR returned 12 services Human reading of description (Natural Language) help me

understand: 6 Entries are to get Famous Quotes 1 Entry for personal auto and homeowners quoting 1 Entry for multiple supplier quotes on all building materials

Categorization suggested for UDDI is useful but inadequate (what does the WS do?) :

1 Entry for Automobile Manufacturing 1 Entry for Insurance agents, brokers, & service

Alternatively read and try to understand WSDL 1 Entry related to security details (Human Understanding) 1 Test Web service for Quotes (which quote?)

Web ServiceDiscovery

Web ServiceDiscovery

Page 83: Semantic Web Services and Processes

83

83

Semantic Discovery: Overview

Annotation and Publication WSDL file is annotated using ontologies and the annotations

are captured in UDDI

Discovery Requirements are captured as templates that are

constructed using ontologies and semantic matching is done against UDDI entries

Functionality of the template, its inputs, outputs, preconditions and effects are represented using ontologies

Use of ontologies brings service provider and service requestor to a common

conceptual space helps in semantic matching of requirements and

specifications

Page 84: Semantic Web Services and Processes

84

84

Discovery in Semantic Web Using Semantics

Functionality: What capabilities the requestor expects from the service (Functional semantics)

Inputs: What the requestor can give to the to the Web service (Data semantics)

Outputs: What the requestor expects as outputs from the service (Data semantics)

QoS: Quality of Service the distributor expects from the service (QoS semantics)

Web ServiceDiscovery

Web ServiceDiscovery

(Functional semantics)(Data semantics)(QoS semantics)(Syntactic description)

Description: Natural language description of the service functionality (Syntactic description)

Page 85: Semantic Web Services and Processes

85

85

The Web service discovery and integration process is carried out by a key operation:

The match function.

The matching step is dedicated to finding correspondences between a service template (ST, i.e., a query) and a service advertisement (SO).

DiscoveryThe Match Function

Page 86: Semantic Web Services and Processes

86

86

The Match Function

HotelReservation

HotelReservation

TravelReservation

Get UserInformationGet User

Information

Get ConferenceInformation

Get ConferenceInformation

Conference

Employee ID

DateDuration

City

DateDuration

City

User NameAddress

User NameAddress

ItineraryItinerary

Conference RegistryService

Hotel Reservation Service

?

A BStart End

SA2SA2

SA3SA3

0.990.34 0.74

Match FunctionSA1SA10.14

0.980.68

0.430.31

0.76

ST

f(ST, SA1) f(ST, SA2) f(ST, SA3)

ST

Web Process

Page 87: Semantic Web Services and Processes

87

87

Syntactic, QoS, and Semantic (Functional & Data) Similarity

Name,Description,

….

Name,Description,

….

Name,Description,

Name,Description,

XY

ABC

Web Service Web Service

Similarity ?

A2A2A1A1Calendar-Date

Event

Similarity ?

Web Service Web Service

Functional & Data Similarity

Functional & Data Similarity

]1..0[, and

],1..0[).,.().,.(

),(

21

21

21

sdSOsdSTSynDSsnSOsnSTSynNS

SOSTtySynSimilar

3 ),,(QoSdimD*),,(QoSdimD*),,(QoSdimD

),ty(OpSimilari

yreliabilitSOSTcostSOSTtimeSOST

SOST

SyntacticSimilaritySyntacticSimilarity

PurchasePurchaseBuyBuy

XY

ABC

QoS QoS

Web Service Web Service

Similarity ?

QoSSimilarity

QoSSimilarity

Web ServiceDiscovery

Web ServiceDiscovery

Area

Coordinates

Forrest

{name}

{x, y}

Information Function

Get Information Get Date

Page 88: Semantic Web Services and Processes

88

88

The Match FunctionSemantic Similarity

Purely syntactical methods that treat terms in isolation from their contexts. It is insufficient since they deal with syntactic but not with

semantic correspondences Users may express the same concept in different ways.

Therefore, we rely on semantic information to evaluate the similarity of concepts that define ST and SA interfaces.

This evaluation will be used to calculate their degree of integration.

Page 89: Semantic Web Services and Processes

89

89

The Match FunctionSemantic Similarity

When comparing service templates with service advertisements, the following cases should be considered to be good

1. The input and output concepts are the same (ST(I) == SA(I) & ST(O) == SA )

2. The concept ST(I) subsumes concept ST(O) (O>I)

3. c) the concept O subsumes concept I (O<I), or 4. d) concept O is not directly related to concept I

(OI).

Page 90: Semantic Web Services and Processes

90

90

The Match FunctionSemantic Similarity

When comparing service templates with service advertisements, the following cases should be considered to be exact matches

1. The input and output concepts of service template and advertisement are the same (ST(I) = SA(I) and ST(O) = SA(O) )

2. The concept SA(I) subsumes concept ST(I). That is, requestor provides more information than the service needs SA(I) > ST(I)

3. The concept ST(O) subsumes concept SA(O). That is, the service provides more information than the requestor needs ST(O) > SA(O)

Otherwise, number of similar properties are used as a measure of similarity

Page 91: Semantic Web Services and Processes

91

91

The Match FunctionSemantic Similarity ((O) = (I))

Temporal-Entity

TimeInterval

Time-Point

Date Time

TimeDomain

Event

Scientific-Event

Calendar-Date

{absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

{dayOftheWeek, monthOftheYear}

Temporal-Entity

TimeInterval

Time-Point

Date Time

TimeDomain

Event

Scientific-Event

Calendar-Date

{absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

{dayOftheWeek, monthOftheYear}

a)

b)

c)

d)

ST1,2 (output) SO1,2,3,4 (input)

Time ontology Time ontology

1

2

1

2

3 4

A2A2A1A1Calendar-Date

Event

Similarity ?

Web Service Web Service

Acknowledement: Jorge Cardoso

Page 92: Semantic Web Services and Processes

92

92

The Match Function

Temporal-Entity

TimeInterval

Time-Point

Date Time

TimeDomain

Event

Scientific-Event

Calendar-Date

{absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

{dayOftheWeek, monthOftheYear}

Temporal-Entity

TimeInterval

Time-Point

Date Time

TimeDomain

Event

Scientific-Event

Calendar-Date

{absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

{dayOftheWeek, monthOftheYear}

a)

b)

c)

d)

ST1,2 (output) SO1,2,3,4 (input)

Time ontology Time ontology

1

2

1

2

3 4

SA2SA2

STSTDate Event

Date

Service Template

ServiceAdvertisement

Event

SA1SA1Date

ServiceAdvertisement

Scientific-Event

Acknowledement: Jorge Cardoso

Page 93: Semantic Web Services and Processes

93

93

The Match FunctionSemantic Similarity ((O) = (I))

A?A?A1A1

Date

Date

…Similarity ?

Web Service Web Service

Temporal-Entity

Time-Point

Date Time

TimeDomain

Event

Scientific-Event

Calendar-Date

{ absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

dayOftheWeek, monthOftheYear}

Temporal-Entity

Time-Point

Date Time

TimeDomain

Event

Scientific-Event

Calendar-Date

{ absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

{ dayOftheWeek, monthOftheYear}

1

2

1

2

3 4

IOIOSimilarity

IOIp

OpIO

IO

IOSemS

),,('

,|)(|

|)(|,1

,1

),('

IOIOSimilarity

IOIp

OpIO

IO

IOSemS

),,('

,|)(|

|)(|,1

,1

),('

New

100 %100 %

Acknowledement: Jorge Cardoso

Page 94: Semantic Web Services and Processes

94

94

The Match Function(ST(I) = SA(I) and ST(O) = SA(I))

Temporal-Entity

Time-Point

Date Time

TimeDomain

Event

Scientific-Event

Calendar-Date

{ absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

dayOftheWeek, monthOftheYear}

Temporal-Entity

Time-Point

Date Time

TimeDomain

Event

Scientific-Event

Calendar-Date

{ absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

{ dayOftheWeek, monthOftheYear}

1

2

1

2

3 4

STSTDate Event

Service Template

SA1SA1Date

Service Advertisement

Event

Acknowledement: Jorge Cardoso

Page 95: Semantic Web Services and Processes

95

95

The Match Function(SA(I) > ST(I) and ST(O) = SA(I))

Temporal-Entity

Time-Point

Date Time

TimeDomain

Event

Scientific-Event

Calendar-Date

{ absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

dayOftheWeek, monthOftheYear}

Temporal-Entity

Time-Point

Date Time

TimeDomain

Event

Scientific-Event

Calendar-Date

{ absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

{ dayOftheWeek, monthOftheYear}

1

2

1

2

3 4

STST DateEvent

Service Template

SA1SA1Calendar-Date

Service Advertisement

Event

Acknowledement: Jorge Cardoso

Page 96: Semantic Web Services and Processes

96

96

The Match Function(ST(I) = SA(I) and ST(O) > SA(O))

Temporal-Entity

Time-Point

Date Time

TimeDomain

Event

Scientific-Event

Calendar-Date

{ absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

dayOftheWeek, monthOftheYear}

Temporal-Entity

Time-Point

Date Time

TimeDomain

Event

Scientific-Event

Calendar-Date

{ absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

{ dayOftheWeek, monthOftheYear}

1

2

1

2

3 4

STSTDate Event

Service Template

SA1SA1Date

Service Advertisement

Scientific-Event

Acknowledement: Jorge Cardoso

Page 97: Semantic Web Services and Processes

97

97

The Match FunctionSemantic Similarity ((O) = (I))

Temporal-Entity

Time-Point

Date Time

TimeDomain

Event

Scientific-Event

Calendar-Date

{ absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

dayOftheWeek, monthOftheYear}

Temporal-Entity

Time-Point

Date Time

TimeDomain

Event

Scientific-Event

Calendar-Date

{ absolute_time}

{hour, minute, second}

{millisecond}

{year, month, day}

{ dayOftheWeek, monthOftheYear}

1

2

1

2

3 4

IOIOSimilarity

IOIp

OpIO

IO

IOSemS

),,('

,|)(|

|)(|,1

,1

),('

IOIOSimilarity

IOIp

OpIO

IO

IOSemS

),,('

,|)(|

|)(|,1

,1

),('

4/9*4/7=0.504 => 50% 4/9*4/7=0.504 => 50%

|)(|

|)()(|*

|)()(|

|)()(|),('

Ip

IpOp

IpOp

IpOpIOsimilarity

STSTDate Event

Service Template

SA1SA1Event

Service Advertisement

Scientific-Event

Acknowledement: Jorge Cardoso

Page 98: Semantic Web Services and Processes

98

98

Use of ontologies enables shared understanding between the service provider and service requestor

Semantic Publication and Discovery

WSDL

<Operation>

<Input1>

<Output1>

Service Template

Operation:buyTicket

Input1:TravelDetails

Output1:Confirmation

Annotations

Publish

Search

UDDI

Class

TravelServices

Class

DataClass

Operations

subClassOf subClassOf

subClassOfsubClassOf subClassOf subClassOf

ClassTicket

Information

ClassTicket

Booking

ClassTicket

Cancellation

ClassConfirmation

Message

Operation:cancelTicket

Input1:TravelDetails

Output1:Confirmation

For simplicity of depicting, the ontology is shown with classes for both operation and dataAdding Semantics to Web Services Standards

Page 99: Semantic Web Services and Processes

99

99

METEOR-S Web Service Discovery Infrastructure (MWSDI)

METEOR-S1 is a project which deals with all stages of Semantic Web Processes

Our approach involves using the current industry standards infrastructure to add semantics

MWSDI deals with adding semantics to UDDI registries

Provides transparent access to UDDI registries based on their domain or federation

1 http://lsdis.cs.uga.edu/Projects/METEOR-S

Page 100: Semantic Web Services and Processes

100

100

Extended Registries Ontologies (XTRO)

Provides a multi-faceted view of all registries in MWSDI Federations Domains Registries

subDomainOf

supports

belongsTo

consistsOf

belongsToFederation

Ontology

Registry

Domain

RegistryFederation

Page 101: Semantic Web Services and Processes

101

101

Types of Queries Supported

What is the access URL, available data model or type of the registry R?

Does the registry R support the ontology O? Which are the registries available under the business domain B? Is the registry X a member of the registry federation Y? Which registries pertain to the domains that support the

ontologies O1 and O2? Get all the registry federations that belong to the domain D? Find all the registries that are categorized under the node N in

the taxonomy (or ontology) C?

Page 102: Semantic Web Services and Processes

Semantic Web Service Composition in METEOR-S

METEOR-S Web Service Composition Framework

Page 103: Semantic Web Services and Processes

103

103

Semantic Process Composition

Composition is the task of combining and linking existing Web Services and other components to

create new processes.

Types of Composition Static Composition - services to be composed are

decided at design time Dynamic Composition - services to be composed are

decided at run-time

Web Process Composition

Web Process Composition

SCET, Semantic Web Process Composition

Page 104: Semantic Web Services and Processes

104

104

Level of dynamism

Predefined flows Static binding (BPEL4WS) Dynamic Binding (MWSCF) Demo today

Adaptive flows (METEOR) Automatic composition

Planning Hierarchical Decomposition [SHOP2]

[SHOP2] Dan Wu, Bijan Parsia, Evren Sirin, James endler, and Dana Nau. Automating DAML-S web services composition using SHOP2, [SHOP2] Dan Wu, Bijan Parsia, Evren Sirin, James endler, and Dana Nau. Automating DAML-S web services composition using SHOP2,

(ISWC, 2003)(ISWC, 2003)

Page 105: Semantic Web Services and Processes

105

105

Predefined flows

Static binding (supported by BPEL4WS) Choose service at design time

ClientManufacturer

Supplier 2

Supplier 1

Manufacturer tightly coupled with suppliers

Page 106: Semantic Web Services and Processes

106

106

Predefined flows

Dynamic binding Choose new services at runtime

ClientManufacturer

Faster Delivery

Preferred SupplierCheape

rSupplier

Dynamically choose best supplier at runtime

Page 107: Semantic Web Services and Processes

107

107

Constraint Based Process Composition

User defines High level goals Abstract BPEL process (control flow without

actual service bindings ) Process constraints on QoS parameters

Generic parameters like time, cost, reliability Domain specific parameters like supplyTime

Business constraints captured in ontologies or databases E.g preferred suppliers, domain constraints

Page 108: Semantic Web Services and Processes

108

108

Supply Chain – QoS Based

Page 109: Semantic Web Services and Processes

109

109

tij

pj

(a) (b)

ti tj

Graph Reduction Technique

Graph Reduction Technique

QoS Computation

Reduction of a Sequential System

QoSQoS

Page 110: Semantic Web Services and Processes

110

110

tbta*

(a) (b)

*tbta t1n

pa1p1b

pnb

p2b

pan

pa2p1n pb

t1

t2

tn

Graph Reduction Technique

Graph Reduction Technique

Reduction of a Parallel System

QoS Computation QoSQoS

Page 111: Semantic Web Services and Processes

111

111

Web ServicesInterfaces

To enhance the integration, Web services need to have their inputs and outputs associated with ontological concepts (annotation).

This will facilitate the resolution of structural and semantic heterogeneities

Compute the optimal matching (Bondy and Murty, 1976) using semantic information (Cardoso and Sheth, 2002)

Web Process Composition

Web Process Composition

Bipartite graph. Each edge has a weight (semantic similarity).

A

B

C D

X Z FYb(O, I)b(O, I)

X ZY

A

B

C

M

N T

U

R

S P

B

C D

FA

Page 112: Semantic Web Services and Processes

112

112

Constraint Representation – Business Constraints

Fact OWL expression

Supplier1 is an instance of network adaptor supplier

Supplier1 supplies #Type1Supplier1 is a preferred supplier.

<NetworkAdaptorSupplier rdf:ID="Supplier1"><supplies rdf:resource="#Type1"/><supplierStatus>preferred</supplierStatus></NetworkAdaptorSupplier>

Type1 is an instance of NetworkAdaptor

Type1 works with Type1Battery

<NetworkAdaptor rdf:ID="Type1"> <worksWith><Battery rdf:ID="Type1Battery"></worksWith></ NetworkAdaptor >

Page 113: Semantic Web Services and Processes

113

113

Constraint Representation – Process Constraints

Feature Goal Value Unit Aggregation

Cost Optimize Dollars Σ

supplytime Satisfy < 7 Days MIN

partnerStatus Optimize MIN

Page 114: Semantic Web Services and Processes

114

114

Service Template Representation

Feature Weight Constraint

L(ST) 1 Georgia

D(ST) 1 Battery Supplier

Fc(ST,o) 1 #OrderBattery

I(ST,o) .8 #PurchaseOrderRequest

O(ST,o) 1 #PurchaseOrderConfirmation

R(ST,o) 1 > 0.9

A(ST,o) .7 >0.8

Page 115: Semantic Web Services and Processes

115

115

System Interaction

Convert abstract BPEL + STs to METEOR-S Workflow model

Get Candidate Services from UDDI Generate optimization code from process

constraints and QoS aggregation Run Integer Linear Progamming Solver on

the constraints Bind optimal set of services to BPEL

Page 116: Semantic Web Services and Processes

116

116

Other METEOR-S Modules and Demo

Add transactional support to BPEL State machine based verification of BPEL Source code annotation tool Demo

Page 117: Semantic Web Services and Processes

117

117

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

Page 118: Semantic Web Services and Processes

118

118

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

Page 119: Semantic Web Services and Processes

119

119

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

Page 120: Semantic Web Services and Processes

120

120

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.

Page 121: Semantic Web Services and Processes

121

121

Semantic Web Services (WSMO)Example of using mediators

Page 122: Semantic Web Services and Processes

122

122

OWL-S

OWL-S Formerly OWL-S Set of markup language constructs for describing

the properties and capabilities of their Web services in unambiguous, computer-intepretable form

Page 123: Semantic Web Services and Processes

123

123

Semantic Web Services (OWL-S)

OWL-S (formerly DAML-S) provides support for the following:

Service Advertisements (OWL-S Upper ontology) Functional Aspects (IOPE’s) Non functional Aspects ( Geog Rad., Quality Rating etc.) Interaction Protocol using process model

Discovery of services (OWL-S Matchmaker) Subsumption based discovery

Composition (OWL-S process model) Support for hierarchical planning (e.g. SHOP2)

Invocation (OWL-S VM )

Page 124: Semantic Web Services and Processes

124

124

OWL-SOntologies

OWL-S defines ontologies for the construction of service models: Service Profiles Process Models Service Grounding

ServiceServiceResourceResource

ServiceProfileServiceProfile ServiceModelServiceModel ServiceGrounding

ServiceGrounding

provides

described by

presents supports

what theservice does

how theservice works

how to accessthe service

Page 125: Semantic Web Services and Processes

125

125

OWL-SService Profile

The Service Profile provides details about a service.

Web Service

Client

Local

Receipt

Itinerary

Tourism

Preconditions. Set of conditions that should hold prior

to the service being invoked.

Inputs. Inputs that should be provided to

invoke the service.

Inputs. Inputs that should be provided to

invoke the service.

Outputs. Outputs expected after the interaction with the service.

Outputs. Outputs expected after the interaction with the service.

Effects. Set of statements that should hold true if the service is

invoked successfully.

Page 126: Semantic Web Services and Processes

126

126

Service Profile An example of Inputs and Outputs

...

<!ENTITY temporal "http://ovid.cs.uga.edu:8080/scube/daml/Temporal.daml">

<!ENTITY address "http://ovid.cs.uga.edu:8080/scube/daml/Address.daml">

...

<input>

<profile:ParameterDescription rdf:ID="Addr">

<profile:parameterName> Addr </profile:parameterName>

<profile:restrictedTo rdf:resource="&address;#Address"/>

<profile:refersTo rdf:resource="&congo;#congoBuyReceipt"/>

</profile:ParameterDescription>

</input>

...

<output>

<profile:ParameterDescription rdf:ID="When">

<profile:parameterName> When </profile:parameterName>

<profile:restrictedTo rdf:resource="&temporal;#Date"/>

<profile:refersTo rdf:resource="&congo;#congoBuyReceipt"/>

</profile:ParameterDescription>

< output >

...

Addr

,,,

When

...

...

OutputsInputs

Page 127: Semantic Web Services and Processes

127

127

References – Partial List

[WSMO] www.wsmo.org [OWL-S] www.daml.org/services/owl-s/ [METEOR-S] lsdis.cs.uga.edu/Projects/METEOR-S [Aggarwal et al., 2004] Constraint Based Web Service Composition [Cardoso et al., 2004] Semantic e-Service Composition [Sivashanmugam et al., 2003] Adding Semantics to Web Services Standards [Sivashanmugam et al., 2004] Framework for Semantic Web Process

Composition Sivashanmugam et al., 2004] Discovery of Web Services in a Federated

Registries Environment [Verma et al. 2004] MWSDI: A Scalable Infrastructure of Registries for Semantic

Publication and Discovery of Web Services [Verma et al. 2004] Accommodating Inter-Service Dependencies in Web

Process Flow Composition

Page 128: Semantic Web Services and Processes

128

128

Ongoing Projects

SWSI SWSA Semantic Web Services Architecture SWSL Semantic Web Services Language

WonderWeb: http://wonderweb.man.ac.uk/ Development of a framework of techniques and

methodologies that provide an engineering approach to the building and use of ontologies.

Development of a set of foundational ontologies covering a wide range of application domains.

Development of infrastructures and tool support that will be required by real world applications in the Semantic Web.

Page 129: Semantic Web Services and Processes

129

129

Ongoing Projects

OWL-S: http://www.daml.org/services/ Set of ontologies to describe functionalties of web services

OWL-S Matchmaker: http://www-2.cs.cmu.edu/%7Esoftagents/daml_Mmaker/OWL-S_matchmaker.htm Match service requestors with service providers Semantic Matchmaking for Web Services Discovery

Web Service Composer: http://www.mindswap.org/~evren/composer/ Semi-automatic process for the dynamic composition of web

services Web Services:

http://www-106.ibm.com/developerworks/webservices/ WSDL, UDDI, SOAP Business Process with BPEL4WS

Page 130: Semantic Web Services and Processes

130

130

Conclusions

Page 131: Semantic Web Services and Processes

131

131

Conclusions

SOA, Web processes, and Semantic Web processes Semantics can help address big challenges related to scalability,

dynamic environments. But comprehensive approach to semantics will be needed:

Data/information, function/operation, execution, QoS Semantic (Web) principles and technology bring new tools and

capabilities that we did not have in EAI, workflow management of the past

SWP Semantics: Data, Function, QoS, Execution Affects full Web Service/Process lifecycle: Annotation, Publication,

Discovery, Composition, Binding, Execution

More at: http://lsdis.cs.uga.edu/proj/meteor/SWP.htm

Page 132: Semantic Web Services and Processes

132

132

Semantic Web Processes

Questions?

Page 133: Semantic Web Services and Processes

133

133

References

Resources: http://lsdis.cs.uga.edu/lib/presentations/SWSP-tutorial-resource.htm [Kreger] http://www-3.ibm.com/software/solutions/webservices/pdf/WSCA.pdf [Sivashanmugam et al.-1] Adding Semantics to Web Services Standards [Sivashanmugam et al.-2] Framework for Semantic Web Process Composition [Verma et al.] MWSDI: A Scalable Infrastructure of Registries for Semantic

Publication and Discovery of Web Services [Chandrasekaran et al.] Performance Analysis and Simulation of Composite

Web Services [Cardoso et al.] Modeling Quality of Service for Workflows and Web Service

Processes [Silver et al.] Modeling and Simulation of Quality of Service for Composition of

Web Services [Paolucci et al.] Importing Semantic Web in UDDI [UDDI-v3] http://uddi.org/pubs/uddi-v3.00-published-20020719.htm http://www.daml.org/services/ http://www-106.ibm.com/developerworks/webservices/library/ws-bpel/

More at: http://lsdis.cs.uga.edu/SWP.htm

Extensive related work at: IBM, Karlsruhe, U. Manchester, OWL-S (CMU, Stanford, UMD)

Page 134: Semantic Web Services and Processes

134

134

SOA andSemantic Web Processes

End