Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號:...

28
Applying Semantics in SOA – OWL , WSDL-S . 指指指指 指指指 指指指 指指指 指指69621501

Transcript of Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號:...

Page 1: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

Applying Semantics in SOA   –  OWL , WSDL-S

. 指導教授:吳秀陽  報告人:陳建博 學號:69621501    

 

Page 2: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

2

Outline

1. Introduction

2. OWL Synopsis

3. OWL Description

4. Example

5. WSDL-S

6. Conclusion

Page 3: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

3

1. Introduction – Why Semantics Need in SOA?

1) The main challenge of service discovery in SOA is using

automated means to accurately discover services with

minimal user involvement.

2) This requires explicating the semantics of both the

services provider and requester.

3) They will facilitate the automation of Web service tasks

including automated Web service discovery, execution,

interoperation, composition and monitoring.

4) We need some simple, common, and standard semantic

language to achieve such automation.

Page 4: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

4

1. Introduction - What is OWL (Web Ontology Language)?

1) OWL is intended to be used to define domain-specific

related knowledge in Web Ontologies.

2) An Ontology is a formal, explicit specifications of a

shared conceptualization. [Grub:93]

3) OWL can be used to explicitly represent the meaning of

terms in vocabularies and the relationships between those

terms.

4) OWL had became a W3C formal Recommendation for Web

ontologies.

Page 5: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

5

1. Introduction – The Evolution of OWL

   XML(S) → RDF(S) → DAML+OIL → OWL

1) XML/XML Schema (eXtensible Markup Language)

→ XML documents and also extends XML with datatypes.

2) RDF/RDF Schema (Resource Description Framework)

→RDF with a semantics for generalization-hierarchies of such

properties and classes.

3) DAML(DARPA Agent Markup Language) + OIL (Ontology

Inference Layer) (replaced by OWL)

→ more sophisticated RDF(S) + inference system.

4) OWL (Web Ontology Language)

→ W3C standard, ontology language.

Page 6: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

6

2. OWL Synopsis – OWL Species

1) OWL Lite

supports those users primarily needing a classification

hierarchy and simple constraints so it expludes

enumerated classes, arbitrary cardinality, and so on.

2) OWL DL (Description Logic)

supports those users who want the maximum expressiveness,

retain computational completeness and decidability, but

can be used only under certain restrictions.

3) OWL Full

for users who want maximum expressiveness and the

syntactic freedom of RDF with no computational guarantees.

Page 7: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

7

2. OWL Synopsis - OWL Species (cont.)

4) Each of these sublanguages is an extension of its

simpler predecessor, both in legally expressed and

validly concluded.

Every legal OWL Lite ontology is a legal OWL DL ontology.

Every legal OWL DL ontology is a legal OWL Full ontology.

Every valid OWL Lite conclusion is a valid OWL DL

conclusion.

Every valid OWL DL conclusion is a valid OWL Full

conclusion.

Page 8: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

8

2. OWL Synopsis – OWL Lite

1) OWL Lite Synopsis

Schema Features• Class (Thing, Nothing) • rdfs:subClassOf • rdf:Property • rdfs:subPropertyOf • rdfs:domain • rdfs:range • Individual

(In) Equality• equivalentClass • equivalentProperty • sameAs • differentFrom • AllDifferent • distinctMembers

Page 9: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

9

2. OWL Synopsis – OWL Lite (cont.)

Property Characteristics • ObjectProperty • DatatypeProperty • inverseOf • TransitiveProperty • SymmetricProperty • FunctionalProperty • InverseFunctionalProperty

Property Restrictions • Restriction • onProperty • allValuesFrom • someValuesFrom

Restricted Cardinality• minCardinality (only 0 or 1) • maxCardinality (only 0 or 1) • cardinality (only 0 or 1)

Header Information • Ontology • imports

Page 10: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

10

2. OWL Synopsis – OWL Lite (cont.)

Class Intersection• intersectionOf

Datatypes• xsd datatypes

Versioning• versionInfo• priorVersion• DeprecatedPropety• DeprecatedClass• incompatibleWith

Annotation Properties• rdfs:label• rdfs:comment• rdfs:seeAlso• rdfs:isDefinedBy• AnotationProperty• OntologyProperty

Page 11: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

11

2. OWL Synopsis – OWL DL and Full

Class Axioms• oneOf, dataRange • disjointWith • equivalentClass

rdfs:subClassOf

Arbitrary Cardinality: • minCardinality • maxCardinality • cardinality

Boolean Combinations of Class Expressions

• unionOf • complementOf • intersectionOf

