ICWS-tutorial-2004.ppt

advertisement
Service Oriented
Architectures and Semantic
Web Processes
Francisco Curbera1, Amit Sheth2,3, Kunal Verma2
1IBM T.J. Watson Research Center (USA)
2LSDIS Lab, University of Georgia
3Semagix, Inc (USA)
2
Service Oriented Architectures
and Web Services
Semantic Web Services and
Processes
2
3
Semantic Web Processes
Part
3
Service Oriented
Architectures and Web
Services
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.
5
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.
6
7
Enterprises as IT Islands
Value added networks
and proprietary protocols
support most B2B
interactions
Ad-hoc bridges support
interorganizational
interactions.
Most application
interactions take place
inside the enterprise.
Most applications belong
to a single administrative
domain.
7
8
Fully Networked Enterprises
Web based interactions
become pervasive, based
on standard protocols
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.
8
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.
9
10
IT for the New Enterprise:
Business Components

Need to raise the level of IT abstractions.


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.


Concentrate on business function and requirements.
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.
10
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.
Service
D
Registry
QoS=A/B?
Iface=I
etc…
Service
B
Server
A
Service
C
11
12
A Plan for Building a SOA

Requirement #1: Interaction protocols must be standardized.


Requirement #2: Make all contracts explicit.



Standard metadata is the basis of interoperable contract selection and
execution.
Requirement #3: Allow for points of variability in the contract.



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.


Need to ensure the widest interoperability among unrelated institutions.
Dynamic adaptation on variability points.
Increases the number of possible interactions supported.
Requirement #4: Provide native composition models and runtimes.
12
Web Services As a SOA
SOA and Web Services
14
Where Are We on Web
Services?
BPEL4WS
Composition
WSDL, WS-Policy, UDDI, Inspection
Description
Reliable
Messaging
Transactions
Quality
of Service
Other protocols
Other services
Interaction
Security
SOAP (Logical Messaging)
XML, Encoding
14
Protocols
SOA and Web services
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
16
17
SOAP Messaging
Service Requestor
Service Provider
Application
web service
Application
1
4
3
SOAP Middleware
2
SOAP Middleware
Network Protocol
Network Protocol
Response
Request
(service invocation)
17
Metadata
SOA and Web services
19
Metadata



WSDL: Functional descriptions.
WS-Policy: QoS
Points of variability: dynamic infrastructure.
19
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
20
21
WSDL Description Structure
<definitions>
<types> …
<message name=“Msg1”/> …
<portType name=“PType1”> …
Abstract/
Business
<binding name=“Bnd1” type=“PType1”> …
<service name=“svc1”>
<port binding=“Bnd1” >
<soap:address location=“...”/>
Deployment
</port>
</service>
</definitions>
21
22
WSDL Parts At a Glance
part
types
abstract interface
portType
(concrete)
(abstract)
message
message
(abstract)
operation
concrete implementation
binding
(concrete)
operation
(concrete)
(concrete)
message
message
made concrete by
service
contains one or more
concrete endpoint
port
22
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/
23
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
24
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>
25
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.
26
27
WS-Policy

Status: WS-Policy specifications published
withy RF licensing terms at:
http://www106.ibm.com/developerworks/webservices/library/
ws-polfram/summary.html

WS-PolicyFramework
WS-PolicyAttachments

To be submitted for standardization.

27
Discovery
SOA and Web services
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.
29
Composition
SOA and Web services
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.
31
32
BPEL Concepts

A BPEL process defines the structure of the
interaction in terms of

participant services (partners)
Characterize partners
 Provide support partner conversation


business logic.
Data
 Control flow
 Error handling and recovery mechanism

32
33
Structure of a BPEL4WS Process
<process ...>
<partners> ... </partners>
<!-- Web services the process interacts with -->
Partner
<correlationSets> ... </correlationSets>
information
<!– Used to support asynchronous interactions -->
<variable> ... </variable>
<!– Data used by the process -->
<faultHandlers> ... </faultHandlers>
<!–Alternate execution path to deal with faulty conditions --> Business
<compensationHandlers> ... </compensationHandlers>
logic
<!–Code to execute when “undoing” an action -->
(activities)*
<!– What the process actually does -->
</process>
33
34
Global Models, an Example
1-send notice
Customer
2-pay in full
Cable Co.
Cable Co.
1-send notice
Cable Co.
1-send notice
4-pay in full
Customer
5-stop collection 2-collect from
& pay
customer
6-notify: done
3-send
ultimatum
Collections
Agency
5-notify&pay
Customer
2-collect from
customer
6-pay in full
3-send
ultimatum
Collections
Agency
34
Summary
SOA and Web services
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:





