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

Post on 12-Jan-2016

231 views 0 download

Tags:

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