Title: Kunal Verma1, Amit Sheth1,2 ,Francisco Curbera3
1Service Oriented Architectures and Semantic Web
Processes
- Kunal Verma1, Amit Sheth1,2 ,Francisco Curbera3
- 1LSDIS Lab, University of Georgia
- 3Semagix, Inc (USA)
- 3IBM T.J. Watson Research Center (USA)
2- Service Oriented Architectures and Web Services
- Semantic Web Services and Processes
3Service Oriented Architectures and Web Services
Part
4Overview
- IT for a new business model
- Service Oriented Architectures (SOAs).
- Web services as an XML based instantiation of
SOA. - Protocols.
- Metadata.
- Discovery.
- Composition.
- Summary.
5A 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 todays 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.
6Enterprises 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.
7Fully 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.
8Fully Networked Business Interactions
The distinction between internal and external
applications and providers looses importance
Many potential providers can be found for each
required function.
9IT 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/compositi
on. - New components are recursively created.
10Service 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.
Registry
QoSA/B? IfaceI etc
11A 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.
12Web Services As a SOA
13Where Are We on Web Services?
Composition
BPEL4WS
WSDL, WS-Policy, UDDI, Inspection
Description
Quality of Service
Transactions
ReliableMessaging
Security
SOAP (Logical Messaging)
Interaction
Other protocols Other services
XML, Encoding
14Protocols
15Protocols
- 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
16SOAP (v1.1)
- A lightweight XML-based mechanism for exchanging
structured information between peers in a
distributed environment. - A transport-independent messaging model.
- Transport bindings for HTTP
- An encoding model for a type system, and an RPC
convention a link to legacy middleware. - Built around a standard message format
- Envelope
- Headers
- Body
- Possibly attachments.
17SOAP Messaging
18SOAP over HTTP
POST /StockQuote HTTP/1.1 Host
www.stockquoteserver.com Content-Type text/xml
charset"utf-8" Content-Length nnnn SOAPAction
"Some-URI" ltSOAP-ENVEnvelope xmlnsSOAP-ENV
SOAP-ENVencodingStyle/gt ltSOAP-ENVHeadergt
lt/SOAP-ENVHeadergt ltSOAP-ENVBodygt
ltpoPlacePurchaseOrder xmlnspogt
ltOrderDategt02/06/01lt/OrderDategt
ltShip_Togt lt/po
PlacePurchaseOrder gt lt/SOAP-ENVBodygt lt/SOAP-EN
VEnvelopegt
19SOAP Status
- SOAP 1.2/XML Protocol is now a W3C
Recommendation. - http//www.w3.org/TR/soap/
- SOAP 1.1 is still (and will be for a while) what
is being deployed. - http//www.w3.org/TR/2000/NOTE-SOAP-20000508/
20WS-Security
ltwsseSecurity? ltwsseUsernameToken
Id"MyID"gt ltwsseUsernamegt Zoe
lt/wsseUsernamegt lt/wsseUsernameTokengt
ltdsSignaturegt ltdsSignatureMethod
Algorithm
"http//www.w3.org/..."/gt
ltdsSignatureValuegt DJbchm5gK...
lt/dsSignatureValuegt ltdsKeyInfogt
ltwsseSecurityTokenReferencegt
ltwsseReference
URI"MyID"/gt
lt/wsseSecurityTokenReferencegt
lt/dsKeyInfogt lt/dsSignaturegt lt/wsseSecuritygt
- SOAP header extensions for
- authentication,
- confidentiality,
- Integrity
- Built on top of W-Security
- Protocols for exchanging security tokens and
establishing trust relationships built on top. - Protocols for authorization and identity
propagation / mapping in multi-party
communication
21Metadata
22Metadata
- WSDL Functional descriptions.
- WS-Policy QoS
- Points of variability dynamic infrastructure.
23What 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
24WSDL Description Structure
ltdefinitionsgt
lttypesgt ltmessage nameMsg1/gt ltportType
namePType1gt ltbinding nameBnd1
typePType1gt
Abstract/Business
ltservice namesvc1gt ltport bindingBnd1 gt
ltsoapaddress location.../gt
lt/portgt lt/servicegt
Deployment
lt/definitionsgt
25WSDL Parts At a Glance
part
types
abstract interface portType
(abstract) operation
(concrete) message
(abstract) message
concrete implementation binding
(concrete) operation
(concrete) message
(concrete) message
made concrete by
service
concrete endpoint port
contains one or more
26WSDL 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/
27WS-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
28Policy Expressions
001 ltwspPolicy idgt 002
ltwspExactlyOnegt 003 ltwspAllgt 004
ltwsseSecurityTokengt 005
ltwsseTokenTypegtwsseKerberosv5TGTlt/wsseTokenType
gt 006 lt/wsseSecurityTokengt 007
ltwsseIntegritygt 008
ltwsseAlgorithm Type"wsseAlgSignature /gt 009
lt/wsseIntegritygt 010
lt/wspAllgt 011 ltwspAllgt 012
ltwsseSecurityTokengt 013
ltwsseTokenTypegtwsseX509v3lt/wsseTokenTypegt 014
lt/wsseSecurityTokengt 015
ltwsseIntegritygt 016
ltwsseAlgorithm Type"wsseAlgEncryption /gt 017
lt/wsseIntegritygt 018
lt/wspAllgt 019 lt/wspExactlyOnegt 020
lt/wspPolicygt
29Policy Expressions
- Three generic policy operators allow combining
assertions into groups, options - ltAllgt
- ltExactlyOnegt
- ltOneOrMoregt
- Usage attribute allows modification of standard
meaning of assertion - UsageRejected prevents requesters from
following certain behaviors (do not log
messages!). - Policies can be names so they can be referenced
from other documents and reused. - Id attribute assigns a URI to the policy.
- QName naming is also allowed.
30WS-Policy and SOAP
ltwspPolicy idgt ltwsseSecurityTokengt
ltwsseTokenTypegt wsseX509v3
lt/wsseTokenTypegt lt/wsseSecurityTokengt lt/wsp
Policygt
- Policies define what QoS protocols are followed.
- Are reflected on what headers appear in the SOAP
envelope. - QoS policies attached to a service of service
endpoint represent protocols. - QoS protocols are supported by SOAP headers.
ltSOAP-ENVEnvelopegt ltSOAP-ENVHeadergt
ltwsseSecuritygt ltwsseBinarySecurityToken
Id"myToken"
ValueType"wsseX509v3" EncodingType
"wsseBase64Binarygt
MIIEZzCCA9Cg... lt/wsseBinarySecurityTokengt
lt/wsseSecuritygt lt/SOAP-ENVHeadergt ltSOAP
-ENVBodygt
31Using WS-Policy
- Requester finds out QoS requirements stated by
provider and configures itself accordingly - Both development time and runtime usage.
- Many options may be available
- Requester searches for services that support its
QoS requirements. - Discovery time.
- Match-maker finds compatible services in peer to
peer setting. - Symmetric discovery scenario.
- Contracts may be formulated based on
compatibility of published policies. - Business implications of policy matching.
32What is the Typical Usage Scenario
- Simple SOA model
- WSDL description or UDDI service entry identify
all policies that are followed by a service. - Service requesters check for services whose
interface and policies indicate technical
compatibility with their requirements. - It is a static model
- Policies are used to represent the stack of
technologies supported by the service. - A match represents a service using a compatible
policy stack. - Typically results in implicit binding between
application implementations. - Loose coupling is limited to selecting among
technically equivalent services, using
non-functional aspects (price, ratings, etc.) - This is a direct extension from todays
development models. - The stack is fixed at development/deployment
time. - SOA model essentially introduces the publishing
of descriptions and runtime selection.
33Dynamic 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.
34WS-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.
35Discovery
36Discovery 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.
37WS-Metadata Exchange
- Goal Allow providers to customize their policies
to individual requesters and interactions. - Requesters send
- Requesters policies can be explicitly
communicated. - Requesters execution context may be implicitly
transmitted. - Providers return set of policies to apply to
interaction. - Faults should be thrown if any party finds it
cannot deal with the others policies.
Identity, context
1
Policy or fault
2
38Composition
39Service 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.
40BPEL 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
41Structure of a BPEL4WS Process
- ltprocess ...gt
- ltpartnersgt ... lt/partnersgt
- lt!-- Web services the process interacts with
--gt - ltcorrelationSetsgt ... lt/correlationSetsgt
- lt! Used to support asynchronous interactions
--gt - ltvariablegt ... lt/variablegt
- lt! Data used by the process --gt
- ltfaultHandlersgt ... lt/faultHandlersgt
- lt!Alternate execution path to deal with faulty
conditions --gt - ltcompensationHandlersgt ... lt/compensationHandle
rsgt - lt!Code to execute when undoing an action
--gt - (activities)
- lt! What the process actually does --gt
- lt/processgt
Partner information
Business logic
42BPEL Partners
- Partners
- A composition defines a new service(s) which
interacts with one or more partners. - Partners are characterized by a pair of abstract
WSDL interfaces - How the composition uses and is used by the
partner. - Interactions between partners are thus
bidirectional, conversational in nature. - May combine synchronous and asynchronous
interactions - Stateful.
- How is state maintained?
- BPEL correlation mechanism uses business data to
maintain the state of the interaction. - Other middleware mechanism are possible as well.
43BPEL4WS Partners
Multiple simultaneous conversations
Many partners
Characterized by WSDL interfaces
?
44BPEL Basic Activities
- ltinvoke partner... portType...
operation... - inputContainer... outputContainer...
/gt - lt!-- process invokes an operation on a partner
--gt - ltreceive partner... portType...
operation... - container.../gt
- lt!-- process receives invocation from a
partner --gt - ltreply partner... portType...
operation... - container.../gt
- lt!-- process send reply message in partner
invocation --gt - ltassigngt lt! Data assignment betwee containers
--gt - ltcopygt
- ltfrom container.../gt ltto
container.../gt - lt/copygt
- lt/assigngt
-
45BPEL Structured Activities
- ltsequencegt
- lt! execute activities sequentially--gt
- ltflowgt
- lt! execute activities in parallel--gt
- ltwhilegt
- lt! iterate execution of activities until
condition - is violated--gt
- ltpickgt
- lt! several event activities (receive message,
timer event) scheduled for execution in parallel
first one is selected and corresponding code
executed. --gt - ltlink ...gt
- lt! defines a control dependency between a
- source activity and a target --gt
46Nesting Structured Activities. Example
ltsequencegt ltreceive .../gt ltflowgt
ltsequencegt ltinvoke .../gt ltwhile
... gt ltassigngt ... lt/assigngt
lt/whilegt lt/sequencegt ltsequencegt
ltreceive .../gt ltinvoke ... gt
lt/sequencegt lt/flowgt ltreplygt lt/sequencegt
Seq
Flow
Seq
Seq
While
47Global Models
- BPEL processes capture multi-party interactions
from a single party perspective. - There isnt a well accepted format for capturing
these interactions. - Complex interactions are naturally multi-party.
- Single party view does not capture the global
sequence of interactions - Each party may not be involved in every relevant
interaction. - Where are global models?
- WSFL (a BPEL precursor) introduced global models.
- WS-Choreography WG in W3C has been working on
this concept as well.
48Global Models, an Example
49Summary
50Web 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.
51Semantic Web Services and Processes
Part
52Semantic Web Processes Overview
- Introduction
- Semantics for Web Processes
- Data Semantics
- Functional Semantics
- QoS Semantics
- Execution Semantics
- Other Projects
- OWL-S
- WSMO
- Conclusions
- Demo
53Our Focus (1)
- Supporting Web Processes on multi-enterprise and
Web scale require addressing heterogeneity/integra
tion, 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
54What 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?
55Example Business Process Supplier Selection and
Item Procurement Process
UDDI Registry
UDDI Query
Supplier 1
Locate Suppliers
Results
Item Details
Receive Quote
Send Quote Request
Quote Details
Check Inventory
Choose Supplier
Customer Terms
Negotiate Agreement
Negotiate Agreement
Supplier Terms
Order Details
Receive Order
Send Order
Order Confirmation
Supplier (s) Process
Customer Process
56Evolving Business Models
- Traditional Business Model
- Fixed Business Process and Fixed Partners
- Statically change business process
- Emerging Business Model
- Change known partners based on business needs
- Dynamically change business process
- Future Business Model
- Dynamically select partners from exchanges or
registries - Dynamically create business processes from high
level goals - Automatically negotiate agreements
57Challenges In Supporting Evolving Business Models
- Automatic Discovery
- Needs Automatically find right business partners
- Solution Create efficient discovery mechanisms
- Automatic Integration
- Needs How to understand others data
- Solution Agreement on data types (standard based
/ ontology based - Optimization and Correctness
- Need Verify correctness of created process
- Solution Capture and reason on business and
application constraints
Proposition Semantics is the most important
enabler to address these challenges.
58Semantics, 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.
Acknowledement Jorge Cardoso
59Broad Scope of Semantic (Web) Technology
Lots of Useful Semantic Technology (interoperabil
ity, Integration)
Other dimensions how agreements are reached,
Cf Guarino, Gruber
60Semantics for Business Processes
61Semantics 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 represent qualitative and
quantitative measures of Web process - Qualitative includes security, transactions
(WS-Policy) - Quantitative includes cost, time etc.
(WS-Agreement) - Business constraints and inter service
dependencies (Domain and application ontologies)
62Data and Functional Ontologyan example based on
Rosettanet
Functions
Data
63QoS Ontology in METEOR-S
64Semantics for Web Process Life-Cycle
Data / Information Semantics
65Semantics for Web Process Life-Cycle
Development / Description / Annotation
Execution (Orchestration?)
WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF)
BPWS4J, Commercial BPEL Execution Engines,
Intalio n3, HP eFlow
Data / Information Semantics
UDDI WSIL, OWL-S METEOR-S (MWSDI)
BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF)
Publication / Discovery
Composition (Choreography?)
66Semantics for Web Process Life-Cycle
Development / Description / Annotation
Execution (Orchestration?)
WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF)
BPWS4J, Commercial BPEL Execution Engines,
Intalio n3, HP eFlow
Functional Semantics
UDDI WSIL, OWL-S METEOR-S (MWSDI)
BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF)
Publication / Discovery
Composition (Choreography?)
67Semantics for Web Process Life-Cycle
Development / Description / Annotation
Execution (Orchestration?)
WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF)
BPWS4J, Commercial BPEL Execution Engines,
Intalio n3, HP eFlow
QoS Semantics
UDDI WSIL, OWL-S METEOR-S (MWSDI)
BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF)
Publication / Discovery
Composition (Choreography?)
68Semantics for Web Process Life-Cycle
Development / Description / Annotation
Execution (Orchestration?)
WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF)
BPWS4J, Commercial BPEL Execution Engines,
Intalio n3, HP eFlow
Execution Semantics
UDDI WSIL, OWL-S METEOR-S (MWSDI)
BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF)
Publication / Discovery
Composition (Choreography?)
69Semantics for Web Process Life-Cycle
Development / Description / Annotation
Execution (Orchestration?)
WSDL, WSEL OWL-S WSDL-S METEOR-S (MWSAF)
BPWS4J, Commercial BPEL Execution Engines,
Intalio n3, HP eFlow
Semantics Required for Web Processes
UDDI WSIL, OWL-S METEOR-S (MWSDI)
BPEL, BPML, WSCI, WSCL, OWL-S, METEOR-S (MWSCF)
Publication / Discovery
Composition (Choreography?)
70DATA SEMANTICS
71Data Semantics
UDDI Registry
UDDI Query
Locate Suppliers
Results
Item Details
Receive Quote
Send Quote Request
Quote Details
Check Inventory
Choose Supplier
- How does the supplier recognize Item Details
- Pre-defined agreement on all data fields
- Use a standard like Rosetta Net/ebXML
- Annotate data fields with an ontology
Negotiate Agreement
Negotiate Agreement
Receive Order
Send Order
Supplier Process
Customer Process
72Data Semantics
- Pre-defined agreement on all data fields
- Limited flexibility, hard to integrate new
suppliers in process - Use a standard like Rosetta Net/ebXML
- Greater flexibility, but limited to suppliers
following standard - Standard may not be expressive enough for
everyone's needs - Annotate data fields with domain ontologies
- Most flexible, semi-automatic transformation
based on ontology mapping
73Proposed Standard WSDL-S
74WSDL-S Metamodel
75WSDL-S
lt?xml version"1.0" encoding"UTF-8"?gt ltdefinition
s name "BatterySupplier" targetNamespace
"http//lsdis.cs.uga.edu/meteor/BatterySupplier.ws
dl20" xmlns "http//www.w3.org/2004/03/wsdl" x
mlnstns "http//lsdis.cs.uga.edu/BatterySupplie
r.wsdl20" xmlnsrosetta " http//lsdis.cs.uga.e
du/projects/meteor-s/wsdl-s/pips.owl
" xmlnsmephttp//www.w3. rosettaPurchaseOrderSt
atusResponse org/TR/wsdl20-patternsgt
ltinterface name "BatterySupplierInterface"
description "Computer PowerSupply Battery Buy
Quote Order Status "
domain"naicsComputer and Electronic
Product Manufacturing" gt ltoperation
name "getQuote" pattern "mepin-out" action
"rosettaRequestQuote" gt ltinput
messageLabel qRequest element
"rosettaQuoteRequest" /gt
ltoutput messageLabel quote element
"rosettaQuoteConfirmation" /gt
lt/operationgt ltoperation name
"placeOrder" pattern "mepin-out" action
"rosettaRequestPurchaseOrder" gt ltinput
messageLabel order element
"rosettaPurchaseOrderRequest" /gt
ltoutput messageLabel orderConfirmation
element "rosettaPurchaseOrderConfirmation"
/gt ltexception element "rosettaDiscountinuedI
temException" /gt ltpre condition
" order.PurchaseOrder.PurchaseOrderLineItem.Requ
estedQuantity gt 7" /gt lt/operationgt
ltoperation name "checkStatus"
pattern"mepin-out" action "rosettaQueryOrder
Status" gt ltinput messageLabel statusQuery
element "rosettaPurchaseOrderStatusQuery"
/gt ltoutput messageLabel status element
"rosettaPurchaseOrderStatusResponse" /gt
ltexception element "rosettaOrderNumberInvalidE
xception" /gt lt/operationgt
lt/interfacegt lt/definitionsgt
Function from Rosetta Net Ontology
Data from Rosetta Net Ontology
76MWSAF- METEOR-S Web Service Annotation Framework
ltxsdcomplexType nameDate"gt ltxsdsequencegt Â
ltxsdelement nameyear" type"xsdinteger" /gt Â
ltxsdelement namemonth" type"xsdinteger" /gt
 ltxsdelement nameday" type"xsdbyte" /gt