36
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.
36
Service Oriented Architectures
and Web Services
37
End
37
38
Part
38
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
39
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]
40
41
Our Focus (2)
Semantics
Web Processes
Web Process Composition
Execution
Web Process QoS
Web Services
Web Service Annotation
Web Service Discovery
Web Service QoS
41
42
The Basics
What are
Web Services,
Web Processes,
and Semantics?
42
43
Web Process
An Example
Web Processes
Organization B
Organization A
t1
Organization C
+
+
t5
Setup
t2
t3
t4
Prepare
Sample
Prepare Clones
and
Sequence
Assembly
t6
Test Quality Get Sequences
t7
t8
Sequence
Processing
Process
Report
43
44
What are Web Processes (1)?
Web Processes

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?
44
45
Web Processes Composition
Web Processes
WS1
WS9
WS2
Web Process Design
WS3
WS4
WS5
WS7
WS8
WS6
Web services
45
46
Globalization of Processes
B2B
Workflows
Enterprise
Distributed
Workflows
Inter-Enterprise
Processes driving the Networked Economy
E-Services
Web Processes
Global
46
47
BIG Challenges

Heterogeneity and Autonomy




Dynamic nature of business interactions


Syntactic, semantic and pragmatic
Complex rules/regulations related to B2B and ecommerce interactions
Solution: Machine processable descriptions
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.
47
48
Semantics, Ontologies, Semantic Web
Processes
Temporal-Entity
Time-Point{absolute_time}
Time Domain
{year, month, day}
Calendar-Date
Time
Date
{hour, minute, second}
Event
{dayOftheWeek, monthOftheYear}
Scientific-Event {millisecond}



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.
48
Acknowledement: Jorge Cardoso
49
Semi-Formal
Informal
Degree of Agreement
Formal
Other dimensions:
how agreements are reached,
…
Broad Scope of Semantic (Web) Technology
Current Semantic
Web Focus
Lots of
Useful
Semantic
Technology
(interoperability,
Integration)
Qos
Execution
Scope of Agreement
Task/
App
Domain
Industry
Gen.
Purpose,
Broad Based
Function
Common
Sense
Data/
Info.
49
Cf: Guarino, Gruber
METEOR-S
51
Semantics for Web Processes