Filler Information: • hasValue

Page 12: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

12

3. OWL Description – OWL Lite RDF Schema features

1) Class,subClass

A class defines a group of individuals that belong together because they share some properties class.(Thing, Nothing)

2) individual

Individuals are instances of classes, and properties may be used to relate one individual to another.

3) rdf:Property, rdfs:subProperty

Properties can be used to state relationships between individuals or from individuals to data values.

4) rdfs:domain, rdfs:range

A domain of a property limits the individuals to which the property can be applied. The range of a property limits the individuals that the property may have as its value.

Page 13: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

13

3. OWL Description – OWL Lite Equality and Inequality

1) equivalentClass

Two classes may be stated to be equivalent. Equivalent classes have the same instances.

2) equivalentProperty

Two properties may be stated to be equivalent. Equivalent properties relate one individual to the same set of other individuals.

3) sameAs, differentFrom

Two individuals may be stated to be the same or the different.

4) AllDifferent

A number of individuals may be stated to be mutually distinct in one AllDifferent statement.

Page 14: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

14

3. OWL Description – OWL Lite Property Characteristics

1) inverseOf

One property may be stated to be the inverse of another property. For example, if property P1 is the inverse of property P2, then if X is related to Y by the P2 property, then Y is related to X by the P1 property .

2) FunctionalProperty, inverseFunctionalProperty

Properties may be stated to have a unique value or not. If a property is a FunctionalProperty, then it has no more than one value for each individual.

3) TransitiveProperty

Properties may be stated to be transitive.

4) SymmetricProperty

Properties may be stated to be symmetric.

Page 15: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

15

3. OWL Description – OWL Lite Restricted Cardinality

1) cardinality

That is the restrictions constrain the cardinality of that property on instances of that class. OWL Lite cardinality restrictions are limited because they only allow statements concerning cardinalities of value 0 or 1.

2) minCardinality

For Example, the class Parent would have a minimum cardinality of 1 on the hasOffspring property.

3) maxCardinality

For example, the property hasSpouse on the class UnmarriedPerson may have a maximum cardinality of 0 .

Page 16: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

16

3. OWL Description – OWL Lite other semantics

1) Property Restriction

allValuesFrom, someValuesFrom

2) Class Intersection

intersectionOf

3) Header Information

4) Anotation Properties

5) Versioning

.

.

Page 17: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

17

3. OWL Description – OWL DL & OWL Full Increment

1) oneOf

2) hasValue

3) disjointWith

4) unionOf, complementOf, intersectionOf

5) minCardinality, maxCardinality, cardinality

6) Complex classes

Page 18: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

18

4. Example – Academic OWL

small ontology: 

<owl:Class rdf:ID="associateProfessor">      <rdfs:subClassOf rdf:resource="#academicStaffMember"/> </owl:Class>

 <owl:Class rdf:about="associateProfessor">      <owl:disjointWith rdf:resource="#professor"/>      <owl:disjointWith rdf:resource="#assistantProfessor"/>   </owl:Class>

<owl:Class rdf:ID="faculty">      <owl:equivalentClass rdf:resource="#academicStaffMember"/></owl:Class>

Page 19: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

19

4. Example – Academic OWL (cont..)

<owl:ObjectProperty rdf:ID="isTaughtBy">      <rdfs:domain rdf:resource="#course"/>      <rdfs:range rdf:resource="#academicStaffMember"/>      <rdfs:subPropertyOf rdf:resource="#involves"/>   </owl:ObjectProperty>   <owl:ObjectProperty rdf:ID="teaches">      <rdfs:range rdf:resource="#course"/>      <rdfs:domain rdf:resource="#academicStaffMember"/>      <owl:inverseOf rdf:resource="#isTaughtBy"/>   </owl:ObjectProperty>   <owl:Class rdf:about="#firstYearCourse">      <rdfs:subClassOf>         <owl:Restriction>            <owl:onProperty rdf:resource="#isTaughtBy"/>            <owl:allValuesFrom rdf:resource="#Professor"/>         </owl:Restriction>      </rdfs:subClassOf>   </owl:Class>

Page 20: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

20

4. Example – Academic OWL (cont..)

<owl:Class rdf:about="#course">      <rdfs:subClassOf>         <owl:Restriction>            <owl:onProperty rdf:resource="#isTaughtBy"/>            <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality>         </owl:Restriction>      </rdfs:subClassOf>   </owl:Class>

   <owl:Class rdf:ID="peopleAtUni">      <owl:unionOf rdf:parseType="Collection">      <owl:Class rdf:about="#staffMember"/>      <owl:Class rdf:about="#student"/>      </owl:unionOf>   </owl:Class>

