320 likes | 484 Views
OWL-S. BPEL and WSDL : Messages. 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 flow Data flow
E N D
BPEL and WSDL : Messages Web Services: OWL-S
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 flow • Data flow • Messaging provides a realization of control/data flow • Unclear how activities and messaging would mix Web Services: OWL-S
Activity Based Models • OWL-S (DAML-S) • Finite state machines and statecharts • Petri nets • Process Specification Language (PSL) • … Web Services: OWL-S
OWL-S/DAML-S • An upper ontology for describing • the properties & capabilities of agents & (Web) services in 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
Automation Enabled by OWL-S • Web Service Discovery & Selection • Find an airline that can fly me to New York, NY • Web Service Invocation • Book 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 Monitoring • Has the taxi to Newark Airport been reserved yet? Web Services: OWL-S
RDF – Resource Description Framework • 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) object subject http://purl.org/dc/elements/1.1/title predicate “W3C Home Page” http://www.w3.org predicate object http://purl.org/dc/elements/1.1/publisher “WWW Consortium” Web Services: OWL-S
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:subClassOf • Used to define class hierarchies. • rdfs:domain& rdfs:range • Define restrictions on the resources that have a given property (domain) and the set of valid values for that property (range) Web Services: OWL-S
input types • output types • preconditions • postconditions • communication protocol (RPC, HTTP, …) • port number • marshalling/serialization • process flow • composition hierarchy • process definitions Web Services: OWL-S
OWL-S Upper Ontology Resource ServiceProfile provides presents (what it does) • input types • output types • preconditions • effects Service supports(how to access) describedby(how it works) ServiceGrounding ServiceModel • communication protocol (RPC, HTTP, …) • port number • marshalling/serialization • process flow • composition hierarchy • process definitions Web Services: OWL-S
OWL-S Service Models Resource ServiceProfile provides presents (what it does) Service supports(how to access) describedby(how it works) ServiceGrounding ServiceModel Web Services: OWL-S
Presenting Service Profiles • Service Profile • Presented by a service • Represents “what the service provides” • One can derive: • Service Advertisements • Service Requests Web Services: OWL-S
OWL-S Service Profile Non Functional Properties Functionality Description Web Services: OWL-S
Functionality Description • Summarizes the abstract capability of a service • Functional specification ofwhat the service providesin terms of parameters,subclassed as: • preconditions • inputs • outputs • effects Web Services: OWL-S
Functionality Description: Parameters • Preconditions • Set of conditions that should hold prior to service invocation • Inputs • Set 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 • Effects • Set of statements that should hold true if the service is invoked successfully • Often refer to real-world effects • Package being delivered, or Credit card being debited Web Services: OWL-S
Non Functional Properties • Provides supporting information about the service • These include • serviceName • textDescription • has_process • qualityRating • serviceParameter • serviceCategory • contactInformation Web Services: OWL-S
Profile Hierarchy • Sub-classing the Profile model facilitates the creation and specialisation of service categories • Each subclass can: • Introduce new properties • Place 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
Profile Hierarchy – Sample Ontology Web Services: OWL-S
OWL-S Service Models Resource ServiceProfile provides presents (what it does) Service supports(how to access) describedby(how it works) ServiceGrounding ServiceModel Web Services: OWL-S
Describing Service Models • Service Process • Describes how a service works • Facilitates • (automated) Web service invocation • composition • interoperation • monitoring Web Services: OWL-S
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
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 ControlConstructsubclasses (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
OWL-S Service Model (Overview) Web Services: OWL-S
Control Constructs of Processes Web Services: OWL-S
Atomic Process Example AtomicProcess departureAirport_In GetDesired Flight Details Airport Flight Date outboundDate_In <!– Atomic Process Definition - GetDesiredFlightDetails --> <rdfs:Class rdf:ID=“GetDesiredFlightDetails” > <rdfs:subClassOfrdf:resource= “http://www.daml.org/Process#AtomicProcess” /> </rdfs:Class> Web Services: OWL-S
Atomic Process Example <!– (sample) Inputs used by atomic processGetDesiredFlightDetails --> <rdf:Property rdf:ID="departureAirport_In"> <rdfs:subPropertyOfrdf:resource= "http://www.daml.org/Process#input" /> <rdfs:domainrdf:resource="#GetDesiredFlightDetails" /> <rdfs:rangerdf:resource="http://www.daml.ri.cmu.edu/ont/ DAML-S/concepts.daml#Airport" /> </rdf:Property> <rdf:Property rdf:ID="outbounDate_In"> <rdfs:subPropertyOfrdf:resource="http://www.daml.org/Process#input" /> <rdfs:domainrdf:resource="#GetDesiredFlightDetails" /> <rdfs:rangerdf:resource="http://www.daml.ri.cmu.edu/ont/ DAML-S/concepts.daml#FlightDate" /> </rdf:Property> Web Services: OWL-S
Composite Process Example <rdfs:Class rdf:ID="BookFlight"> <rdfs:subClassOfrdf:resource="#CompositeProcess" /> <rdfs:subClassOfrdf:resource="http://www.daml.org/Process#Sequence" /> <daml:subClassOf> <daml:Restriction> <daml:onPropertyrdf:resource="http://www.daml.org/Process#components" /> <daml:toClass> <daml:subClassOf> <daml:unionOf rdf:parseType="daml:collection"> <rdfs:Classrdfs:about="#GetFlightDetails" /> <rdfs:Classrdfs:about="#GetContactDetails" /> <rdfs:Classrdfs:about="#ReserveFlight" /> <rdfs:Classrdfs:about="#ConfirmReservation" /> </daml:unionOf> </daml:subClassOf> </daml:toClass> </daml:Restriction> </daml:subClassOf> </rdfs:Class> Composite Process BookFlight Get Flight Details Get Contact Details Confirm Reservation Reserve Flight Sequence Sequence Sequence Web Services: OWL-S
OWL-S Service Models Resource ServiceProfile provides presents (what it does) Service supports(how to access) describedby(how it works) ServiceGrounding ServiceModel Web Services: OWL-S
Supporting a Service Grounding • Service Grounding • Provides a specification of service access information • Service 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. Web Services: OWL-S
OWL-S / WSDL Binding OWL-S Resources/Concepts Process Model Inputs / Outputs Atomic Process Message Operation Binding to SOAP, HTTP, etc. WSDL Web Services: OWL-S
OWL-S / WSDL Mapping Web Services: OWL-S