lt/xsdsequencegt lt/xsdcomplexTypegt
WSDL
Ontologies
Data Semantics
Time - Ontology
Temporal-Entity
XML Schema Data type hierarchy
Web Service
Time Interval
Time Domain
Time-Point
absolute_time
Interfaces
Time
Date
hour, minute, second
year, month, day
Outputs
Inputs
Event
Date
Calendar-Date
Name
dayOftheWeek, monthOftheYear
Duration
Year
Scientific-Event
millisecond
Local ontology
City
Coordinates
x, y
Area
Get Conference Information
name
QoS Semantics
City
Forrest
QoS Ontology
Functional Semantics
Quality
WSDL
Information Function
Min
ltportType nameConferenceInformation"gt ltoperation
name"getInformation"gt  ltinput
message"tnsData" /gt  ltoutput
message"tnsConferenceInformation" /gt
lt/operationgt
Conference Information Functions
Get Information
Get Date
77FUNCTIONAL SEMANTICS
78Functional Semantics
UDDI Registry
UDDI Query
Locate Suppliers
Results
Item Details
Receive Quote
Send Quote Request
Quote Details
Check Inventory
Choose Supplier
- How to locate appropriate supplier
- Keyword based search in UDDI
- PortType based search in UDDI
- Semantic Discovery
Negotiate Agreement
Negotiate Agreement
Receive Order
Send Order
Supplier Process
Customer Process
79Functional Semantics
- Keyword based search in UDDI
- Needs human involvement
- Low precision and high recall
- Port Type based search in UDDI
- Requires service providers to agree on port types
- Less flexible, requires total agreement on method
names and data type names - Template Based Semantic Discovery
- Requires ontological commitment of data types and
operations - Can be used to provide ranked results based on
similarity users template
80Semantic 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
81Discovery in Semantic Web Using Semantics
Web Service Discovery
- 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)
(Functional semantics)(Data semantics) (QoS
semantics) (Syntactic description)
- Description Natural language description of the
service functionality (Syntactic description)
82Semantic Publication and Template Based Discovery
For simplicity of depicting, the ontology is
shown with classes for both operation and data
Adding Semantics to Web Services Standards
83DiscoveryThe 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).
84Syntactic, QoS, and Semantic (Functional Data)
Similarity
Web Service Discovery
Syntactic Similarity
QoS Similarity
Functional Data Similarity
85The 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.
86The Match FunctionSemantic Similarity
- When comparing service templates with service
advertisements, the following cases should be
considered to be exact matches - The input and output concepts of service template
and advertisement are the same (ST(I) SA(I)
and ST(O) SA(O) ) - The concept SA(I) subsumes concept ST(I). That
is, requestor provides more information than the
service needs SA(I) gt ST(I) - The concept ST(O) subsumes concept SA(O). That
is, the service provides more information than
the requestor needs ST(O) gt SA(O) - Otherwise, number of similar properties are used
as a measure of similarity
87The Match Function
SA2
ST
Event
SA1
Date
Scientific-Event
Date
Event
Date
ServiceAdvertisement
Service Advertisement
Service Template
Acknowledement Jorge Cardoso
88The Match Function(ST(I) SA(I) and ST(O)
SA(I))
ST
SA1
Date
Event
Date
Event
Service Template
Service Advertisement
Temporal
-
Entity
Temporal
-
Entity
2
Time
Time
Time
-
Point
Time
-
Point
Domain
Domain
absolute_time
absolute_time
1
1
Time
Time
Date
Date
year, month, day
year, month, day
hour, minute, second
hour, minute, second
4
3
2
Event
Event
Calendar
-
Date
Calendar
-
Date
dayOftheWeek
,
monthOftheYear
dayOftheWeek
,
monthOftheYear
Scientific
-
Event
Scientific
-
Event
millisecond
millisecond
Acknowledement Jorge Cardoso
89The Match Function(SA(I) gt ST(I) and ST(O)
SA(I))
ST
SA1
Date
Event
Calendar-Date
Event
Service Template
Service Advertisement
Temporal
-
Entity
Temporal
-
Entity
2
Time
Time
Time
-
Point
Time
-
Point
Domain
Domain
absolute_time
absolute_time
1
1
Time
Time
Date
Date
year, month, day
year, month, day
hour, minute, second
hour, minute, second
4
3
2
Event
Calendar
-
Date
Calendar
-
Date
Event
dayOftheWeek
,
monthOftheYear
dayOftheWeek
,
monthOftheYear
Scientific
-
Event
Scientific
-
Event
millisecond
millisecond
Acknowledement Jorge Cardoso
90The Match Function(ST(I) SA(I) and ST(O) gt
SA(O))
ST
SA1
Date
Scientific-Event
Event
Date
Service Template
Service Advertisement
Temporal
-
Entity
Temporal
-
Entity
2
Time
Time
Time
-
Point
Time
-
Point
Domain
Domain
absolute_time
absolute_time
1
1
Time
Time
Date
Date
year, month, day
year, month, day
hour, minute, second
hour, minute, second
4
3
2
Event
Event
Calendar
-
Date
Calendar
-
Date
dayOftheWeek
,
monthOftheYear
dayOftheWeek
,
monthOftheYear
Scientific
-
Event
Scientific
-
Event
millisecond
millisecond
Acknowledement Jorge Cardoso
91METEOR-S Web Service Discovery Infrastructure
(MWSDI)
- MWSDI deals with adding semantics to UDDI
registries - Provides transparent access to UDDI registries
based on their domain or federation - Implementation of UDDI Best Practices and
Semantic Discovery
1 http//lsdis.cs.uga.edu/Projects/METEOR-S
92Extended Registries Ontologies (XTRO)
- Provides a multi-faceted view of all registries
in MWSDI - Federations
- Domains
- Registries
93Types 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?
94QoS SEMANTICS
- Business and Application constraints
95QoS Semantics
UDDI Registry
UDDI Query
Locate Suppliers
Results
Item Details
Receive Quote
Send Quote Request
Quote Details
Check Inventory
Choose Supplier
- QoS Semantics
- Does the supplier support customers business
constraints - Interaction should adhere to the entities
policies
Negotiate Agreement
Negotiate Agreement
Receive Order
Send Order
Supplier Process
Customer Process
96QoS Semantics
- Does the supplier support customers business
constraints - e.g. cost, supply time etc.
- Interaction should adhere to the entities
policies - e.g security, transactions
- In case of more suppliers, domain constraints
should be satisfied - e.g. a certain suppliers parts do not work with
other suppliers parts
97METEOR-S Web Service Composition Framework
DesignTime
Abstract Process
Abstract Process Designer
Executable Process
Binder
Process Repository
BPWS4J Execution Engine
Service Template(s) (PUBLISH)
Process Instance Initiation Time
Process Annotation Tool
Optimized Service Set
Constraint Analyzer
Discovery Engine
Enhanced UDDI
98Composition in METEOR-S
- 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
- Domain constraints captured in ontologies
- E.g preferred suppliers, technology constraints
99Sample Abstract BPEL Process
- ltprocess name"orderProcess"
- targetNamespace"http//tempuri.org/"
- xmlns"http//schemas.xmlsoap.org/ws/2003/03/bus
iness-process/" - xmlnstns"http//tempuri.org/"gt
- ltpartnerLinksgt
- ltpartnerLink name"User" xmlnsns1"tns"
partnerLinkType"ns1UserSLT"/gt - ltpartnerLink name"orderPartner" xmlnsns2"?"
partnerLinkType"ns2?"/gt - ltpartnerLink name"orderPartner2" xmlnsns8"?"
partnerLinkType"ns8?"/gt - lt/partnerLinksgt
- ltflow name"start"gt
-
- ltinvoke name"orderPArt" partnerLink"orderPartner
" xmlnsns7"?" portType"ns7?" operation"?"
inputVariable"orderInput" outputVariable"orderOu
tput"gt - lt/invokegt
-
- ltinvoke name"orderPArt2" partnerLink"orderPartne
r2" xmlnsns9"?" portType"ns9?" operation"?"
inputVariable"orderInput" outputVariable"orderOu
tput"gt - lt/invokegt
DEFINITIONS
Unknown partners
FLOW
100Constraint Analyzer/Optimizer
- Constraints can be specified on each activity or
on the process as a whole. - An objective function can also be specified e.g.
minimize cost and supply-time etc - The Web service publishers provide constraints on
the web services. - The constraint optimizer makes sure that the
discovered services satisfy the client
constraints and then optimizes the service sets
according to the objective function.
101Constraint Representation Domain Constraints
Fact OWL expression
Supplier1 is an instance of network adaptor supplier Supplier1 supplies Type1 Supplier1 is a preferred supplier. ltNetworkAdaptorSupplier rdfID"Supplier1"gt ltsupplies rdfresource"Type1"/gt ltsupplierStatusgtpreferred lt/supplierStatusgt lt/NetworkAdaptorSuppliergt
Type1 is an instance of NetworkAdaptor Type1 works with Type1Battery ltNetworkAdaptor rdfID"Type1"gt ltworksWithgt ltBattery rdfID"Type1Battery"gt lt/worksWithgtlt/ NetworkAdaptor gt
102Constraint Representation Process Constraints
Feature Goal Value Unit Aggregation
Cost Optimize Dollars S (minimize total process cost)
supplytime Satisfy lt 7 Days MAX (Max. supply time below Value)
partnerStatus Optimize MIN (Select best partner level lower value for preferred partner)
103Integer Linear Programming
- Constraints are converted into linear
equalities/linear inequalities over a set of
discovered services. - We have used LINDO API which helps in solving ILP
problems. - e.g. if three services match the service template
with a constraint that costlt500 and minimum - A B C 2 (choose 2 services)
- CAA CBB CCC lt 500 (total cost constraint)
- And minimize (CAA CBB CCC) as objective
function (where A, B and C are
binary)
104Working of Constraint Analyzer
DiscoveryEngine
Abstract ProcessSpecifications
Service Template 1
Service Template 2
Service templates and service constraints
Process constraints Supply-timelt7 Costlt400 Min
(Cost, Supply-time)
Supply-time lt 3 Cost lt300 Battery
Supply-time lt 4 Cost lt200 Network Adaptor
ST3 C180
ST4 C200
Domain constraints in ontologies
ST1 C300
ST3 C200
Objective Functionand Process constraintsMin
(supply-time cost)
Optimizer (ILP)
Domain Reasoner (DL)
ST3 C250
ST2 C100
Most optimal set cannot be chosen because of
inter service dependenciesNetwork Adaptor from
supplier 1 does not work battery from supplier 2
ST3 C250
ST2 C100
ST2 C100
ST3 C250
ST4 C200
ST3 C180
ST3 C180
ST4 C200
Ranked Set
Ranked Set
105EXECUTION SEMANTICS
106Execution Semantics
UDDI Registry
UDDI Query
Locate Suppliers
Results
Item Details
Receive Quote
Send Quote Request
Quote Details
Check Inventory
Choose Supplier
- Execution Semantics
- Do the processes violate each others
conversation protocols
Negotiate Agreement
Negotiate Agreement
Receive Order
Send Order
Supplier Process
Customer Process
107Using Colored Petri nets
108DEMOS
- Demo of Semantic Web Service Annotation using
METEOR-S Eclipse Plugin - Demo of Web Process Optimization using METEOR-S
Web service composition tool
109Related Projects
110 OWL-S
- OWL-S (formerly DAML-S) provides support for the
following - Service Advertisements (OWL-S Upper ontology)
- Functional Aspects (IOPEs)
- 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 )
111OWL-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
112OWL-SIntroduction
OWL-S
- OWL-S
- DAML (DARPA Agent Markup Language)
- OWL-S Upper ontology of web services
- OWL-S provides support for the following
elements - Process description.
- Advertisement and discovery of services.
- Selection, composition interoperation.
- Invocation.
- Execution and monitoring.
OWL-S project home page
113OWL-SOntologies
- OWL-S defines ontologies for the construction of
service models - Service Profiles
- Process Models
- Service Grounding
114OWL-SService 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
Web Service
Preconditions. Set of conditions that should hold
prior to the service being invoked.
Effects. Set of statements that should hold true
if the service is invoked successfully.
115Service Profile An example of Inputs and Outputs
- ...
- lt!ENTITY temporal "http//ovid.cs.uga.edu8080/scu
be/daml/Temporal.daml"gt - lt!ENTITY address "http//ovid.cs.uga.edu8080/scub
e/daml/Address.daml"gt - ...
- ltinputgt
- ltprofileParameterDescription rdfID"Addr"gt
- ltprofileparameterNamegt Addr lt/profileparameterN
amegt - ltprofilerestrictedTo rdfresource"addressAdd
ress"/gt - ltprofilerefersTo rdfresource"congocongoBuyR
eceipt"/gt - lt/profileParameterDescriptiongt
- lt/inputgt
- ...
- ltoutputgt
- ltprofileParameterDescription rdfID"When"gt
- ltprofileparameterNamegt When lt/profileparameterN
amegt - ltprofilerestrictedTo rdfresource"temporalDa
te"/gt - ltprofilerefersTo rdfresource"congocongoBuyR
eceipt"/gt - lt/profileParameterDescriptiongt
- lt output gt
Outputs
Inputs
When
Addr
...
,,,
...
116Semantic 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
117WSMO - 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
118Semantic 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
119Semantic 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.
120Semantic Web Services (WSMO)Example of using
mediators
121Other Projects and Initiatives
- 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.
122Conclusions
123Conclusions
- 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.h
tm
124Semantic Web Processes
Questions?
125References Partial List
- WSMO www.wsmo.org
- OWL-S www.daml.org/services/owl-s/
- METEOR-S lsdis.cs.uga.edu/Project
- Aggarwal et al., 2004 Rohit Aggarwal, Kunal
Verma, John A. Miller and William Milnor,
"Constraint Driven Web Service Composition in
METEOR-S," Proceedings of the 2004 IEEE
International Conference on Services Computing
(SCC 2004), Shanghai, China, September 2004 , pp.
23-30 - Cardoso et al., 2004 Jorge Cardoso, Amit P.
Sheth Semantic E-Workflow Composition. J.
Intell. Inf. Syst. 21(3) 191-225 (2003) - Sivashanmugam et al., 2003 Sivashanmugam, K.,
Verma, K., Sheth, A., Miller, J., Adding
Semantics to Web Services Standards, Proceedings
of the 1st International Conference on Web
Services (ICWS'03), Las Vegas, Nevada (June 2003)
pp. 395-401 - Sivashanmugam et al., 2004 Kaarthik
Sivashanmugam, Kunal Verma, Amit P. Sheth,
Discovery of Web Services in a Federated Registry
Environment, Proceedings of IEEE Second
International Conference on Web Services, June,
2004, pp. 270-278Â - Verma et al. 2004 Kaarthik Sivashanmugam, Kunal
Verma, Amit P. Sheth, Discovery of Web Services
in a Federated Registry Environment, Proceedings
of IEEE Second International Conference on Web
Services, June, 2004, pp. 270-278Â - Verma et al. 2004 Kunal Verma, Rama Akkiraju,
Richard Goodwin, Prashant Doshi, Juhnyoung Lee,
On Accommodating Inter Service Dependencies in
Web Process Flow Composition, Proceedings of the
AAAI Spring Symposium on Semantic Web Services,
March, 2004, pp. 37-43
126SOA andSemantic Web Processes
End
127Service Oriented Architectures and Web Services
End
128Back up slides
129Matching 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
130Normalization 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