Page 21: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

21

4. Example – Academic OWL (cont..)

some individuals: 

<academicStaffMember rdf:ID=“949352”>      <uni:age rdf:datatype=“&xsd;integer”>39<uni:age>   </academicStaffMember>

   <course rdf:about=“CIT1111”>      <isTaughtBy rdf:resource=“949318”/>      <isTaughtBy rdf:resource=“949352”/>   </course>

abstract syntax instances: 

Individual(

CIT1111 type(course)

value(isTaughtBy 949352)

value(isTaughtBy 949318)) More Detail here.

Page 22: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

22

5. WSDL-S - Brief

1) WSDL provides syntactic functional description in a technical manner of

Web Service, solves the need of interoperability, but lacks in semantic

information.

2) OWL supports developing of ontologies in a powerful way, but lacks in

describing the technical details of services.

3) WSDL-S connecting WSDL and OWL to provide semantically enriched

meanings of Web services.

4) WSDL-S is guided by the following principles: upwardly compatible,

independent of semantics model(OWL, UML), data types are

described in XML(S), rich mapping between Web Service

schema types and ontologies.

Page 23: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

23

5. WSDL-S - IOPE Mode

1) Input: Semantics is the meaning of input parameters as defined by

some semantic model.

2) Output: Semantics is the meaning of output parameters as

defined by some semantic model.

3) Precondition: A precondition is a set of semantic statements that

are required to be true before an operation can be successfully

invoked .

4) Effect: An effect is a set of semantic statements (or expressions

represented using the concepts in a semantic model) that must be

true after an operation completes execution after being invoked.

Page 24: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

24

5. WSDL-S - IOPE Mode (cont.)

Page 25: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

25

5. WSDL-S - Example

<interface name="PurchaseOrder"> <operation name="processPurchaseOrder" pattern=wsdl:in-out wssem:modelReference="Rosetta:RequestPurchaseOrder"> <input messageLabel="processPurchaseOrderRequest" element="tns:processPurchaseOrderRequest"/> <output messageLabel="processPurchaseOrderResponse"

element="processPurchaseOrderResponse"/>

<!--Precondition and effect are added as extensible elements on an operation --> <wssem:precondition name="ExistingAcctPrecond" wssem:modelReference="POOntology#AccountExists"> <wssem:effect name="ItemReservedEffect" wssem:modelReference="POOntology#ItemReserved"/> </operation> </interface>

Page 26: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

26

5. WSDL-S – Scope and Proposal

WSDL-S

<Operation>

<Input1>

<Output1>

Service Template

Operation:buyTicket

Input1:TravelDetails

Output1:Confirmation

Annotations

Publish

SearchSemantic UDDIOperation:

cancelTicket

Input1:TravelDetails

Output1:Confirmation

Sivashanmugam, K., Verma, K., Sheth, A., Miller, J., Adding Semantics to Web Services Standards, ICWS 2003

<Operation>

<Output1>

Web service 1

<Input1>

<Operation>

<Output2>

Web service 2

<Input2>

Composition

Page 27: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

27

6. Conclusion

1) OWL is sufficiently rich to be used in practice, further related projects

are in the making, such as OWL-QL, Protege, OWL 2.0 ...

2) Formal semantics and reasoning support is provided through the

Description Logics, a field of research that had been continually

studied until nowadays.

3) WSDL-S intends just modeling the IOPEs for all the steps of the

process semantically, seems not enough to achive whole semantic-

SOA.

4) But adding semantics within the SOA would provide explicitly a

shared meaning of business services.

Page 28: Applying Semantics in SOA – OWL, WSDL-S. 指導教授:吳秀陽 報告人:陳建博 學號: 69621501.

28

References:

1) W3C Semantic Web Ontology Language (OWL 1.0)

http://www.w3.org/2004/OWL/

2) WSDL-S 1.0

http://lsdis.cs.uga.edu/projects/meteor-s/wsdl-s/

http://www.w3.org/Submission/WSDL-S/

3) Applying Semantics (WSDL, WSDL-S, OWL) in Service Oriented

Architectures (SOA), Michael Herrmann1, Muhammad Ahtisham

Aslam2, Oliver Dalferth

4) Yuh-Jong Hu, 2005, “Semantic Web and Web Services”

http://www.cs.nccu.edu.tw/~jong

5) Grigoris Antoniou, Frank van Harmelen, “A semantic web

primer” , http://www.ics.forth.gr/isl/swprimer/