OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.
-
Upload
edwina-mccoy -
Category
Documents
-
view
231 -
download
0
Transcript of OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.
OWL-S
Web Services: OWL-S 2
BPEL and WSDL : Messages
Web Services: OWL-S 3
Messaging and Message-Oriented Modeling
Fundamental in composition: how and when the processes communicate
Synchronous, asynchronous Conversations
However, business processes center around “activities” and compositions of tasks:Control flowData flow
Messaging provides a realization of control/data flow
Unclear how activities and messaging would mix
Web Services: OWL-S 4
Activity Based Models
OWL-S (DAML-S) Finite state machines and statecharts Petri nets Process Specification Language (PSL) …
Web Services: OWL-S 5
OWL-S/DAML-S
An upper ontology for describingthe properties & capabilities of agents &
(Web) servicesin an unambiguous, computer interpretable markup language
Built as an additional layer above DAML+OIL/OWL
Designed to the following automated tasks…
Web Services: OWL-S 6
Automation Enabled by OWL-S
Web Service Discovery & SelectionFind an airline that can fly me to New York, NY
Web Service InvocationBook flight tickets from USAirways to arrive
May 18 Web Service Composition & Interoperation
Arrange taxis, flights and hotel for travel from Santa Barbara to Boston, MA, via New York, NY
Web Service Execution MonitoringHas the taxi to Newark Airport been reserved
yet?
Web Services: OWL-S 7
Resources are related to each other by properties to form subject/predicate/object statements (triples)
The triples can be used to construct a graph:
Statements themselves can be resources of other statements (i.e. reified statements)
http://www.w3.org “W3C Home Page”
http://purl.org/dc/elements/1.1/title
“WWW Consortium”http://purl.org/dc/elements/1.1/publisher
subject
predicate
object
objectpredicate
RDF – Resource Description Framework
Web Services: OWL-S 8
RDF Schema RDF Schema defines new RDF vocabulary &
hence definition of ontologies… rdfs:Class
resources denoting a set of resources, by means of the property rdfs:type
rdfs:subClassOfUsed to define class hierarchies.
rdfs:domain & rdfs:rangeDefine restrictions on the resources that have
a given property (domain) and the set of valid values for that property (range)
Web Services: OWL-S 9
input typesoutput typespreconditions
postconditions
communication protocol (RPC, HTTP, …)
port numbermarshalling/serialization
process flowcomposition hierarchy
process definitions
Web Services: OWL-S 10
Resource
Service
ServiceProfile
ServiceModel
ServiceGrounding
communication protocol (RPC, HTTP, …)
port numbermarshalling/serialization
input typesoutput typespreconditions
effects
process flowcomposition hierarchy
process definitions
provides presents(what it does)
describedby(how it works)
supports(how to access)
OWL-S Upper Ontology
Web Services: OWL-S 11
OWL-S Service Models
Resource
Service
ServiceProfile
ServiceModel
ServiceGrounding
provides presents(what it does)
describedby(how it works)
supports(how to access)
Web Services: OWL-S 12
Service ProfilePresented by a serviceRepresents
“what the service provides”
One can derive:Service AdvertisementsService Requests
Presenting Service Profiles
Web Services: OWL-S 13
Non Functional Properties
Functionality Description
OWL-S Service Profile
Web Services: OWL-S 14
Functionality Description
Summarizes the abstract capability of a service Functional specification of
what the service providesin terms of parameters,subclassed as:preconditionsinputsoutputseffects
Web Services: OWL-S 15
Functionality Description: Parameters Preconditions
Set of conditions that should hold prior to service invocation
InputsSet of necessary inputs that the requester
should provide to invoke the service Outputs
Results that the requester should expect after interaction with the service provider is completed
EffectsSet of statements that should hold true if the
service is invoked successfullyOften refer to real-world effects
Package being delivered, or Credit card being debited
Web Services: OWL-S 16
Non Functional Properties
Provides supporting information about the service
These includeserviceNametextDescriptionhas_processqualityRatingserviceParameterserviceCategorycontactInformation
Web Services: OWL-S 17
Profile Hierarchy
Sub-classing the Profile model facilitates the creation and specialisation of service categories
Each subclass can:Introduce new propertiesPlace restrictions on existing properties
Sub-classing can also be used to specialise requests for service
An example Profile Hierarchy is provided, but others could just as easily be defined
Web Services: OWL-S 18
Profile Hierarchy – Sample Ontology
Web Services: OWL-S 19
OWL-S Service Models
Resource
Service
ServiceProfile
ServiceModel
ServiceGrounding
provides presents(what it does)
describedby(how it works)
supports(how to access)
Web Services: OWL-S 20
Service ProcessDescribes how a
service works Facilitates
(automated) Web service invocation
composition interoperationmonitoring
Describing Service Models
Web Services: OWL-S 21
The Process Ontology
The basic class of the Process Ontology is the Process.
Its sublcasses describe each process by:any number of (possibly, conditional) inputs;any number of (possibly, conditional) outputs;any number of preconditions, which must hold
in order for the process to be invoked;any number of (possibly, conditional) side
effects;any number of participants (subprocess)
Web Services: OWL-S 22
Types of the Process in OWL-S
Atomic processes: directly invokable (by an agent), have no subprocesses, executed in a single step
Composite processes: consist of other (non-composite or composite) processesThey have a composedOf property, by which the control structure of the process is indicated, using a ControlConstruct subclasses (see table …)
Simple processes: abstract concepts, used to provide a view of some atomic process, or a simplified representation of some composite process (i.e., the “black box” view of a collapsed composite process)
Web Services: OWL-S 23
OWL-S Service Model (Overview)
Web Services: OWL-S 24
Construct Description
Sequence Execute a list of processes in a sequential order
Concurrent Execute elements of a bag of processes concurrently
Split Invoke elements of a bag of processesSplit+Join Invoke elements of a bag of processes and
synchronizeUnordered Execute all processes in a bag in any order
Choice Choose between alternatives and execute one
If-then-else If specified condition hold, execute “Then”, else execute “Else”.
Repeat-Until Iterate execution of a bag of processes until a condition holds
Repeat-While
Iterate execution of a bag of processes while a condition holds
Control Constructs of Processes
Web Services: OWL-S 25
<!– Atomic Process Definition - GetDesiredFlightDetails --><rdfs:Class rdf:ID=“GetDesiredFlightDetails” >
<rdfs:subClassOf rdf:resource=“http://www.daml.org/
Process#AtomicProcess” /></rdfs:Class>
GetDesired Flight Details
Airport
Flight Date
AtomicProcess
departureAirport_In
outboundDate_In
Atomic Process Example
Web Services: OWL-S 26
<!– (sample) Inputs used by atomic process GetDesiredFlightDetails --><rdf:Property rdf:ID="departureAirport_In">
<rdfs:subPropertyOf rdf:resource="http://www.daml.org/Process#input" />
<rdfs:domain rdf:resource="#GetDesiredFlightDetails" /><rdfs:range rdf:resource="http://www.daml.ri.cmu.edu/ont/ DAML-S/concepts.daml#Airport" />
</rdf:Property>
<rdf:Property rdf:ID="outbounDate_In"><rdfs:subPropertyOf
rdf:resource="http://www.daml.org/Process#input" /> <rdfs:domain rdf:resource="#GetDesiredFlightDetails" /> <rdfs:range rdf:resource="http://www.daml.ri.cmu.edu/ont/ DAML-S/concepts.daml#FlightDate" /> </rdf:Property>
Atomic Process Example
Web Services: OWL-S 27
<rdfs:Class rdf:ID="BookFlight"> <rdfs:subClassOf rdf:resource="#CompositeProcess" /> <rdfs:subClassOf rdf:resource="http://www.daml.org/Process#Sequence" /> <daml:subClassOf> <daml:Restriction> <daml:onProperty rdf:resource="http://www.daml.org/Process#components" /> <daml:toClass> <daml:subClassOf> <daml:unionOf rdf:parseType="daml:collection"> <rdfs:Class rdfs:about="#GetFlightDetails" /> <rdfs:Class rdfs:about="#GetContactDetails" /> <rdfs:Class rdfs:about="#ReserveFlight" /> <rdfs:Class rdfs:about="#ConfirmReservation" /> </daml:unionOf> </daml:subClassOf> </daml:toClass> </daml:Restriction> </daml:subClassOf></rdfs:Class>
Composite Process
Confirm Reservation
BookFlight
Get Contact Details
Sequence
Get Flight Details
Reserve Flight
SequenceSequence
Composite Process Example
Web Services: OWL-S 28
OWL-S Service Models
Resource
Service
ServiceProfile
ServiceModel
ServiceGrounding
provides presents(what it does)
describedby(how it works)
supports(how to access)
Web Services: OWL-S 29
Service GroundingProvides a specification of
service access informationService Model + Grounding
give everything needed for using the service
Builds upon WSDL to define message structure and physical binding layer
Specifies:communication protocols,
transport mechanisms, agent communication languages, etc.
Supporting a Service Grounding
Web Services: OWL-S 30
Resources/Concepts
WSDL
OWL-S
Process Model
Atomic Process
Operation Message
Inputs / Outputs
Binding to SOAP, HTTP, etc.
OWL-S / WSDL Binding
Web Services: OWL-S 31
OWL-S / WSDL Mapping