Data/Information Semantics




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




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
(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
51
52
Data and Functional Ontology
an example based on Rosettanet
Functions
Data
52
53
QoS Ontology
in METEOR-S
53
54
Semantics for Web Process Life-Cycle
Development
/ Description
/ Annotation
Execution
(Orchestration?)
BPWS4J,
Commercial BPEL
Execution Engines,
Intalio n3, HP
eFlow
BPEL, BPML,
WSCI, WSCL,
OWL-S,
METEOR-S
(MWSCF)
Composition
(Choreography?)
Data
/ Information
Semantics
Publication
/ Discovery
WSDL, WSEL
OWL-S
WSDL-S
METEOR-S
(MWSAF)
UDDI
WSIL, OWL-S
METEOR-S
(MWSDI)
54
55
Semantics for Web Process Life-Cycle
Development
/ Description
/ Annotation
Execution
(Orchestration?)
BPWS4J,
Commercial BPEL
Execution Engines,
Intalio n3, HP
eFlow
BPEL, BPML,
WSCI, WSCL,
OWL-S,
METEOR-S
(MWSCF)
Composition
(Choreography?)
Data
/ Information
Semantics
Publication
/ Discovery
WSDL, WSEL
OWL-S
WSDL-S
METEOR-S
(MWSAF)
UDDI
WSIL, OWL-S
METEOR-S
(MWSDI)
55
56
Semantics for Web Process Life-Cycle
Development
/ Description
/ Annotation
Execution
(Orchestration?)
BPWS4J,
Commercial BPEL
Execution Engines,
Intalio n3, HP
eFlow
BPEL, BPML,
WSCI, WSCL,
OWL-S,
METEOR-S
(MWSCF)
Functional
/ Operational
Semantics
Composition
(Choreography?)
Publication
/ Discovery
WSDL, WSEL
OWL-S
WSDL-S
METEOR-S
(MWSAF)
UDDI
WSIL, OWL-S
METEOR-S
(MWSDI)
56
57
Semantics for Web Process Life-Cycle
Development
/ Description
/ Annotation
Execution
(Orchestration?)
BPWS4J,
Commercial BPEL
Execution Engines,
Intalio n3, HP
eFlow
WSDL, WSEL
OWL-S
WSDL-S
METEOR-S
(MWSAF)
QoS
Semantics
BPEL, BPML,
WSCI, WSCL,
OWL-S,
METEOR-S
(MWSCF)
Composition
(Choreography?)
Publication
/ Discovery
UDDI
WSIL, OWL-S
METEOR-S
(MWSDI)
57
58
Semantics for Web Process Life-Cycle
Development
/ Description
/ Annotation
Execution
(Orchestration?)
BPWS4J,
Commercial BPEL
Execution Engines,
Intalio n3, HP
eFlow
BPEL, BPML,
WSCI, WSCL,
OWL-S,
METEOR-S
(MWSCF)
Composition
(Choreography?)
Execution
Semantics
Publication
/ Discovery
WSDL, WSEL
OWL-S
WSDL-S
METEOR-S
(MWSAF)
UDDI
WSIL, OWL-S
METEOR-S
(MWSDI)
58
59
Semantics for Web Process Life-Cycle
Development
/ Description
/ Annotation
Execution
(Orchestration?)
BPWS4J,
Commercial BPEL
Execution Engines,
Intalio n3, HP
eFlow
Execution
Semantics
Data
/ Information
Semantics
WSDL, WSEL
OWL-S
WSDL-S
METEOR-S
(MWSAF)
Semantics Required for
Web Processes
QoS
Semantics
BPEL, BPML,
WSCI, WSCL,
OWL-S,
METEOR-S
(MWSCF)
Composition
(Choreography?)
Functional
/ Operational
Semantics
Publication
/ Discovery
UDDI
WSIL, OWL-S
METEOR-S
(MWSDI)
59
60
Semantics at Different Layers
Description Layer
Flow
Discovery
Publication
Description
Messaging
Network
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
60
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" >
Function
<operation name = "getQuote" pattern = "mep:in-out" action = "rosetta:#RequestQuote" >
<input messageLabel = ”qRequest” element = "rosetta:#QuoteRequest" />
<output messageLabel = ”quote” element = "rosetta:#QuoteConfirmation" />
</operation>
from
Rosetta Net
Ontology
<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" />
Data from
<pre condition = " order.PurchaseOrder.PurchaseOrderLineItem.RequestedQuantity > 7" />
Rosetta Net
</operation>
<operation name = "checkStatus" pattern="mep:in-out" action = "rosetta:#QueryOrderStatus" >
Ontology
<input messageLabel = ”statusQuery” element = "rosetta:#PurchaseOrderStatusQuery" />
<output messageLabel = ”status” element = "rosetta:#PurchaseOrderStatusResponse" />
<exception element = "rosetta:#OrderNumberInvalidException" />
61
</operation>
</interface>
</definitions>
62
Semantics at Different Layers
(contd..)
Publication and Discovery Layers
Flow
Discovery
Publication
Description
Messaging
Network
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)
62
and selecting the best suited service is not possible
63
MWSDI
Registry
Federation
belongsTo
Federation
belongsTo
Registry
supports
Ontology
Domain
consistsOf
subDomainOf
63
64
Semantics at Different Layers
(contd..)
Flow Layer:
Flow
Discovery
Publication
Description
Messaging
Network
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
64
65
Using Colored Petri nets
65
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
66
66
67
Semantics in METEOR-S and WS stack
Flow
Discovery
Publication
Description
Messaging
MWSCF: Semantic Web Process Composition
Framework
MWSDI: Scalable Infrastructure of Registries for
Semantic publication and discovery of Web
Services
MWSAF: Semantic Annotation of WSDL (WSDL-S)
Network
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
67
http://swp.semanticweb.org, http://lsdis.cs.uga.edu/proj/meteor/swp.htm
68
METEOR-S Architecture
Front-End
Back-End
68
METEOR-S Web Service
Annotation Framework
70
MWSAF- METEOR-S Web Service
Annotation Framework
<xsd:complexType name=“Date">
WSDL
<xsd:sequence>
<xsd:element name=“year" type="xsd:integer" />
<xsd:element name=“month" type="xsd:integer" />
<xsd:element name=“day" type="xsd:byte" />
= Time - Ontology
</xsd:sequence>
Temporal-Entity
</xsd:complexType>
Web Service
Time
Interval
Interfaces
Inputs
Date
Duration
Data
Semantics
XML Schema
Data type hierarchy
Time-Point
{year, month, day}
Outputs
Name
Year
Time
Domain
Ontologies
Date
Time
{absolute_time}
{hour, minute, second}
Event
Calendar-Date
{dayOftheWeek, monthOftheYear}
= Local ontology
City
Scientific-Event
{millisecond}
Coordinates {x, y}
Get Conference
Information
QoS Ontology
Area {name}
City
Functional
Semantics
WSDL
<portType name=“ConferenceInformation">
<operation name="getInformation">
<input message="tns:Data" />
<output message="tns:ConferenceInformation" />
</operation>
QoS
Semantics
Forrest
Quality
Information Function
Min
Conference Information Functions
Get Information
70
Get Date
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
71
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
72
MWSAF – XML Schema to
73
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 Node with edge between complexType
have range as basic XML datatypes
C node and this node with name
“hasElement”
6
Sub-elements of complexType C which Edge between complexType C node
have range as complexTypes or
and the range type node
simpleTypes or elements defined in
same schema
73
MWSAF – XML Schema to
74
SchemaGraph
Rule 6
- <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" />
complextype => Node
</xsd:sequence>
</xsd:complexType>
- <xsd:complexType name="Wind">
- <xsd:sequence>
<xsd:element name="gust_speed" type="xsd:double" />
WeatherReport
<xsd:element name="prevailing_direction" type="xsd1:Direction" />
</xsd:sequence>
wind
</xsd:complexType>
phenomena
simpletype => Node
- <xsd:simpleType name="PhenomenonType">
- <xsd:restriction base="xsd:string">
Wind
<xsd:enumeration value="MIST" />
Phenomenon
<xsd:enumeration value="FOG" />
<xsd:enumeration value=“SNOW" />
hasElement
prevailing_direction
<xsd:enumeration value="DUST" />
type
</xsd:restriction>
</xsd:simpleType>
gust_speed
Direction
intensity
Rule 5
Rule 1
Rule 1
PhenomenonType
Rule 3
Rule 1
PhenomenonIntensity
oneOf
oneOf
MIST
oneOf
oneOf
FOG
Element => Node
SNOW
DUST
74
MWSAF - Ontology to
75
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”
75
MWSAF - Ontology to
76
SchemaGraph
WeatherPhenomenon
- <daml:Class rdf:ID="WeatherPhenomenon">
<rdfs:comment>Superclass for all weather events</rdfs:comment>
<rdfs:label>Weather event</rdfs:label>
</daml:Class>
WindEvent
- <daml:Class rdf:ID="WindEvent">
<rdfs:subClassOf rdf:resource="#WeatherPhenomenon" />
</daml:Class>
- <daml:Property rdf:ID="windDirection">
windDirection
<rdfs:domain rdf:resource="#WindEvent" />
</daml:Property>
GustingWindEvent
- <daml:Class rdf:ID="GustingWindEvent">
<rdfs:subClassOf rdf:resource="#WindEvent" />
</daml:Class>
CurrentWeatherPhenomenon
- <daml:Class rdf:ID="CurrentWeatherPhenomenon">
<rdfs:subClassOf rdf:resource="#WeatherPhenomenon" />
</daml:Class>
- <daml:Class rdf:ID="OtherWeatherPhenomena">
<rdfs:subClassOf rdf:resource="#CurrentWeatherPhenomenon" />
</daml:Class>
OtherWeatherPhenomenon
- <daml:Class rdf:ID="Duststorm">
<rdfs:subClassOf rdf:resource="#OtherWeatherPhenomena" />
</daml:Class>
- <daml:Class rdf:ID="PrecipitationEvent">
Duststorm
<rdfs:subClassOf rdf:resource="#CurrentWeatherPhenomenon" />
</daml:Class>
- <daml:Class rdf:ID="SolidPrecipitationEvent">
<rdfs:subClassOf rdf:resource="#PrecipitationEvent" />
PrecipitationEvent
</daml:Class>
- <daml:Class rdf:ID="Snow">
<rdfs:subClassOf rdf:resource="#SolidPrecipitationEvent" />
</daml:Class>
- <daml:Class rdf:ID="ObscurationEvent">
SolidPrecipitationEvent
ObsucurationEvent
<rdfs:subClassOf rdf:resource="#CurrentWeatherPhenomenon" />
</daml:Class>
- <daml:Class rdf:ID="Fog">
<rdfs:subClassOf rdf:resource="#ObscurationEvent" />
Snow
Mist
Fog
76
</daml:Class>
- <daml:Class rdf:ID="Mist">
<rdfs:subClassOf rdf:resource="#ObscurationEvent" />
</daml:Class>
Rule 1
Rule 2
Rule 5
Proposed Standard
WSDL-S
78
WSDL-S Metamodel
78
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" >
Function
<operation name = "getQuote" pattern = "mep:in-out" action = "rosetta:#RequestQuote" >
<input messageLabel = ”qRequest” element = "rosetta:#QuoteRequest" />
<output messageLabel = ”quote” element = "rosetta:#QuoteConfirmation" />
</operation>
from
Rosetta Net
Ontology
<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" />
Data from
<pre condition = " order.PurchaseOrder.PurchaseOrderLineItem.RequestedQuantity > 7" />
Rosetta Net
</operation>
<operation name = "checkStatus" pattern="mep:in-out" action = "rosetta:#QueryOrderStatus" >
Ontology
<input messageLabel = ”statusQuery” element = "rosetta:#PurchaseOrderStatusQuery" />
<output messageLabel = ”status” element = "rosetta:#PurchaseOrderStatusResponse" />
<exception element = "rosetta:#OrderNumberInvalidException" />
79
</operation>
</interface>
</definitions>
Semantic Web Service
Discovery in METEOR-S
METEOR-S Web Service
Discovery Infrastructure
81
Discovery
New Requirements
Web Service
Discovery
Before
Now
QoS
Tasks
B8
B3
A1
B3
A1
A1 B3
B3
A1
A1
A1
A1
A1 A4
A2
A1 A4
A2
A4 A1 A2
A4 A1 A2 A1 A2
Web Services
B3
A1
B3
A1 B3
B3 A1
A1 A1
A4A1A1 A1
A1
A4 A1 B3
A1
A1 A2
A1 A4 A1
A4 A1
A1
B3
A4
A1 A1
A1 A2
A1
A2
A4
A4 B3 A1
A1
A4 A1 A2
B3
A2
A1
A4 A1 A2
A1
A1A1
A1A1
A1
A2
A1
A1
A1
B3
A4 A1 A2
A1
A1
A2 A1A2 A4A4
A1A1A2A2
A4 A1B3A4
A2
A2
A4 A1A4
A1
A1
A2 A4
A4
A2
A1A1
A4 A1
A4 A1
A1
B3 A1
A1 A1
B3
A2
B3 A4A1A1
B3
A2
A4 A1 A2
A1 A1
A1
B3 A4 A1
A1
A4A4 A1A2A2
A4
B3 B3A1
A1A1A1A2
A1
B3
A1 A1
A2
A1
A4
A1
A2
A1
A4
A1 A1
A1 A1 A4
A4
A4
A1
A1
A4
A1
A1
A1A2A2
B3
A1
B3B3 A1
A1A1
B3
A1
A4
A1
B3
A4
A5A1 A2
A1
A4 A6
A2
QoS
Workflow
Web Process
A
E
N1
C
N2
D
F
A
N1
N2
E
C
F
D
81
82
Present Discovery Mechanism
Keyword and attribute-based search


