View
217
Download
1
Tags:
Embed Size (px)
Citation preview
Francisco Curbera1, Amit Sheth2,3, Kunal Verma2
1IBM T.J. Watson Research Center (USA)2LSDIS Lab, University of Georgia
3Semagix, Inc (USA)
Service Oriented Architectures and Semantic
Web Processes
2
2
Service Oriented Architectures and Web Services
Semantic Web Services and Processes
3
3
Semantic Web Processes
Part
Service Oriented Architectures and Web
Services
5
5
Overview
IT for a new business model Service Oriented Architectures (SOAs). Web services as an XML based instantiation
of SOA. Protocols. Metadata. Discovery. Composition.
Summary.
6
6
A New Business Environment
Business outsource every non-essential function. Concentrate on core function and values.
Vertically integrated enterprises are being broken apart Replaced by heavily networked ones. Applications that used to be internal are now provided by outside
parties. Corporate boundaries become fuzzier. Does today’s IT models support the new business environment?
IT is too centered on IT! When enterprises where islands this was sort of OK. Today it is vital to adapt the computing model to the business
interaction model.
7
7
Enterprises as IT Islands
Ad-hoc bridges support interorganizational interactions.
Most application interactions take place inside the enterprise.
Most applications belong to a single administrative domain.
Value added networks and proprietary protocols support most B2B interactions
8
8
Fully Networked Enterprises
The frequency of external interactions and their reach inside the enterprise increases dramatically.
Internal applications seamlessly reach out of the enterprise.
Interacting applications naturally belong to multiple administrative domains.
Web based interactions become pervasive, based on standard protocols
9
9
Fully Networked Business Interactions
The distinction between internal and external applications and providers looses importance
Many potential providers can be found for each required function.
10
10
IT for the New Enterprise: Business Components
Need to raise the level of IT abstractions. Concentrate on business function and requirements.
Need to encapsulate business function to make it available to partners: service components.
Different level granularity – coarse grained business services vs. fine grained objects.
Services must be defined by explicit contracts to allow independent party access.
Consequence is automatic binding. Core concern of business is to integrate business processes and
functions. Business components are integrated creating service compositions. New value is created through integration/composition. New components are recursively created.
11
11
Service Oriented Middleware
Service interactions Peer to peer by nature. Symmetric interaction
model. Mixes synchronous and
asynchronous protocols. Assigns public contracts
to network accessible objects.
Supports capability based service discovery.
ServiceB
ServiceC
ServiceD
ServerA
Registry
QoS=A/B?Iface=Ietc…
12
12
A Plan for Building a SOA
Requirement #1: Interaction protocols must be standardized. Need to ensure the widest interoperability among unrelated institutions.
Requirement #2: Make all contracts explicit. Explicit contracts define what may be changed in an application without
breaking the interaction. It is hard or impossible to make all assumptions explicit, but the more the
better. Requirement #2 : Standardize contract language(s) and formats.
Standard metadata is the basis of interoperable contract selection and execution.
Requirement #3: Allow for points of variability in the contract. Dynamic adaptation on variability points. Increases the number of possible interactions supported.
Requirement #4: Provide native composition models and runtimes.
Web Services As a SOA
SOA and Web Services
14
14
Where Are We on Web Services?
SOAP (Logical Messaging)SOAP (Logical Messaging)SOAP (Logical Messaging)SOAP (Logical Messaging)InteractionInteractionInteractionInteraction
WSDL, WS-Policy, UDDI, InspectionWSDL, WS-Policy, UDDI, InspectionWSDL, WS-Policy, UDDI, InspectionWSDL, WS-Policy, UDDI, Inspection
Quality Quality of Serviceof ServiceQuality Quality
of Serviceof ServiceTransactionsTransactionsTransactionsTransactions
CompositionCompositionCompositionCompositionBPEL4WSBPEL4WSBPEL4WSBPEL4WS
XML, EncodingXML, EncodingXML, EncodingXML, EncodingOther protocolsOther servicesOther protocolsOther services
ReliableReliableMessagingMessagingReliableReliable
MessagingMessagingSecuritySecuritySecuritySecurity
DescriptionDescriptionDescriptionDescription
Protocols
SOA and Web services
16
16
Protocols
Provides a common set of universally supported interaction protocols.
A basic messaging layer SOAP Easily extensible, allows QoS protocols to be defined on top.
Some basic QoS protocols: Basic requirements of business interactions. Provide guarantees Message Reliability, WS-ReliableMessaging Coordination and transactional interactions. Message integrity, confidentiality
17
17
SOAP Messaging
Request (service invocation)
Response
Application
Service Requestor
SOAP Middleware
Network Protocol
Application web service
Service Provider
SOAP Middleware
Network Protocol
1 2 3 4
Metadata
SOA and Web services
19
19
Metadata
WSDL: Functional descriptions. WS-Policy: QoS Points of variability: dynamic infrastructure.
20
20
What is WSDL
An extensible, platform independent XML language for “describing” services.
Provides functional description of Web services: IDL description Access protocol and deployment details All of the functional information needed to programmatically access
a service, contained within a machine-readable format Does not include
QoS Taxonomies Business information
WSDL is a component definition language for Web service component
21
21
WSDL Description Structure
<types> …
<message name=“Msg1”/> …
<portType name=“PType1”> …
<binding name=“Bnd1” type=“PType1”> …
Abstract/Business
<service name=“svc1”>
<port binding=“Bnd1” >
<soap:address location=“...”/>
</port>
</service>
Deployment
<definitions>
</definitions>
22
22
WSDL Parts At a Glance
made concrete by
contains one or more
part
abstract interfaceportType
(abstract)operation
(concrete)message(abstract)
message
concrete implementationbinding
(concrete)operation
(concrete)message(concrete)
message
service concrete endpointport
types
23
23
WSDL Status
WSDL 1.1 was submitted to the W3C on February 2001.
http://www.w3.org/TR/WSDL
WSDL 2.0 is now being defined by the WS Descriptions working group at W3C. Last draft (June 2002) available at
http://www.w3.org/2002/ws/desc/
24
24
WS-PolicyFramework
Complements functional description of services with QoS behaviors.
General framework for declaratively asserting how a service may be accessed: Requirements Constraints Capabilities
WS-Policy provides a general framework in which arbitrary domain specific “assertions” are used. Security Transactions Reliable messaging
25
25
Policy Expressions
001 <wsp:Policy id=“…”>002 <wsp:ExactlyOne>003 <wsp:All>004 <wsse:SecurityToken>005 <wsse:TokenType>wsse:Kerberosv5TGT</wsse:TokenType>006 </wsse:SecurityToken>007 <wsse:Integrity>008 <wsse:Algorithm Type="wsse:AlgSignature“ … />009 </wsse:Integrity>010 </wsp:All>011 <wsp:All>012 <wsse:SecurityToken>013 <wsse:TokenType>wsse:X509v3</wsse:TokenType>014 </wsse:SecurityToken>015 <wsse:Integrity>016 <wsse:Algorithm Type="wsse:AlgEncryption“ …/>017 </wsse:Integrity>018 </wsp:All>019 </wsp:ExactlyOne>020 </wsp:Policy>
26
26
Dynamic Middleware Reconfiguration
Effective dynamic binding requires run-time adaptation of middleware configuration: J2EE focused on moving
middleware configuration away from the code developer and into the deployment phase.
SOC requires moving it further to follow runtime discovery of services:
Seamlessly adapt to policy settings of target, select among possible options, carry on basic a policy negotiation.
27
27
WS-Policy
Status: WS-Policy specifications published withy RF licensing terms at:http://www-106.ibm.com/developerworks/webservices/library/ws-polfram/summary.html
WS-PolicyFramework WS-PolicyAttachments
To be submitted for standardization.
Discovery
SOA and Web services
29
29
Discovery Infrastructure
Registries Requesters search for providers in third party
central directory. Provider policies are retrieved from registry. Requester interacts according to discovered
policies. Will not deal with here.
Metadata exchange Requesters and providers can exchange policies
directly, no third party involved.
Composition
SOA and Web services
31
31
Service Composition
Service composition is the core sw. development task in SOA. Applications are created by combining the basic building blocks
provided by other services. Service compositions may themselves become services,
following a model of recursive service composition. Composition assumes an interaction model between
components: P2P conversational interactions. Interactions are naturally multi-party interactions.
Many composition models are possible. We know about two: Process oriented composition – BPEL4WS Distributed composition – WSFL Global models.
32
32
BPEL Concepts
A BPEL process defines the structure of the interaction in terms of
participant services (partners) Characterize partnersProvide support partner conversation
business logic.DataControl flowError handling and recovery mechanism
33
33
Structure of a BPEL4WS Process
<process ...>
<partners> ... </partners><!-- Web services the process interacts with -->
<correlationSets> ... </correlationSets><!– Used to support asynchronous interactions -->
<variable> ... </variable><!– Data used by the process -->
<faultHandlers> ... </faultHandlers><!–Alternate execution path to deal with faulty conditions -->
<compensationHandlers> ... </compensationHandlers> <!–Code to execute when “undoing” an action --> (activities)*
<!– What the process actually does --></process>
Partner information
Business logic
34
34
Global Models, an Example
2-collect from customer
Cable Co.
1-send notice
3-send ultimatum
4-pay in full
5-stop collection& pay
6-notify: done
Customer
CollectionsAgency
Cable Co.
1-send notice
2-collect from customer
3-send ultimatum
5-notify&pay
6-pay in full
CollectionsAgency
Customer
Customer1-send notice
2-pay in fullCable Co.
Summary
SOA and Web services
36
36
Web Services as an Instantiation of SOA
SOA is more than “publish/find/bind”. Implies a completely business re-orientation of
computing. SOA builds on:
Standard interaction protocols. A component model, as defined by service contracts. A conversational interaction model. A set of service composition model.
Web services provide an XML based instantiation of SOA.
37
37Service Oriented Architectures and Web Services
End
38
38
Part
39
39
Semantic Web Processes Overview
Introduction Semantic Web Processes Life cycle Projects/initiatives
OWL-S WSMO METEOR-S
METEOR-S Front end Web services Semantic Annotation
Web services Discovery
METEOR-S Back End Semantic Process Composition
Conclusions
40
40
Our Focus (1)
Supporting Web Processes on multi-enterprise and Web scale require addressing heterogeneity/integration, scalability, dynamic change and performance challenges
Semantics is seen as the key enabler to address these challenges; Semantic Web Processes build upon Web Services and Semantic Web technologies
This part of tutorial is about adding semantics to Web Services, and exploiting them in Web Process Lifecycle (Specification, Discovery, Composition, Execution)
Functional perspective takes form of process composition involving Web Service Discovery, handling semantic heterogeneity [modeling data i/o, state (pre/post condition) and function]
Operational perspective takes form of the research on QoS Specification for Web Services and Processes [modeling QoS and execution behavior]
41
41
Semantics
Our Focus (2)
Web Processes
Web Process Composition Web Process QoS
Web Service Annotation Web Service Discovery
Web Services
Web Service QoS
Execution
42
42
The Basics
What are
Web Services,
Web Processes, and Semantics?
What are
Web Services,
Web Processes, and Semantics?
43
43
Web ProcessAn Example
t3
t6t5
t4t2
PrepareSample
Prepare Clonesand
Sequence
Get SequencesTest Quality
Assembly
t7
Sequence Processing
+
t1
Setup
t8
ProcessReport
+
Organization AOrganization B
Organization C
Web ProcessesWeb Processes
44
44
What are Web Processes (1)?
Web Processes are next generation workflow technology to facilitate the interaction of organizations with markets, competitors, suppliers, customers etc. supporting enterprise-level and core business activities encompass the ideas of both intra and inter organizational
workflow. created from the composition of Web services can use BPEL4WS to represent composition, but how to get
there?
Web ProcessesWeb Processes
45
45
Web Process Design
WS1
WS3
WS4
WS2
WS7
WS6
Web Processes Composition
WS5
WS9
Web ProcessesWeb Processes
WS8
Web services
46
46
Web ProcessesWorkflows DistributedWorkflows
GlobalEnterprise Inter-Enterprise
B2B E-Services
Globalization of Processes
Processes driving the Networked Economy
47
47
BIG Challenges
Heterogeneity and Autonomy Syntactic, semantic and pragmatic Complex rules/regulations related to B2B and e-
commerce interactions Solution: Machine processable descriptions
Dynamic nature of business interactions Demands: Efficient Discovery, Composition, etc.
Scalability (Enterprises Web) Needs: Automated service discovery/selection and
composition
Proposition: Semantics is the most important enabler to address these challenges.
Proposition: Semantics is the most important enabler to address these challenges.
48
48
Semantics, Ontologies, Semantic Web Processes
When Web services and other descriptions that define a Web process are semantically described, we may call such process as Semantic Web Processes.
An ontology provides semantic grounding. It includes a vocabulary of terms, and some specification of their meaning.
The goal is to create an agreed-upon vocabulary and semantic structure for exchanging information about that domain.
Temporal-Entity
Time-Point
Date Time
Time Domain
Event
Scientific-Event
Calendar-Date
{absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
{dayOftheWeek, monthOftheYear}
Acknowledement: Jorge Cardoso
49
49
Gen. Purpose,Broad Based
Scope of AgreementTask/ App
Domain Industry
CommonSense
Degre
e o
f Ag
reem
en
t
Info
rmal
Sem
i-Form
al
Form
al
Agreement About
Data/Info.
Function
Execution
Qos
Broad Scope of Semantic (Web) Technology
Oth
er d
ime
nsio
ns:
how
ag
reem
ents
are
re
ach
ed
,…
Current Semantic Web Focus
Semantic Web Processes
Lots of Useful
SemanticTechnology
(interoperability,Integration)
Cf: Guarino, Gruber
METEOR-S
51
51
Semantics for Web Processes
Data/Information Semantics What: (Semi-)Formal definition of data in input and output messages of a web service Why: for discovery and interoperability How: by annotating input/output data of web services using ontologies
Functional Semantics (Semi-) Formally representing capabilities of web service for discovery and composition of Web Services by annotating operations of Web Services as well as provide preconditions and effects
Execution Semantics (Semi-) Formally representing the execution or flow of a services in a process or
operations in a service for analysis (verification), validation (simulation) and execution (exception handling) of
the process models using State Machines, Petri nets, activity diagrams etc.
QoS Semantics (Semi-) Formally describing operational metrics of a web service/process (incl.
TPA/SLA) To select the most suitable service to carry out an activity in a process using QoS model [Cardoso and Sheth, 2002] and QoS ontology for web services
52
52
Data and Functional Ontologyan example based on Rosettanet
Functions
Data
53
53
QoS Ontology in METEOR-S
54
54
Data/ Information
Semantics
Development/ Description/ Annotation WSDL, WSEL
OWL-SWSDL-S
METEOR-S (MWSAF)
Publication/ Discovery
UDDIWSIL, OWL-SMETEOR-S
(MWSDI)Composition(Choreography?)
BPEL, BPML, WSCI, WSCL,
OWL-S, METEOR-S (MWSCF)
Execution(Orchestration?)
BPWS4J, Commercial BPEL Execution Engines,
Intalio n3, HP eFlow
Semantics for Web Process Life-Cycle
55
55
Data/ Information
Semantics
Publication/ Discovery
WSDL, WSELOWL-S
WSDL-SMETEOR-S (MWSAF)
UDDIWSIL, OWL-SMETEOR-S
(MWSDI)
BPWS4J, Commercial BPEL Execution Engines,
Intalio n3, HP eFlow
Development/ Description/ Annotation
Composition(Choreography?)
Execution(Orchestration?)
BPEL, BPML, WSCI, WSCL,
OWL-S, METEOR-S (MWSCF)
Semantics for Web Process Life-Cycle
56
56
Functional/ Operational
Semantics
Publication/ Discovery
WSDL, WSELOWL-S
WSDL-SMETEOR-S (MWSAF)
UDDIWSIL, OWL-SMETEOR-S
(MWSDI)
BPWS4J, Commercial BPEL Execution Engines,
Intalio n3, HP eFlow
Development/ Description/ Annotation
Composition(Choreography?)
Execution(Orchestration?)
BPEL, BPML, WSCI, WSCL,
OWL-S, METEOR-S (MWSCF)
Semantics for Web Process Life-Cycle
57
57
QoSSemantics
Publication/ Discovery
WSDL, WSELOWL-S
WSDL-SMETEOR-S (MWSAF)
UDDIWSIL, OWL-SMETEOR-S
(MWSDI)
BPWS4J, Commercial BPEL Execution Engines,
Intalio n3, HP eFlow
Development/ Description/ Annotation
Composition(Choreography?)
Execution(Orchestration?)
BPEL, BPML, WSCI, WSCL,
OWL-S, METEOR-S (MWSCF)
Semantics for Web Process Life-Cycle
58
58
ExecutionSemantics
Publication/ Discovery
WSDL, WSELOWL-S
WSDL-SMETEOR-S (MWSAF)
UDDIWSIL, OWL-SMETEOR-S
(MWSDI)
BPWS4J, Commercial BPEL Execution Engines,
Intalio n3, HP eFlow
Development/ Description/ Annotation
Composition(Choreography?)
Execution(Orchestration?)
BPEL, BPML, WSCI, WSCL,
OWL-S, METEOR-S (MWSCF)
Semantics for Web Process Life-Cycle
59
59
Publication/ Discovery
WSDL, WSELOWL-S
WSDL-SMETEOR-S (MWSAF)
UDDIWSIL, OWL-SMETEOR-S
(MWSDI)
BPWS4J, Commercial BPEL Execution Engines,
Intalio n3, HP eFlow
Semantics Required for Web Processes
ExecutionSemantics
QoSSemantics
Functional/ Operational
Semantics
Data/ Information
Semantics
Development/ Description/ Annotation
Composition(Choreography?)
Execution(Orchestration?)
BPEL, BPML, WSCI, WSCL,
OWL-S, METEOR-S (MWSCF)
Semantics for Web Process Life-Cycle
60
60
Semantics at Different Layers
Publication
Discovery
Description
Messaging
Network
Flow
Description Layer Why: • Unambiguously understand the functionality of the services,
the semantics of input/output data, and QoS of services
How: • Using Ontologies to semantically annotate WSDL
constructs (conforming to extensibility allowed in WSDL specification version 1.2/2.0) – WSDL-S : Incorporates all types of semantics in the
service description – Tools for (semi-)automatic semantic annotation of
Web Services (e.g., METEOR-S MWSAF)
Present scenario: • WSDL descriptions are mainly syntactic (provides
operational information and not functional information)
• Semantic matchmaking is not possible
61
61
WSDL-S
<?xml version="1.0" encoding="UTF-8"?><definitions
name = "BatterySupplier"targetNamespace = "http://lsdis.cs.uga.edu/meteor/BatterySupplier.wsdl20"xmlns = "http://www.w3.org/2004/03/wsdl"xmlns:tns = "http://lsdis.cs.uga.edu/BatterySupplier.wsdl20"xmlns:rosetta = " http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/pips.owl "
xmlns:mep=http://www.w3. rosetta:PurchaseOrderStatusResponse org/TR/wsdl20-patterns> <interface name = "BatterySupplierInterface" description = "Computer PowerSupply Battery Buy Quote Order Status " domain="naics:Computer and Electronic Product Manufacturing" > <operation name = "getQuote" pattern = "mep:in-out" action = "rosetta:#RequestQuote" >
<input messageLabel = ”qRequest” element = "rosetta:#QuoteRequest" /> <output messageLabel = ”quote” element = "rosetta:#QuoteConfirmation" /> </operation> <operation name = "placeOrder" pattern = "mep:in-out" action = "rosetta:#RequestPurchaseOrder" >
<input messageLabel = ”order” element = "rosetta:#PurchaseOrderRequest" /> <output messageLabel = ”orderConfirmation” element = "rosetta:#PurchaseOrderConfirmation" />
<exception element = "rosetta:#DiscountinuedItemException" /> <pre condition = " order.PurchaseOrder.PurchaseOrderLineItem.RequestedQuantity > 7" /> </operation> <operation name = "checkStatus" pattern="mep:in-out" action = "rosetta:#QueryOrderStatus" >
<input messageLabel = ”statusQuery” element = "rosetta:#PurchaseOrderStatusQuery" /> <output messageLabel = ”status” element = "rosetta:#PurchaseOrderStatusResponse" /> <exception element = "rosetta:#OrderNumberInvalidException" />
</operation> </interface></definitions>
Function from Rosetta Net
Ontology
Data from Rosetta Net
Ontology
62
62
Semantics at Different Layers (contd..)
Publication
Discovery
Description
Messaging
Network
Flow
Publication and Discovery Layers Why: • Enable scalable, efficient and dynamic publication and
discovery (machine processable / automation)
How: • Use federated registries categorized by domans • Publish services based on domains• Capture the WSDL-S annotations in UDDI
Present scenario:
• Suitable for simple searches ( like services offered by a provider, services that implement an interface, services that have a common technical fingerprint, etc.)
• Categories are too broad
• Automated service discovery (based on functionality) and selecting the best suited service is not possible
63
63
MWSDI
subDomainOf
supports
belongsTo
consistsOf
belongsToFederation
Ontology
Registry
Domain
RegistryFederation
64
64
Semantics at Different Layers (contd..)
Publication
Discovery
Description
Messaging
Network
Flow
Flow Layer: Why: • Design (composition), analysis (verification), validation
(simulation) and execution (exception handling) of the process models
• To employ mediator architectures for dynamic composition, control flow and data flow based on requirements
How: Using• Templates to capture semantics
(functionality/preconditions/effects/QoS) of the participating services and for the process
• Knowledge of conversation patterns supported by the service• Formal mathematical models like process algebra, concurrency
formalisms like State Machines, Petri nets etc.• Simulation techniques Present Scenario: • Composition of Web services is static• Dynamic service discovery, run-time binding, analysis and
simulation are not directly supported
65
65
Using Colored Petri nets
66
66
Semantic Web Processes and Services (METEOR-S)
Service Advertisements (WSDL-S) Functional Aspects (IOPE’s) Non functional Aspects (QoS ontology) Interaction Protocol (State Machine / Colored Petri nets) Semi-automatic annotation of WSDL
Discovery of services (MWSDI) Subsumption based discovery Peer to peer network of UDDI Registries
Composition (METEOR-S ) Design time binding to BPEL along with optimization
67
67
Semantics in METEOR-S and WS stack
Publication
Discovery
Description
Messaging
Network
Flow
MWSDI: Scalable Infrastructure of Registries for Semantic publication and discovery of Web Services
MWSAF: Semantic Annotation of WSDL (WSDL-S)
MWSCF: Semantic Web Process Composition Framework
METEOR-S at the LSDIS Lab exploits Workflow, Semantic Web, Web Services, and Simulation technologies to meet these challenges in a practical and
standards based approach
http://swp.semanticweb.org, http://lsdis.cs.uga.edu/proj/meteor/swp.htm
68
68
METEOR-S Architecture
Front-End
Back-End
METEOR-S Web Service Annotation Framework
70
70
MWSAF- METEOR-S Web Service Annotation Framework
Name
Year
Date
Duration
City
Outputs
Interfaces
Inputs
Area
Coordinates
City Forrest
XML Schema Data type hierarchy
Temporal-Entity
TimeInterval
Time-Point
Date Time
TimeDomain
Event
Scientific-Event
Calendar-Date
{absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
{dayOftheWeek, monthOftheYear}
= Time - Ontology
= Local ontology
{name}
{x, y}
Get ConferenceInformation
Ontologies
Web Service
QoS OntologyQoS Ontology
<xsd:complexType name=“Date"><xsd:sequence> <xsd:element name=“year" type="xsd:integer" /> <xsd:element name=“month" type="xsd:integer" /> <xsd:element name=“day" type="xsd:byte" /> </xsd:sequence></xsd:complexType>
<portType name=“ConferenceInformation"><operation name="getInformation"> <input message="tns:Data" /> <output message="tns:ConferenceInformation" /> </operation>
Conference Information Functions
Information Function
Get Information Get Date
Data Semantics
FunctionalSemantics
WSDL
WSDL
QoSSemantics
Min
Quality
71
71
Matching Issues (WSDL and Ontologies)
Expressiveness Different reasons behind their development
XML Schema used in WSDL for providing basic structure to data exchanged by Web services
Ontologies are developed to capture real world knowledge and domain theory
Knowledge captured XML Schema has minimal containment relationship Language used to describe ontologies model real world entities as
classes, their properties and provides named relationships between them
Solution Use hueristics to create normalized
representation We call it SchemaGraph
72
72
Normalization – SchemaGraph
What is SchemaGraph ? Normalized representation to capture XML Schema and DAML
Ontology
How to use SchemaGraph Conversion functions convert both XML Schema and Ontology to
SchemaGraph representation
XML schema used by WSDL → W = {wc1, wc2, wc3, …, wcn} where, wci is an element in XML schema and n is the number of elements
Ontology → O = {oc1, oc2, oc3, …, ocm} where, oci is a concept in Ontology and m is the number of concepts
Match function takes both W and O and returns a set of mappings
73
73MWSAF – XML Schema to SchemaGraph
Rule XML Schema constructs SchemaGraph representation
1 Element, Node
2 simpleType Node
3 Enumeration values defined for simpleType S
Node with edge between simpleType S node and value node with name “hasValue”
4 ComplexType Node
5 Sub-elements of complexType C which have range as basic XML datatypes
Node with edge between complexType C node and this node with name “hasElement”
6 Sub-elements of complexType C which have range as complexTypes or simpleTypes or elements defined in same schema
Edge between complexType C node and the range type node
74
74MWSAF – XML Schema to SchemaGraph
- <xsd:complexType name="WeatherReport">- <xsd:sequence> <xsd:element name="phenomena" type="xsd1:Phenomenon" /> <xsd:element name="wind" type="xsd1:Wind" /> </xsd:sequence> </xsd:complexType>- <xsd:complexType name="Phenomenon">- <xsd:sequence> <xsd:element name="type" type="xsd1:PhenomenonType" /> <xsd:element name=“intensity" type="xsd1:PhenomenonIntensity" /> </xsd:sequence> </xsd:complexType>- <xsd:complexType name="Wind">- <xsd:sequence> <xsd:element name="gust_speed" type="xsd:double" /> <xsd:element name="prevailing_direction" type="xsd1:Direction" /> </xsd:sequence> </xsd:complexType>- <xsd:simpleType name="PhenomenonType">- <xsd:restriction base="xsd:string"> <xsd:enumeration value="MIST" /> <xsd:enumeration value="FOG" /> <xsd:enumeration value=“SNOW" /> <xsd:enumeration value="DUST" /> </xsd:restriction> </xsd:simpleType>
WeatherReport
WindPhenomenon
Directiongust_speedPhenomenonType
PhenomenonIntensity
MIST FOG SNOW DUST
phenomenawind
prevailing_directionhasElement
intensity
type
oneOf oneOf
oneOfoneOf
Rule 3
Rule 1 simpletype => Node
Rule 1complextype => Node
Rule 6
Rule 5
Rule 1Element => Node
75
75MWSAF - Ontology to SchemaGraph
Rule Ontology representation SchemaGraph representation
1 Class Node
2 Property of class D with basic datatype as range (Attribute)
Node with edge joining it to class D node with name “hasProperty”
3 Property of class D with other class R as range (Relation)
Edge between class D node and range class R node
4 Instance of class C Node with edge joining class C node to instance node with name “hasInstance”
5 Class(X)-subclass(Y) relationship Edge between class X node and class Y node with name “hasSubclass”
76
76MWSAF - Ontology to SchemaGraph
- <daml:Class rdf:ID="WeatherPhenomenon"> <rdfs:comment>Superclass for all weather events</rdfs:comment> <rdfs:label>Weather event</rdfs:label> </daml:Class>- <daml:Class rdf:ID="WindEvent"> <rdfs:subClassOf rdf:resource="#WeatherPhenomenon" /> </daml:Class>- <daml:Property rdf:ID="windDirection"> <rdfs:domain rdf:resource="#WindEvent" /> </daml:Property>- <daml:Class rdf:ID="GustingWindEvent"> <rdfs:subClassOf rdf:resource="#WindEvent" /> </daml:Class>- <daml:Class rdf:ID="CurrentWeatherPhenomenon"> <rdfs:subClassOf rdf:resource="#WeatherPhenomenon" /> </daml:Class>- <daml:Class rdf:ID="OtherWeatherPhenomena"> <rdfs:subClassOf rdf:resource="#CurrentWeatherPhenomenon" /> </daml:Class> - <daml:Class rdf:ID="Duststorm"> <rdfs:subClassOf rdf:resource="#OtherWeatherPhenomena" /> </daml:Class>- <daml:Class rdf:ID="PrecipitationEvent"> <rdfs:subClassOf rdf:resource="#CurrentWeatherPhenomenon" /> </daml:Class>- <daml:Class rdf:ID="SolidPrecipitationEvent"> <rdfs:subClassOf rdf:resource="#PrecipitationEvent" /> </daml:Class>- <daml:Class rdf:ID="Snow"> <rdfs:subClassOf rdf:resource="#SolidPrecipitationEvent" /> </daml:Class>- <daml:Class rdf:ID="ObscurationEvent"> <rdfs:subClassOf rdf:resource="#CurrentWeatherPhenomenon" /> </daml:Class>- <daml:Class rdf:ID="Fog"> <rdfs:subClassOf rdf:resource="#ObscurationEvent" /> </daml:Class>- <daml:Class rdf:ID="Mist"> <rdfs:subClassOf rdf:resource="#ObscurationEvent" /> </daml:Class>
WeatherPhenomenon
CurrentWeatherPhenomenon
WindEvent
GustingWindEvent
windDirection
ObsucurationEvent
PrecipitationEvent
OtherWeatherPhenomenon
Duststorm
Snow Mist Fog
SolidPrecipitationEvent
Rule 1
Rule 2Rule 5
Proposed Standard WSDL-S
78
78
WSDL-S Metamodel
79
79
WSDL-S
<?xml version="1.0" encoding="UTF-8"?><definitions
name = "BatterySupplier"targetNamespace = "http://lsdis.cs.uga.edu/meteor/BatterySupplier.wsdl20"xmlns = "http://www.w3.org/2004/03/wsdl"xmlns:tns = "http://lsdis.cs.uga.edu/BatterySupplier.wsdl20"xmlns:rosetta = " http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/pips.owl "
xmlns:mep=http://www.w3. rosetta:PurchaseOrderStatusResponse org/TR/wsdl20-patterns> <interface name = "BatterySupplierInterface" description = "Computer PowerSupply Battery Buy Quote Order Status " domain="naics:Computer and Electronic Product Manufacturing" > <operation name = "getQuote" pattern = "mep:in-out" action = "rosetta:#RequestQuote" >
<input messageLabel = ”qRequest” element = "rosetta:#QuoteRequest" /> <output messageLabel = ”quote” element = "rosetta:#QuoteConfirmation" /> </operation> <operation name = "placeOrder" pattern = "mep:in-out" action = "rosetta:#RequestPurchaseOrder" >
<input messageLabel = ”order” element = "rosetta:#PurchaseOrderRequest" /> <output messageLabel = ”orderConfirmation” element = "rosetta:#PurchaseOrderConfirmation" />
<exception element = "rosetta:#DiscountinuedItemException" /> <pre condition = " order.PurchaseOrder.PurchaseOrderLineItem.RequestedQuantity > 7" /> </operation> <operation name = "checkStatus" pattern="mep:in-out" action = "rosetta:#QueryOrderStatus" >
<input messageLabel = ”statusQuery” element = "rosetta:#PurchaseOrderStatusQuery" /> <output messageLabel = ”status” element = "rosetta:#PurchaseOrderStatusResponse" /> <exception element = "rosetta:#OrderNumberInvalidException" />
</operation> </interface></definitions>
Function from Rosetta Net
Ontology
Data from Rosetta Net
Ontology
Semantic Web Service Discovery in METEOR-S
METEOR-S Web Service Discovery Infrastructure
81
81
Discovery New Requirements
A
C D
N1 N2 FE
B8
A1A4 A1 A2
A4
B3
A1A4 A6
A2A2
A5
Before
A
C D
N1 N2 FE
A4 A1A1
A4 A1 A4 A1 A2A1 A1A1 A1B3 A1
B3
A1
A2A1
B3
A1A4 A1 A2
A1B3
A1A4 A1 A2
A1
B3
A1
A1
B3
A1A4 A1 A2
A1
B3
A1A4 A2
A1
B3 A1A4 A1 A2
B3 A1A1
B3
A1A4 A1 A2
A1
B3
A1A4 A1
A2A1
B3 A1A4 A1 A2
A1B3
A1A4 A1 A2
A1
A1A4 A1
A1A4 A1 A2B3
A1A4
A1A2A1
B3
A1
A4A1 A2
A1
B3
A1A4 A1 A2
B3A1
A4 A1 A2A1
B3
A1A4 A1 A2
A1B3
A1A4 A1 A2
A1
A4
A4
A1
A4 A1
A1 A4 A1 A2
B3
A1A4 A1
A2
A1
B3
A1
A4
A1
A2B3
A1
A4 A1 A2A1
A4
A1
A4 A1
A1A4 A1 A2
A1
A1
A4 A1 A2A1
A1A4
A1
B3A1
A1A1
B3
A1A4 A1 A2
A1B3
A1A4 A1 A2
A1
A1 A2
A1
A4 A2A4 A2A2
A1
A1
B3
A1A4 A1 A2
A1
Now
QoS
QoS
Tasks
Workflow
Web Services
Web Process
Web ServiceDiscovery
Web ServiceDiscovery
82
82
Present Discovery MechanismKeyword and attribute-based search
UDDI :Keyword and attribute-based search Example: “Quote”
Microsoft UBR returned 12 services Human reading of description (Natural Language) help me
understand: 6 Entries are to get Famous Quotes 1 Entry for personal auto and homeowners quoting 1 Entry for multiple supplier quotes on all building materials
Categorization suggested for UDDI is useful but inadequate (what does the WS do?) :
1 Entry for Automobile Manufacturing 1 Entry for Insurance agents, brokers, & service
Alternatively read and try to understand WSDL 1 Entry related to security details (Human Understanding) 1 Test Web service for Quotes (which quote?)
Web ServiceDiscovery
Web ServiceDiscovery
83
83
Semantic Discovery: Overview
Annotation and Publication WSDL file is annotated using ontologies and the annotations
are captured in UDDI
Discovery Requirements are captured as templates that are
constructed using ontologies and semantic matching is done against UDDI entries
Functionality of the template, its inputs, outputs, preconditions and effects are represented using ontologies
Use of ontologies brings service provider and service requestor to a common
conceptual space helps in semantic matching of requirements and
specifications
84
84
Discovery in Semantic Web Using Semantics
Functionality: What capabilities the requestor expects from the service (Functional semantics)
Inputs: What the requestor can give to the to the Web service (Data semantics)
Outputs: What the requestor expects as outputs from the service (Data semantics)
QoS: Quality of Service the distributor expects from the service (QoS semantics)
Web ServiceDiscovery
Web ServiceDiscovery
(Functional semantics)(Data semantics)(QoS semantics)(Syntactic description)
Description: Natural language description of the service functionality (Syntactic description)
85
85
The Web service discovery and integration process is carried out by a key operation:
The match function.
The matching step is dedicated to finding correspondences between a service template (ST, i.e., a query) and a service advertisement (SO).
DiscoveryThe Match Function
86
86
The Match Function
HotelReservation
HotelReservation
TravelReservation
Get UserInformationGet User
Information
Get ConferenceInformation
Get ConferenceInformation
Conference
Employee ID
DateDuration
City
DateDuration
City
User NameAddress
User NameAddress
ItineraryItinerary
Conference RegistryService
Hotel Reservation Service
?
A BStart End
SA2SA2
SA3SA3
0.990.34 0.74
Match FunctionSA1SA10.14
0.980.68
0.430.31
0.76
ST
f(ST, SA1) f(ST, SA2) f(ST, SA3)
ST
Web Process
87
87
Syntactic, QoS, and Semantic (Functional & Data) Similarity
Name,Description,
….
Name,Description,
….
Name,Description,
…
Name,Description,
…
XY
ABC
Web Service Web Service
Similarity ?
A2A2A1A1Calendar-Date
…
…
Event
…
Similarity ?
Web Service Web Service
Functional & Data Similarity
Functional & Data Similarity
]1..0[, and
],1..0[).,.().,.(
),(
21
21
21
sdSOsdSTSynDSsnSOsnSTSynNS
SOSTtySynSimilar
3 ),,(QoSdimD*),,(QoSdimD*),,(QoSdimD
),ty(OpSimilari
yreliabilitSOSTcostSOSTtimeSOST
SOST
SyntacticSimilaritySyntacticSimilarity
PurchasePurchaseBuyBuy
XY
ABC
QoS QoS
Web Service Web Service
Similarity ?
QoSSimilarity
QoSSimilarity
Web ServiceDiscovery
Web ServiceDiscovery
Area
Coordinates
Forrest
{name}
{x, y}
Information Function
Get Information Get Date
88
88
The Match FunctionSemantic Similarity
Purely syntactical methods that treat terms in isolation from their contexts. It is insufficient since they deal with syntactic but not with
semantic correspondences Users may express the same concept in different ways.
Therefore, we rely on semantic information to evaluate the similarity of concepts that define ST and SA interfaces.
This evaluation will be used to calculate their degree of integration.
89
89
The Match FunctionSemantic Similarity
When comparing service templates with service advertisements, the following cases should be considered to be good
1. The input and output concepts are the same (ST(I) == SA(I) & ST(O) == SA )
2. The concept ST(I) subsumes concept ST(O) (O>I)
3. c) the concept O subsumes concept I (O<I), or 4. d) concept O is not directly related to concept I
(OI).
90
90
The Match FunctionSemantic Similarity
When comparing service templates with service advertisements, the following cases should be considered to be exact matches
1. The input and output concepts of service template and advertisement are the same (ST(I) = SA(I) and ST(O) = SA(O) )
2. The concept SA(I) subsumes concept ST(I). That is, requestor provides more information than the service needs SA(I) > ST(I)
3. The concept ST(O) subsumes concept SA(O). That is, the service provides more information than the requestor needs ST(O) > SA(O)
Otherwise, number of similar properties are used as a measure of similarity
91
91
The Match FunctionSemantic Similarity ((O) = (I))
Temporal-Entity
TimeInterval
Time-Point
Date Time
TimeDomain
Event
Scientific-Event
Calendar-Date
{absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
{dayOftheWeek, monthOftheYear}
Temporal-Entity
TimeInterval
Time-Point
Date Time
TimeDomain
Event
Scientific-Event
Calendar-Date
{absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
{dayOftheWeek, monthOftheYear}
a)
b)
c)
d)
ST1,2 (output) SO1,2,3,4 (input)
Time ontology Time ontology
1
2
1
2
3 4
A2A2A1A1Calendar-Date
…
…
Event
…
Similarity ?
Web Service Web Service
Acknowledement: Jorge Cardoso
92
92
The Match Function
Temporal-Entity
TimeInterval
Time-Point
Date Time
TimeDomain
Event
Scientific-Event
Calendar-Date
{absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
{dayOftheWeek, monthOftheYear}
Temporal-Entity
TimeInterval
Time-Point
Date Time
TimeDomain
Event
Scientific-Event
Calendar-Date
{absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
{dayOftheWeek, monthOftheYear}
a)
b)
c)
d)
ST1,2 (output) SO1,2,3,4 (input)
Time ontology Time ontology
1
2
1
2
3 4
SA2SA2
STSTDate Event
Date
Service Template
ServiceAdvertisement
Event
SA1SA1Date
ServiceAdvertisement
Scientific-Event
Acknowledement: Jorge Cardoso
93
93
The Match FunctionSemantic Similarity ((O) = (I))
A?A?A1A1
Date
…
…
Date
…Similarity ?
Web Service Web Service
Temporal-Entity
Time-Point
Date Time
TimeDomain
Event
Scientific-Event
Calendar-Date
{ absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
dayOftheWeek, monthOftheYear}
Temporal-Entity
Time-Point
Date Time
TimeDomain
Event
Scientific-Event
Calendar-Date
{ absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
{ dayOftheWeek, monthOftheYear}
1
2
1
2
3 4
IOIOSimilarity
IOIp
OpIO
IO
IOSemS
),,('
,|)(|
|)(|,1
,1
),('
IOIOSimilarity
IOIp
OpIO
IO
IOSemS
),,('
,|)(|
|)(|,1
,1
),('
New
100 %100 %
Acknowledement: Jorge Cardoso
94
94
The Match Function(ST(I) = SA(I) and ST(O) = SA(I))
Temporal-Entity
Time-Point
Date Time
TimeDomain
Event
Scientific-Event
Calendar-Date
{ absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
dayOftheWeek, monthOftheYear}
Temporal-Entity
Time-Point
Date Time
TimeDomain
Event
Scientific-Event
Calendar-Date
{ absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
{ dayOftheWeek, monthOftheYear}
1
2
1
2
3 4
STSTDate Event
Service Template
SA1SA1Date
Service Advertisement
Event
Acknowledement: Jorge Cardoso
95
95
The Match Function(SA(I) > ST(I) and ST(O) = SA(I))
Temporal-Entity
Time-Point
Date Time
TimeDomain
Event
Scientific-Event
Calendar-Date
{ absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
dayOftheWeek, monthOftheYear}
Temporal-Entity
Time-Point
Date Time
TimeDomain
Event
Scientific-Event
Calendar-Date
{ absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
{ dayOftheWeek, monthOftheYear}
1
2
1
2
3 4
STST DateEvent
Service Template
SA1SA1Calendar-Date
Service Advertisement
Event
Acknowledement: Jorge Cardoso
96
96
The Match Function(ST(I) = SA(I) and ST(O) > SA(O))
Temporal-Entity
Time-Point
Date Time
TimeDomain
Event
Scientific-Event
Calendar-Date
{ absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
dayOftheWeek, monthOftheYear}
Temporal-Entity
Time-Point
Date Time
TimeDomain
Event
Scientific-Event
Calendar-Date
{ absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
{ dayOftheWeek, monthOftheYear}
1
2
1
2
3 4
STSTDate Event
Service Template
SA1SA1Date
Service Advertisement
Scientific-Event
Acknowledement: Jorge Cardoso
97
97
The Match FunctionSemantic Similarity ((O) = (I))
Temporal-Entity
Time-Point
Date Time
TimeDomain
Event
Scientific-Event
Calendar-Date
{ absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
dayOftheWeek, monthOftheYear}
Temporal-Entity
Time-Point
Date Time
TimeDomain
Event
Scientific-Event
Calendar-Date
{ absolute_time}
{hour, minute, second}
{millisecond}
{year, month, day}
{ dayOftheWeek, monthOftheYear}
1
2
1
2
3 4
IOIOSimilarity
IOIp
OpIO
IO
IOSemS
),,('
,|)(|
|)(|,1
,1
),('
IOIOSimilarity
IOIp
OpIO
IO
IOSemS
),,('
,|)(|
|)(|,1
,1
),('
4/9*4/7=0.504 => 50% 4/9*4/7=0.504 => 50%
|)(|
|)()(|*
|)()(|
|)()(|),('
Ip
IpOp
IpOp
IpOpIOsimilarity
STSTDate Event
Service Template
SA1SA1Event
Service Advertisement
Scientific-Event
Acknowledement: Jorge Cardoso
98
98
Use of ontologies enables shared understanding between the service provider and service requestor
Semantic Publication and Discovery
WSDL
<Operation>
<Input1>
<Output1>
Service Template
Operation:buyTicket
Input1:TravelDetails
Output1:Confirmation
Annotations
Publish
Search
UDDI
Class
TravelServices
Class
DataClass
Operations
subClassOf subClassOf
subClassOfsubClassOf subClassOf subClassOf
ClassTicket
Information
ClassTicket
Booking
ClassTicket
Cancellation
ClassConfirmation
Message
Operation:cancelTicket
Input1:TravelDetails
Output1:Confirmation
For simplicity of depicting, the ontology is shown with classes for both operation and dataAdding Semantics to Web Services Standards
99
99
METEOR-S Web Service Discovery Infrastructure (MWSDI)
METEOR-S1 is a project which deals with all stages of Semantic Web Processes
Our approach involves using the current industry standards infrastructure to add semantics
MWSDI deals with adding semantics to UDDI registries
Provides transparent access to UDDI registries based on their domain or federation
1 http://lsdis.cs.uga.edu/Projects/METEOR-S
100
100
Extended Registries Ontologies (XTRO)
Provides a multi-faceted view of all registries in MWSDI Federations Domains Registries
subDomainOf
supports
belongsTo
consistsOf
belongsToFederation
Ontology
Registry
Domain
RegistryFederation
101
101
Types of Queries Supported
What is the access URL, available data model or type of the registry R?
Does the registry R support the ontology O? Which are the registries available under the business domain B? Is the registry X a member of the registry federation Y? Which registries pertain to the domains that support the
ontologies O1 and O2? Get all the registry federations that belong to the domain D? Find all the registries that are categorized under the node N in
the taxonomy (or ontology) C?
Semantic Web Service Composition in METEOR-S
METEOR-S Web Service Composition Framework
103
103
Semantic Process Composition
Composition is the task of combining and linking existing Web Services and other components to
create new processes.
Types of Composition Static Composition - services to be composed are
decided at design time Dynamic Composition - services to be composed are
decided at run-time
Web Process Composition
Web Process Composition
SCET, Semantic Web Process Composition
104
104
Level of dynamism
Predefined flows Static binding (BPEL4WS) Dynamic Binding (MWSCF) Demo today
Adaptive flows (METEOR) Automatic composition
Planning Hierarchical Decomposition [SHOP2]
[SHOP2] Dan Wu, Bijan Parsia, Evren Sirin, James endler, and Dana Nau. Automating DAML-S web services composition using SHOP2, [SHOP2] Dan Wu, Bijan Parsia, Evren Sirin, James endler, and Dana Nau. Automating DAML-S web services composition using SHOP2,
(ISWC, 2003)(ISWC, 2003)
105
105
Predefined flows
Static binding (supported by BPEL4WS) Choose service at design time
ClientManufacturer
Supplier 2
Supplier 1
Manufacturer tightly coupled with suppliers
106
106
Predefined flows
Dynamic binding Choose new services at runtime
ClientManufacturer
Faster Delivery
Preferred SupplierCheape
rSupplier
Dynamically choose best supplier at runtime
107
107
Constraint Based Process Composition
User defines High level goals Abstract BPEL process (control flow without
actual service bindings ) Process constraints on QoS parameters
Generic parameters like time, cost, reliability Domain specific parameters like supplyTime
Business constraints captured in ontologies or databases E.g preferred suppliers, domain constraints
108
108
Supply Chain – QoS Based
109
109
tij
pj
(a) (b)
ti tj
Graph Reduction Technique
Graph Reduction Technique
QoS Computation
Reduction of a Sequential System
QoSQoS
110
110
tbta*
(a) (b)
*tbta t1n
pa1p1b
pnb
p2b
pan
pa2p1n pb
t1
t2
tn
Graph Reduction Technique
Graph Reduction Technique
Reduction of a Parallel System
QoS Computation QoSQoS
111
111
Web ServicesInterfaces
To enhance the integration, Web services need to have their inputs and outputs associated with ontological concepts (annotation).
This will facilitate the resolution of structural and semantic heterogeneities
Compute the optimal matching (Bondy and Murty, 1976) using semantic information (Cardoso and Sheth, 2002)
Web Process Composition
Web Process Composition
Bipartite graph. Each edge has a weight (semantic similarity).
A
B
C D
X Z FYb(O, I)b(O, I)
X ZY
A
B
C
M
N T
U
R
S P
B
C D
FA
112
112
Constraint Representation – Business Constraints
Fact OWL expression
Supplier1 is an instance of network adaptor supplier
Supplier1 supplies #Type1Supplier1 is a preferred supplier.
<NetworkAdaptorSupplier rdf:ID="Supplier1"><supplies rdf:resource="#Type1"/><supplierStatus>preferred</supplierStatus></NetworkAdaptorSupplier>
Type1 is an instance of NetworkAdaptor
Type1 works with Type1Battery
<NetworkAdaptor rdf:ID="Type1"> <worksWith><Battery rdf:ID="Type1Battery"></worksWith></ NetworkAdaptor >
113
113
Constraint Representation – Process Constraints
Feature Goal Value Unit Aggregation
Cost Optimize Dollars Σ
supplytime Satisfy < 7 Days MIN
partnerStatus Optimize MIN
114
114
Service Template Representation
Feature Weight Constraint
L(ST) 1 Georgia
D(ST) 1 Battery Supplier
Fc(ST,o) 1 #OrderBattery
I(ST,o) .8 #PurchaseOrderRequest
O(ST,o) 1 #PurchaseOrderConfirmation
R(ST,o) 1 > 0.9
A(ST,o) .7 >0.8
115
115
System Interaction
Convert abstract BPEL + STs to METEOR-S Workflow model
Get Candidate Services from UDDI Generate optimization code from process
constraints and QoS aggregation Run Integer Linear Progamming Solver on
the constraints Bind optimal set of services to BPEL
116
116
Other METEOR-S Modules and Demo
Add transactional support to BPEL State machine based verification of BPEL Source code annotation tool Demo
117
117
Semantic Web Services (WSMO)
WSMO (Web Services Modeling Ontology) Two parts
WSML – Semantic Web Service Language based on F-logic WSMX – Semantic Web Service Architecture
Based on WSMF proposed by Bussler and Fensel
WSMO Supports Functional Aspects = (IOPEs) + used mediators Non Functional Aspects = performance, reliability, security etc. Mediators (components cannot communicate without them) Petri nets for execution semantics
118
118
WSMO - Goals
A goal specifies the objectives that a client may have when he consults a web service
E.g. of goals Buy a book Buy a book from Amazon Buy a book written by X Mediators can combine or refine goals
E.g. Buy a book from Amazon written by X
119
119
Semantic Web Services (WSMO)
Two types of mediators Refiners define a new component as a refinement of an
existing component ggMediators: mediators that link two goals. This link
represents the refinement of the source goal into the target goal.
ooMediators: mediators that import ontologies and resolve possible representation mismatches between ontologies
120
120
Semantic Web Services (WSMO)
Two types of mediators Bridges support reuse by enabling two components
to interact with each other wgMediators: mediators that link web service to goals.
They explicitly may state the difference (reduction) between the two components and map different vocabularies (through the use of ooMediators).
wwMediators: mediators linking two Web Services.
121
121
Semantic Web Services (WSMO)Example of using mediators
122
122
OWL-S
OWL-S Formerly OWL-S Set of markup language constructs for describing
the properties and capabilities of their Web services in unambiguous, computer-intepretable form
123
123
Semantic Web Services (OWL-S)
OWL-S (formerly DAML-S) provides support for the following:
Service Advertisements (OWL-S Upper ontology) Functional Aspects (IOPE’s) Non functional Aspects ( Geog Rad., Quality Rating etc.) Interaction Protocol using process model
Discovery of services (OWL-S Matchmaker) Subsumption based discovery
Composition (OWL-S process model) Support for hierarchical planning (e.g. SHOP2)
Invocation (OWL-S VM )
124
124
OWL-SOntologies
OWL-S defines ontologies for the construction of service models: Service Profiles Process Models Service Grounding
ServiceServiceResourceResource
ServiceProfileServiceProfile ServiceModelServiceModel ServiceGrounding
ServiceGrounding
provides
described by
presents supports
what theservice does
how theservice works
how to accessthe service
125
125
OWL-SService Profile
The Service Profile provides details about a service.
Web Service
Client
Local
Receipt
Itinerary
Tourism
Preconditions. Set of conditions that should hold prior
to the service being invoked.
Inputs. Inputs that should be provided to
invoke the service.
Inputs. Inputs that should be provided to
invoke the service.
Outputs. Outputs expected after the interaction with the service.
Outputs. Outputs expected after the interaction with the service.
Effects. Set of statements that should hold true if the service is
invoked successfully.
126
126
Service Profile An example of Inputs and Outputs
...
<!ENTITY temporal "http://ovid.cs.uga.edu:8080/scube/daml/Temporal.daml">
<!ENTITY address "http://ovid.cs.uga.edu:8080/scube/daml/Address.daml">
...
<input>
<profile:ParameterDescription rdf:ID="Addr">
<profile:parameterName> Addr </profile:parameterName>
<profile:restrictedTo rdf:resource="&address;#Address"/>
<profile:refersTo rdf:resource="&congo;#congoBuyReceipt"/>
</profile:ParameterDescription>
</input>
...
<output>
<profile:ParameterDescription rdf:ID="When">
<profile:parameterName> When </profile:parameterName>
<profile:restrictedTo rdf:resource="&temporal;#Date"/>
<profile:refersTo rdf:resource="&congo;#congoBuyReceipt"/>
</profile:ParameterDescription>
< output >
...
Addr
,,,
When
...
...
OutputsInputs
127
127
References – Partial List
[WSMO] www.wsmo.org [OWL-S] www.daml.org/services/owl-s/ [METEOR-S] lsdis.cs.uga.edu/Projects/METEOR-S [Aggarwal et al., 2004] Constraint Based Web Service Composition [Cardoso et al., 2004] Semantic e-Service Composition [Sivashanmugam et al., 2003] Adding Semantics to Web Services Standards [Sivashanmugam et al., 2004] Framework for Semantic Web Process
Composition Sivashanmugam et al., 2004] Discovery of Web Services in a Federated
Registries Environment [Verma et al. 2004] MWSDI: A Scalable Infrastructure of Registries for Semantic
Publication and Discovery of Web Services [Verma et al. 2004] Accommodating Inter-Service Dependencies in Web
Process Flow Composition
128
128
Ongoing Projects
SWSI SWSA Semantic Web Services Architecture SWSL Semantic Web Services Language
WonderWeb: http://wonderweb.man.ac.uk/ Development of a framework of techniques and
methodologies that provide an engineering approach to the building and use of ontologies.
Development of a set of foundational ontologies covering a wide range of application domains.
Development of infrastructures and tool support that will be required by real world applications in the Semantic Web.
129
129
Ongoing Projects
OWL-S: http://www.daml.org/services/ Set of ontologies to describe functionalties of web services
OWL-S Matchmaker: http://www-2.cs.cmu.edu/%7Esoftagents/daml_Mmaker/OWL-S_matchmaker.htm Match service requestors with service providers Semantic Matchmaking for Web Services Discovery
Web Service Composer: http://www.mindswap.org/~evren/composer/ Semi-automatic process for the dynamic composition of web
services Web Services:
http://www-106.ibm.com/developerworks/webservices/ WSDL, UDDI, SOAP Business Process with BPEL4WS
130
130
Conclusions
131
131
Conclusions
SOA, Web processes, and Semantic Web processes Semantics can help address big challenges related to scalability,
dynamic environments. But comprehensive approach to semantics will be needed:
Data/information, function/operation, execution, QoS Semantic (Web) principles and technology bring new tools and
capabilities that we did not have in EAI, workflow management of the past
SWP Semantics: Data, Function, QoS, Execution Affects full Web Service/Process lifecycle: Annotation, Publication,
Discovery, Composition, Binding, Execution
More at: http://lsdis.cs.uga.edu/proj/meteor/SWP.htm
132
132
Semantic Web Processes
Questions?
133
133
References
Resources: http://lsdis.cs.uga.edu/lib/presentations/SWSP-tutorial-resource.htm [Kreger] http://www-3.ibm.com/software/solutions/webservices/pdf/WSCA.pdf [Sivashanmugam et al.-1] Adding Semantics to Web Services Standards [Sivashanmugam et al.-2] Framework for Semantic Web Process Composition [Verma et al.] MWSDI: A Scalable Infrastructure of Registries for Semantic
Publication and Discovery of Web Services [Chandrasekaran et al.] Performance Analysis and Simulation of Composite
Web Services [Cardoso et al.] Modeling Quality of Service for Workflows and Web Service
Processes [Silver et al.] Modeling and Simulation of Quality of Service for Composition of
Web Services [Paolucci et al.] Importing Semantic Web in UDDI [UDDI-v3] http://uddi.org/pubs/uddi-v3.00-published-20020719.htm http://www.daml.org/services/ http://www-106.ibm.com/developerworks/webservices/library/ws-bpel/
More at: http://lsdis.cs.uga.edu/SWP.htm
Extensive related work at: IBM, Karlsruhe, U. Manchester, OWL-S (CMU, Stanford, UMD)
134
134
SOA andSemantic Web Processes
End