OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

31
OWL-S

Transcript of OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

Page 1: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

OWL-S

Page 2: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

Web Services: OWL-S 2

BPEL and WSDL : Messages

Page 3: OWL-S. Web Services: OWL-S2 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

Page 4: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

Web Services: OWL-S 4

Activity Based Models

OWL-S (DAML-S) Finite state machines and statecharts Petri nets Process Specification Language (PSL) …

Page 5: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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…

Page 6: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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?

Page 7: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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

Page 8: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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)

Page 9: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

Web Services: OWL-S 9

input typesoutput typespreconditions

postconditions

communication protocol (RPC, HTTP, …)

port numbermarshalling/serialization

process flowcomposition hierarchy

process definitions

Page 10: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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

Page 11: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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)

Page 12: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

Web Services: OWL-S 12

Service ProfilePresented by a serviceRepresents

“what the service provides”

One can derive:Service AdvertisementsService Requests

Presenting Service Profiles

Page 13: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

Web Services: OWL-S 13

Non Functional Properties

Functionality Description

OWL-S Service Profile

Page 14: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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

Page 15: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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

Page 16: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

Web Services: OWL-S 16

Non Functional Properties

Provides supporting information about the service

These includeserviceNametextDescriptionhas_processqualityRatingserviceParameterserviceCategorycontactInformation

Page 17: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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

Page 18: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

Web Services: OWL-S 18

Profile Hierarchy – Sample Ontology

Page 19: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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)

Page 20: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

Web Services: OWL-S 20

Service ProcessDescribes how a

service works Facilitates

(automated) Web service invocation

composition interoperationmonitoring

Describing Service Models

Page 21: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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)

Page 22: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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)

Page 23: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

Web Services: OWL-S 23

OWL-S Service Model (Overview)

Page 24: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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

Page 25: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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

Page 26: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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

Page 27: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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

Page 28: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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)

Page 29: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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

Page 30: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

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

Page 31: OWL-S. Web Services: OWL-S2 BPEL and WSDL : Messages.

Web Services: OWL-S 31

OWL-S / WSDL Mapping