Web Service
Discovery
UDDI :Keyword and attribute-based search
Example: “Quote”
 Microsoft UBR returned 12 services
 Human reading of description (Natural Language) help me
understand:




Categorization suggested for UDDI is useful but inadequate
(what does the WS do?) :



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
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?)
82
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
83
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)

(Functional semantics)
(Data semantics)
(QoS semantics)
(Syntactic description)
Outputs: What the requestor
expects as outputs from the service
(Data semantics)

Web Service
Discovery
QoS: Quality of Service the
distributor expects from the service
(QoS semantics)

Description: Natural
language
description of the
service functionality
(Syntactic description)
84
85
Discovery
The Match Function

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).
85
86
The Match Function
0.76
0.14
0.98
SA2
SA1
0.31 0.68
SA3
Match Function
0.43
Conference Registry
Service
0.34
0.74
0.99
Hotel Reservation
Service
f(ST, SA1) f(ST, SA2) f(ST, SA3)
?
Date
Date
Duration
Duration
City
City
Conference
Start
Get
Conference
Information
A
Employee ID
Web Process
User
UserName
Name
Address
Address
Get User
Information
Itinerary
Itinerary
B
ST
Travel
Reservation
End
Hotel
Reservation
86
87
Syntactic, QoS, and Semantic
(Functional & Data) Similarity
Web Service
Discovery
Similarity ?
Name,
Description,
…
A
B
C
Syntactic
Similarity
Name,
X
Description,
Y
….
Web Service
SynSimilar ty( ST , SO) 
Web Service
1SynNS ( ST .sn, SO.sn)   2 SynDS ( ST .sd , SO.sd )
 [0..1],
1   2
and 1 ,  2  [0..1]
Similarity ?
QoS
QoS
Similarity
OpSimilari ty( ST , SO) 
3
Buy
QoSdimD ( ST , SO, time) * QoSdimD ( ST , SO, cost ) * QoSdimD ( ST , SO, reliabilit y)
A
B
C
X
Y
Web Service
Calendar-Date
A1
…
…
Web Service
Similarity ?
Event
…
A2
QoS
Purchase
Web Service
Functional & Data
Similarity
Coordinates{x, y}
Information Function
Area {name}
Web Service
87
Forrest
Get Information
Get Date
88
The Match Function
Semantic 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.
88
89
The Match Function
Semantic Similarity
When comparing service templates with
service advertisements, the following
cases should be considered to be good

1.
2.
3.
4.
The input and output concepts are the same
(ST(I) == SA(I) & ST(O) == SA )
The concept ST(I) subsumes concept ST(O)
(O>I)
c) the concept O subsumes concept I (O<I), or
d) concept O is not directly related to concept I
(OI).
89
90
The Match Function
Semantic 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
90
91
The Match Function
Semantic Similarity ((O) = (I))
Calendar-Date
Similarity ?
Event
…
A1
…
Web Service
Web Service
ST1,2 (output)
SO1,2,3,4 (input)
Time ontology
b)
Time ontology
Temporal-Entity
Time
Interval
A2
…
Time
Domain
Temporal-Entity
Time-Point
{absolute_time}
a)
Time
Interval
2
Time
Domain
Time-Point
1
{year, month, day}
Date
1
Time
{hour, minute, second}
{year, month, day}
Event
Calendar-Date
{dayOftheWeek, monthOftheYear}
c)
Scientific-Event
Time
Date
3
2
Calendar-Date
{absolute_time}
{hour, minute, second}
4
Event
{dayOftheWeek, monthOftheYear}
{millisecond}
Scientific-Event
{millisecond}
d)
91
Acknowledement: Jorge Cardoso
92
The Match Function
SA2
Date
Date
ST
Event
Event
Date
Service
Advertisement
Service
Advertisement
Service Template
ST1,2 (output)
SO1,2,3,4 (input)
Time ontology
b)
Time ontology
Temporal-Entity
Time
Interval
Time
Domain
Temporal-Entity
Time-Point
{absolute_time}
a)
Time
Interval
2
Time
Domain
Time-Point
1
{year, month, day}
Date
{absolute_time}
1
Time
{hour, minute, second}
{year, month, day}
Event
Calendar-Date
{dayOftheWeek, monthOftheYear}
c)
Scientific-Event
Time
Date
3
2
Calendar-Date
ScientificEvent
SA1
{hour, minute, second}
4
Event
{dayOftheWeek, monthOftheYear}
{millisecond}
Scientific-Event
{millisecond}
d)
92
Acknowledement: Jorge Cardoso
93
The Match Function
Semantic Similarity ((O) = (I))
New
Date
…
A1
Date
Similarity ?
…
Web Service
Web Service
100 %
Temporal-Entity
Time
Domain
A?
…
Temporal-Entity
2
Time
Domain
Time-Point
{ absolute_time}
Time-Point
{ absolute_time}
1
{year, month, day}
Date
1
Time
{year, month, day}
Time
Date
{hour, minute, second}
{hour, minute, second}
3
2
Calendar-Date
Event
Calendar-Date
{ dayOftheWeek, monthOftheYear}
4
Event
dayOftheWeek, monthOftheYear}
Scientific-Event
Scientific-Event
{millisecond}
{millisecond}
1,


1,

SemS ' (O, I )  
| p(O) |
,

| p( I ) |
Similarity ' (O, I ),

OI
OI
OI
OI
Acknowledement: Jorge Cardoso
93
94
The Match Function
(ST(I) = SA(I) and ST(O) = SA(I))
Date
ST
Event
Service Template
Temporal-Entity
2
Time
Domain
Time-Point
{ absolute_time}
Time-Point
{ absolute_time}
1
{year, month, day}
Date
Event
Service Advertisement
Temporal-Entity
Time
Domain
SA1
Date
1
Time
{year, month, day}
Time
Date
{hour, minute, second}
{hour, minute, second}
3
2
Calendar-Date
Event
{ dayOftheWeek, monthOftheYear}
Calendar-Date
4
Event
dayOftheWeek, monthOftheYear}
Scientific-Event
Scientific-Event
{millisecond}
{millisecond}
94
Acknowledement: Jorge Cardoso
95
The Match Function
(SA(I) > ST(I) and ST(O) = SA(I))
ST
Calendar-Date
SA1
Date
Event
Service Template
Service Advertisement
Temporal-Entity
Time
Domain
Temporal-Entity
2
Time
Domain
Time-Point
{ absolute_time}
Time-Point
{ absolute_time}
1
{year, month, day}
Date
Event
1
Time
{year, month, day}
Time
Date
{hour, minute, second}
{hour, minute, second}
3
2
Calendar-Date
{ dayOftheWeek, monthOftheYear}
Event
Calendar-Date
4
Event
dayOftheWeek, monthOftheYear}
Scientific-Event
Scientific-Event
{millisecond}
{millisecond}
95
Acknowledement: Jorge Cardoso
96
The Match Function
(ST(I) = SA(I) and ST(O) > SA(O))
Date
ST
Event
Service Template
Temporal-Entity
2
Time
Domain
Time-Point
{ absolute_time}
Time-Point
{ absolute_time}
1
{year, month, day}
Date
Scientific-Event
Service Advertisement
Temporal-Entity
Time
Domain
SA1
Date
1
Time
{year, month, day}
Time
Date
{hour, minute, second}
{hour, minute, second}
3
2
Calendar-Date
Event
{ dayOftheWeek, monthOftheYear}
Calendar-Date
4
Event
dayOftheWeek, monthOftheYear}
Scientific-Event
Scientific-Event
{millisecond}
{millisecond}
96
Acknowledement: Jorge Cardoso
97
The Match Function
Semantic Similarity ((O) = (I))
Date
ST
Event
Service Template
Time
Domain
Temporal-Entity
2
Time
Domain
Time-Point
{ absolute_time}
Time-Point
{ absolute_time}
1
{year, month, day}
Date
Scientific-Event
Service Advertisement
4/9*4/7=0.504 => 50%
Temporal-Entity
SA1
Event
1
Time
{year, month, day}
Time
Date
{hour, minute, second}
{hour, minute, second}
3
2
Calendar-Date
Event
Calendar-Date
{ dayOftheWeek, monthOftheYear}
4
Event
dayOftheWeek, monthOftheYear}
Scientific-Event
Scientific-Event
{millisecond}
{millisecond}
1,


1,

SemS ' (O, I )  
| p(O) |
,

| p( I ) |
Similarity ' (O, I ),

OI
OI
OI
OI
Acknowledement: Jorge Cardoso
similarity ' (O, I ) 
| p(O)  p( I ) | | p(O) 97
p( I ) |
*
| p(O)  p( I ) |
| p( I ) |
98
Semantic Publication and Discovery
Class
TravelServices
subClassOf
WSDL
subClassOf
Class
Class
Data
Operations
subClassOf
subClassOf
subClassOf
Use of ontologies enables
shared understanding
between the service provider
and service requestor
subClassOf
Class
Class
Class
Class
Ticket
Information
Confirmation
Message
Ticket
Booking
Ticket
Cancellation
Operation:
buyTicket
Input1:
<Operation>
TravelDetails
Output1:
Confirmation
<Input1>
UDDI
Operation:
Search
cancelTicket
<Output1>
Input1:
TravelDetails
Output1:
Service Template
Publish
Confirmation
Annotations
For simplicity of depicting, the ontology is shown with classes for both operation and data
Adding Semantics to Web Services Standards
98
METEOR-S Web Service
Discovery Infrastructure (MWSDI)




99
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
99
Extended Registries Ontologies
(XTRO)

100
Provides a multifaceted view of all
registries in MWSDI



Federations
Domains
Registries
Registry
Federation
belongsTo
Federation
belongsTo
Registry
supports
Ontology
Domain
subDomainOf
consistsOf
100
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?
101
Semantic Web Service
Composition in METEOR-S
METEOR-S Web Service
Composition Framework
103
Semantic Process Composition
Web 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
103
SCET, Semantic Web Process Composition
104
Level of dynamism

Predefined flows




Static binding (BPEL4WS)
Dynamic Binding (MWSCF) Demo today
Adaptive flows (METEOR)
Automatic composition


Planning
Hierarchical Decomposition [SHOP2]
104
[SHOP2] Dan Wu, Bijan Parsia, Evren Sirin, James endler, and Dana Nau. Automating DAML-S web services composition using SHOP2,
(ISWC, 2003)
105
Predefined flows


Static binding (supported by BPEL4WS)
Choose service at design time
Supplier 2
Supplier 1
Manufacturer
Manufacturer tightly coupled with suppliers
Client
105
106
Predefined flows


Dynamic binding
Choose new services at runtime
Dynamically choose best supplier at runtime
Cheaper
Supplier
Preferred
Supplier
Faster
Delivery
Manufacturer
Client
106
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
107
108
Supply Chain – QoS Based
108
109
QoS Computation
QoS
Graph Reduction
Technique
pj
ti
tj
(a)
Reduction of a
Sequential System
tij
(b)
T(tij) = T(ti) + T(tj)
C(tij)= C(ti) + C(tj)
R(tij) = R(ti) * R(tj)
F(tij).ar = f(F(ti), F(tj))
109
110
QoS Computation
QoS
Graph Reduction
Technique
pa1
ta
* pa2
t1
t2
pan
p1b
p2b *
tb
ta
p1n
t1n
pb
tb
pnb
tn
(a)
Reduction of a
Parallel System
(b)
T(t1n) = MaxI{1..n} {T(ti)}
C(t1n) =

C(ti)

R(ti)
1i .n
R(t1n) =
1i .n
F(t1n).ar = f(F(t1), F(t2), …, F(tn))
110
111
Web Services
Interfaces



Web Process
Composition
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)
B
b(O, I)
A
B
b(O, I)
Z
Y
X
C
D
F
A
X
A
B
C
M
N
C
Y
R
S
T
U
P
Z
F
D
Bipartite graph. Each edge has a weight (semantic similarity).
111
Constraint Representation –
Business Constraints
Fact
112
OWL expression
Supplier1 is an instance of network
adaptor supplier
Supplier1 supplies #Type1
Supplier1 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 >
112
Constraint Representation –
Process Constraints
Feature
Goal
Cost
Optimize
supplytime
Satisfy
partnerStatus
Optimize
Value
<7
113
Unit
Aggregation
Dollars
Σ
Days
MIN
MIN
113
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
114
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
115
Other METEOR-S Modules and
Demo




116
Add transactional support to BPEL
State machine based verification of BPEL
Source code annotation tool
Demo
116
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
117
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
118
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
119
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.
120
Semantic Web Services (WSMO)
Example of using mediators
121
121
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
122
123
Semantic Web Services (OWL-S)
OWL-S (formerly DAML-S) provides support for the following:

Service Advertisements (OWL-S Upper ontology)




Discovery of services (OWL-S Matchmaker)


Subsumption based discovery
Composition (OWL-S process model)


Functional Aspects (IOPE’s)
Non functional Aspects ( Geog Rad., Quality Rating etc.)
Interaction Protocol using process model
Support for hierarchical planning (e.g. SHOP2)
Invocation (OWL-S VM )
123
124
OWL-S
Ontologies

OWL-S defines ontologies for the construction of service models:



Service Profiles
Process Models
Service Grounding
provides
Resource
Service
presents
supports
described by
ServiceProfile
ServiceModel
Service
Grounding
what the
service does
how the
service works
how to access
the service
124
125
OWL-S
Service Profile
The Service Profile provides details about a service.
Inputs. Inputs that
should be provided to
invoke the service.
Outputs. Outputs expected after
the interaction with the service.
Receipt
Client
Itinerary
Local
Tourism
Preconditions. Set of
conditions that should hold prior
to the service being invoked.
Web Service
Effects. Set of statements that
should hold true if the service is
invoked successfully.
125
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>
Inputs
<profile:restrictedTo rdf:resource="&address;#Address"/>
Addr
<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 >
...
,,,
Outputs
When
...
...
126
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
127
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.
128
129
Ongoing Projects

OWL-S: http://www.daml.org/services/


Set of ontologies to describe functionalties of web services
OWL-S Matchmaker: http://www2.cs.cmu.edu/%7Esoftagents/daml_Mmaker/OWL-S_matchmaker.htm



Web Service Composer:
http://www.mindswap.org/~evren/composer/


Match service requestors with service providers
Semantic Matchmaking for Web Services Discovery
Semi-automatic process for the dynamic composition of web
services
Web Services: http://www106.ibm.com/developerworks/webservices/


WSDL, UDDI, SOAP
Business Process with BPEL4WS
129
130
Conclusions
130
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
131
132
Semantic Web Processes
Questions?
132
133
References
Extensive related work at: IBM, Karlsruhe, U. Manchester, OWL-S (CMU, Stanford, UMD)

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
133
134
SOA and
Semantic Web Processes
End
134
Download