asuman dogacechallenges, bologna, october 23, 20031/101 exploiting semantic of web services through...

107
Asuman Dogac eChallenges, Bologna, October 23, 2003 1/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical University 06531 Ankara Turkey

Upload: carol-hines

Post on 11-Jan-2016

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

1/101

Exploiting Semantic of Web Services through ebXML RegistriesAsuman Dogac

Middle East Technical University

06531 Ankara Turkey

Page 2: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

2

The Aim of the Tutorial

The aim is to make

the involved topics easily digestible

so that the companies can judge for

themselves the possible benefits

of these technologies

Page 3: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

3

Outline Motivation: Why do we need the semantics of Web

services? Means of expressing semantic: Ontology and Ontology

Description Languages XML in brief: Why XML is useful? Web Interaction Evolution Web services, SOAP, WSDL and UDDI Semantic Support of Web Services in UDDI Registries ebXML: A Brief Overview How to Exploit Web Services Semantics through

ebXML? OWL-S

Page 4: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

4/101

Motivation: Why do we need the semantics of Web services?

Page 5: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

5

Why do we need Web Service Semantics? In order to exploit services in their full potential their properties

must be defined:

The methods of charging and payment The channels by which the service is requested and

provided Constraints on temporal and spatial aspects Availability Service quality Security, trust and rights attached to a service

Page 6: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

6

Why do we need Web Service Semantics? To be able to describe

service properties and later search for services according to their properties

This search needs to be

done in a machine processable and interoperable manner

Some reasoning capabilities will also help!

Defining Service Properties Through Ontology Languages

Page 7: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

7

A Motivating Example

Needs to find all services which

sell …

Desktop With Memory 256 MByte Speed 2 GHertz

Made In Italy Payment methodshould be creditcard

Delivery shouldbe within a week

The process should befully automated: no humaninteraction

A CompanyIn Turkey

Page 8: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

8/101

To be continued…

Page 9: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

9/101

Ontology

Page 10: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

10

What is an Ontology?“An explicit formal specification of the terms in the domain and relations among them.”

- Noy and McGuinness, “Ontology Development 101”

• The word ontology comes from the Greek ontos (being) and logos (word)

•An ontology describes objects and concepts as classes

• These classes are arranged in a hierarchy, and then class attributes and relationships are described with properties

Class

Subclass

Subclass

properties properties

Page 11: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

11

An Example RDF Schema

Crimes

Robbery Speeding Terrorism

<rdfs:Class rdf:ID=“Crimes"> </rdfs:Class>

<rdfs:Class rdf:ID=“Robbery"> <rdfs:subClassOf rdf:resource="#Crimes"/></rdfs:Class>

<rdfs:Class rdf:ID=“Terrorism"> <rdfs:subClassOf rdf:resource="#Crimes"/></rdfs:Class>

Page 12: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

12

RDF Properties

<rdfs:Property rdf:ID=“suspect"> <rdfs:domain rdf:resource="#Robbery"/> <rdfs:range rdf:resource=“#Thief>

</rdfs:Property >

suspect

Robbery Thief

Crimes Literal

description

<rdfs:Property rdf:ID=“description"> <rdfs:domain rdf:resource="#Crime"/> <rdfs:range rdf:resource=“http://www.w3.org/2000/01/rdf-schema#Literal"/>

</rdfs:Property >

Page 13: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

13

RDF

RDF fixes the syntax and structure of describing metadata through RDF Syntax

It allows meaning to be defined and associated with data through RDF Schema

RDF Schema facilities to define domain specific ontologies

Page 14: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

14

Why use an ontology?

1. A common vocabulary

2. Ability to define relationships among classes, properties and instances

3. Automated Processing

4. Reasoning!

Page 15: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

15

Ontology Languages and OWL

DAML:Darpa Agent Markup Language

OIL: Ontology Inference Layer (Commission Project)

DAML+OIL

OWL: Web OntologyLanguage (Being

Standardized by W3C)

RDF (ResourceDescriptionFramework)

Page 16: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

16

OWL = RDF Schema + more

All of the elements/attributes provided by RDF and RDF Schema can be used when creating an OWL document

Page 17: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

17/101

What do we gain from semantics?

Page 18: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

18

An Example: eGovernment

Finger prints from a robbery scene identified John Smith as the suspect

Here is the police report on the robbery:

<Robbery rdf:ID="report-2003-10-23-xyz"> <description>...</description> <suspect> <Thief rdf:about="http://www.ministryOfInterior.gov/criminals#John_Smith"/> </suspect>

</Robbery>

Page 19: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

19

An Example: eGovernment

• Later in the day a police gives a person a ticket for speeding

• The driver's license showed the name John Doe

• Here is the police report on the speeder:

<Speeding rdf:ID="report-2003-10-23-abc"> <description>...</description> <driver> <Speeder rdf:about="http://www.ministryOfInterior/criminals#John_Doe"/> </driver>

</Speeding>

Page 20: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

20

OWL Classes

Ministry of Interior has defined ontologies for their information in OWL

For example: Crimes

Robbery Speeding Terrorism

<owl:Class rdf:ID=“Crimes"> </owl:Class>

<owl:Class rdf:ID=“Robbery"> <rdfs:subClassOf rdf:resource="#Crimes"/></owl:Class>

<owl:Class rdf:ID=“Terrorism"> <rdfs:subClassOf rdf:resource="#Crimes"/></owl:Class>

Page 21: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

21

OWL Classes

Ministry of Interior has also defined the following classes

For example: Criminals

Thief Speeders Terrorists

<owl:Class rdf:ID=“Criminals"> </owl:Class>

<owl:Class rdf:ID=“Thief"> <rdfs:subClassOf rdf:resource="#Criminals"/></owl:Class>

<owl:Class rdf:ID=“Terrorists"> <rdfs:subClassOf rdf:resource="#Criminals"/></owl:Class>

Page 22: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

22

OWL Properties

<owl:DatatypeProperty rdf:ID=“description"> <rdfs:domain

rdf:resource="#Crime"/> <rdfs:range

rdf:resource=“http://www.w3.org/2001/XMLSchema#Literal"/>

</owl:DatatypeProperty >

<owl:ObjectProperty rdf:ID=“suspect"> <rdfs:domain

rdf:resource="#Robbery"/> <rdfs:range rdf:resource=“#Thief>

</owl:ObjectProperty >

<owl:ObjectProperty rdf:ID=“driver"> <rdfs:domain

rdf:resource="#Speeding"/> <rdfs:range

rdf:resource=“#Speeder"/></owl:ObjectProperty >

suspect

Robbery Thief

Speeding Speederdriver

Crimes Literal

description

Page 23: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

23

Any Relationship between the Thief and the Speeder?

Ministry of Interior keeps the OWL descriptions of their files:

<Criminals rdf:about=" http://www.ministryOfInterior/criminals#John_Doe ">

<owl:sameAs rdf:resource=" http://www.ministryOfInterior.gov/criminals#John_Smith "/></Criminals>

Page 24: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

24

How can this be achieved? owl:sameAs property helps!

OWL provides a property (owl:sameAs) for indicating that two resources (e.g., two people) are the same

Thief

Speeder

John Smith

John Doe

owl:sameAs

Inference: The Thief and the Speeder are one and the same!

Page 25: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

25/101

XML in Brief

Page 26: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

26

XML and Semantics

XML gives meaning to data but this is not the semantics we get through ontologies

Semantics is commonly agreed class hierarchies with properties

Page 27: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

27

<PONumber> 1234ABCD </PONumber>

Tagging Data in XML

Considering the content only, it is not possible to understand what 1234ABCD stands for

The tag name PONumber intuitively tells that the content is a purchase order number

Tagged elements may be nested to any depth to provide structured data, or may be repeated to represent a list of values

An Element

Page 28: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

28

Why XML?

EDI XML

BGM+220+1234ABCD+9' DTM+137:20030601:102'

LIN+1' PIA+5+9344:EN+1078341ITEM:VP' QTY+21:16:EA' PRI+AAA:95'

LIN+2' …

<PurchaseOrderRequest> <PONumber>1234ABCD </PONumber> <PurchaseOrderDate>20030601</PurchaseOrderDate> <FirstLineItem> <ItemEAN_Identification no=9344 /> <QuantityOrdered> 16 </QuantityOrdered> <UnitPrice> 95 <UnitPrice></FirstLineItem> <SecondLineItem>…

Page 29: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

29

Giving Meaning and Structure to Data<PurchaseOrderRequest>

<PONumber>1234ABCD </PONumber>

<PurchaseOrderDate>20030601</PurchaseOrderDate>

<LineItem>

<ItemEAN_Identification no=9344 />

<QuantityOrdered> 16 </QuantityOrdered>

<UnitPrice> 95 <UnitPrice>

</LineItem>

<LineItem> … </LineItem>

</PurchaseOrderRequest>

Start TagStart Tag

An Element

An Attribute

Another Element

End Tag

Data

Page 30: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

30

Giving Structure to Data

PurchaseOrderRequest

PurchaseOrderDatePONumber LineItem

ItemEAN_Identification QuantityOrdered UnitPrice

Page 31: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

31

Extensibility in XML Anyone can invent new tags and attach a

meaning to those tags For example: <HandHeldDevice> This device</HandHeldDevice>

<MobileDevice> This device</MobileDevice> But if every user creates its own XML definition for

describing his data, it is not possible to achieve interoperability

Page 32: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

32

MobileDevice

Agreement on tags is necessary In other words, a tagged document is not very useful

without some kind of agreement on the tags among inter-operating applications

HandHeld Device

Page 33: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

33

Standardizing XML Documents There are very many efforts in this respect:

Common Business Library (xCBL) RosettaNet Web Service standards ebXML HL7 for heath care … Almost any standard that you can think of is being

developed in XML

Page 34: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

34

Many Public Domain XML Software: For Example XML DOM ParserApplication Code

Initialize Parser

In memory DOM: PerformProcessing

XMLParser

XMLDocument

Begin parsing

Parsing complete

A parser validates and makes the data contained in an XML document availableto the application

Page 35: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

35

XSLT Processor

XMLDocument

XSL StyleSheet 2

Output from Style

Sheet 1

Output fromStyle

Sheet 2

XSL StyleSheet 1

Parser

XSLT Processor

• Converts an XML document to another form

• An XSL style sheet is a set of transformation instructions for converting a source XML document to a target document

Page 36: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

36

table.xsl

bar.xsl

art.xsl

Page 37: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

37

XML vs EDI

XML is an open human-readable, text format

EDI documents are typically in a compressed, machine-only readable form

XML is designed to require one customised mapping per industry grouping, so most companies will be able to work to one format and use XML

EDI traditionally requires customised mapping of each new trading partners document format

XML requires a reliable PC with an Internet connection

EDI typically requires dedicated servers that cost from USD10,000 and up

Page 38: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

38

XML vs EDI

XML documents are typically sent via the Internet - i.e. a relatively low-cost public network

EDI documents are typically sent via private and relatively expensive value-added networks (VANs)

XML in Internet-based has low ongoing flat-rate costs using existing Internet connections and relatively low-cost Web Servers

EDI can involve high on-going transaction based costs keeping up the connection to the EDI network and keeping the servers up and running

Page 39: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

39

XML vs EDI

XML appears to have no upper limit in terms of numbers of users

EDI is estimated to be limited to 300,000 companies worldwide and about 20% of their suppliers because of operational costs and complexity

XML is being developed in a world of shared software development populated by many low-cost tools and open source projects.

EDI was traditionally built from the ground up in semi-isolation without being able to share resources with other programs

Page 40: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

40

Why use XML?

It is a universally accepted standard way of structuring data (syntax)

It is a W3C recommendation (W3C = World Wide Web Consortium)

The marketplace supports it with a lot of free/inexpensive tools

Page 41: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

41/101

Web Interaction Evolution: How have we reached to Web services?

Page 42: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

42

Earliest Days of Web

Web has a client/server architecture, where a browser runs on the client such as Netscape or Explorer and a Web server like Apache server runs on the server machine

In the early days of the Web, there was no processing either on the client or on the server

A user accessed only static documents which are the pages that exist on the Web server and are simply delivered to the Web browser

However in 1995 W3C published HTML 2.0 which included “forms” that made it possible to use Web interactively

A Web Browserlike Netscape orExplorer

HTML overHTTP

A Web Serverlike Apache Server

Static Document Exchange: No processingon the serveror on the browser!

WEB

Page 43: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

43

Interaction through Web Forms

A Web form, is an HTML page with one or more data entry fields and a mandatory “Submit” button

When the “submit” button is clicked, the form's data contents are send to a Web server The server invokes the program or resource named in the URL and passes the method

request and its parameters to the back-end program using a protocol called the Common Gateway Interface

The back-end program executes the request and returns the results in HTML format to the Web server using the CGI protocol

The Web server returns the result to the client Pages (called dynamic pages)

A Web Form(HTML)

Submit

Back End

Processing

CommonGatewayInterface

WEB

Page 44: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

44

More Advanced Forms of Interaction Web Browser-side Processing:

The processing on the client side basically involves validating user input, and interactivity with the server

Some of the well-known browser-side processing technologies are as follows: Scripts: A script is a program that may accompany an HTML document The program executes on the client's machine when the document is

downloaded, or at a later time when a link is activated It increases the interactivity provided by HTML The most popular scripting languages are Java Script and VBScript

Applets: Applets are programs that require a Web browser to run The <Applet> tag is embedded in a Web page and identifies the applet to be

run When the page is accessed by a user, the applet is automatically

downloaded from the server and runs on the client machine

Page 45: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

45

More Advanced Forms of Interaction Web Server-side Processing:

Web server-side processing is used in generating customized responses for the user by accessing databases

There are several technologies for server-side processing: The Java Servlet API allows Web developers to extend the functionality of a

Web server by writing small Java programs called Servlet that interact with the Web server through a well-defined API

Server-side applications can also be written using JavaBeans JavaBeans are portable, platform independent and hence reusable software

components written in Java that perform well-defined tasks Java Server Pages are another platform-independent alternative for

generating dynamic content on the server side PHP is an open source server-side scripting language which is written

specifically for interacting with the Web ASP is a server-side processing technology from Microsoft

Page 46: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

46

Web Services

Web Service

Client Application

XML

WEB

ExistingApplication

ExistingApplication

• Existing applications can be wrapped as Web services

• Client and Service can use different platforms and programming languages

• Services can be composed to make composite services

Page 47: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

47

Summary: Evolution of Web Interaction

Human to Machine interaction Machine to Machine or Human to Machine Interaction

User at browser interacts with application at Web Server

Client application interacts with Web Service application

Web App sends HTML to browser for human display

Client and Service exchange XML

Protocol is HTTP Protocol may be HTTP or other

Page 48: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

48/101

Web services, SOAP, WSDL and UDDI

Page 49: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

49

What is a Web Service?

A Web Service is an interface that describes: a collection of operations that are network-accessible through standardized XML messaging

To put it simply, Web services are applications that interact with each other using Web standards

Web Service

Client Application

XML

WEB

Page 50: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

50

Web Services

A Business function made available via Internet by a service provider, and accessible by clients that could be human users or software

applications A software application:

Identified by a URI Its interfaces and binding are capable of being defined,

described and discovered by XML artifacts and Supports direct interactions with other software

applications Using XML based messages via Internet-based protocols

Page 51: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

51

W3C Description of a Web Service A Web service is a software system designed

to support interoperable machine-to-machine interaction over a network

It has an interface described in a machine-processable format (specifically WSDL)

Other systems interact with the Web service in a manner prescribed by its description using SOAP-messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards

Page 52: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

52

Some Use Examples

An insurance policy service to insure the products being shipped

A financing service to ensure payment according to vendor terms

A health-care service to access health-care records

Page 53: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

53

Web Service Model

Service Registry (ebXML or UDDI)- Web service descriptions

Service Consumer

Service Provider- Web service- Service Description in WSDL

Publish service

Discover service

Invoke service through SOAP

Page 54: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

54

Web Services

The Web Services Reference Model Service Provider Service Registry Service Consumer

Major Standards WSDL (Web Services Description Language) SOAP (Simple Object Access Protocol) UDDI (Universal Description, Discovery and

Integration) registries ebXML (Electronic Business XML)

Page 55: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

55

Why Web Services? For B2B interactions,

applications need to talk to each other on the Web: Interoperability is needed

A change in an application should not effect the apps it is talking to

Web services provide these through WSDL and SOAP

WSDL is the established public contract with the outside world

Web Service

Client Application

XML

WEBExistingApplication Existing

Application

Web Service

Client Application

XML

WEBExistingApplication Existing

Application

WSDL and SOAP:Public contract withthe outside world

Page 56: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

56

WSDL Provides only the Technical Description of the Service!

Web ServiceService Consumer

Web Service Description Language

defines

uses

Page 57: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

57

WSDL does not describe Web service semantics: Ontologies do!

Web ServiceService Consumer

Web Service Description

defines

Semantic description of the properties of a service

uses

Page 58: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

58

WSDL Structure

Service

Port(e.g. http://host/svc)

Binding(e.g. SOAP, JMS,

direct call)

Abstract interface

portType

operation(s)

inMesage outMessage

Port

Binding

Where to access it

How to access it

Abstract definition of the service (set of

Operations)

Operation: An Exchange of

Messages between a serviceRequestor and a Service provider

Page 59: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

59

Web Services Description Language

Page 60: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

60

XML Messaging: SOAP

The current standard for XML Messaging is Simple Object Access protocol (SOAP)

Applications typically communicate with Web services via SOAP messaging

Typically HTTP is used as RPC transport

XML is used as RPC encoding scheme

Page 61: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

61

SOAP

SOAP consists of three parts: an envelope that defines what is in a message, a set of encoding rules for expressing instances of

application-defined data types, and a convention for representing remote procedure calls

(RPC) and responses SOAP can be used in combination with by a

variety of network protocols such as HTTP, SMTP, FTP, MQ or RMI over IIOP

Page 62: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

62

SOAP over HTTP

HTTP POST Message

SOAP Endpoint Reference

XML MessageSOAP Payload

SOAP Header

SOAP Body

SOAP Envelope

Page 63: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

63

SOAP Endpoint Reference

144.122.230.16 80 /ProductCatalog#getPrice

IP Host Address TCP Port No

Object Endpoint ID

POST /ProductCatalog HTTP/1.0 Host: http://www.srdc.metu.edu.tr Content-Type: text/xml; charset="utf-8" Content-Length: 500 SOAPAction: ``http://www.srdc.metu.edu.tr/ProductCatalog#getPrice"

Page 64: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

64

SOAP Body

<SOAP-ENV:Header /> <SOAP-ENV:Body> <s:getPrice

xmlns:s="http://www.srdc.metu.edu.tr/ProductCatalog"> <product_name xsi:type="xsd:string">Palm

Pilot</product_name> </s:getPrice> </SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Method Name

Input Parameter

Page 65: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

65

SOAP ResponseHTTP/1.0 200 OKContent-Type: text/xml; charset="utf-8" Content-Length: 400 <SOAP-ENV:Envelope xmlns:SOAP-ENV="

http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="

http://schemas.xmlsoap.org/soap/encoding" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Header /> <SOAP-ENV:Body> <s:getPriceResponse

xmlns:s="http://www.srdc.metu.edu.tr/ProductCatalog"> <product_price xsi:type="xsd:float">2000.</product_price> </s:getPriceResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Standard Suffix

Page 66: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

66

WS-Security

Microsoft and IBM partnership

Enhancement of SOAP messages to provide Message integrity Message confidentiality Message authentication

http://www-106.ibm.com/developerworks/library/ws-secure/

Page 67: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

67/101

Semantic Support of Web Services in UDDI Registries

Page 68: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

68

Web Service Model

UDDI Web Service Registry - Web service descriptions

Service Consumer

Service Provider- Web service- Service Description in WSDL

Publish service

Discover service

Invoke service through SOAP

Page 69: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

69

Page 70: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

70

Page 71: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

71

Registry APIs (SOAP Messages)

Inquiry API Find

find_business find_service find_binding find_tModel

Get Details get_businessDetail get_serviceDetail get_bindingDetail get_tModelDetail

Publishers API Save

save_business save_service save_binding save_tModel

Delete delete_business delete_service delete_binding delete_tModel

Page 72: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

72

businessEntitybusinessKeynameURLdescriptioncontactsbusinessServicesidentifierBagcategoryBag

PhoneAddressEmail

Contact

businessServiceKeyNameDescriptionBindingTemplates

PhoneAddressEmail

Contact

businessServiceserviceKeytModelKeyNameDescriptionBindingTemplates

keyedReferencetModelKeykeyNamekeyValue

keyedReferencetModelKeykeyNamekeyValue

keyedReferencetModelKeykeyNamekeyValue

keyedReferencetModelKeykeyNamekeyValue

Business Registration

XML document Created by end-user

company (or on their behalf)

Can have multiple service listings

Can have multiple taxonomy listings

Page 73: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

73

Business categories in UDDI

3 standard taxonomies in V1 Industry: NAICS - North American Industrial

Classification Scheme (Industry codes - US Govt.) Product/Services: UN/SPSC - Universal Standard

Products and Services Classification (ECMA) Location: ISO 3166 Geographical taxonomy

Page 74: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

74

ISO 3166 Codes (Countries)(http://www.iso.ch/iso/en/prods-services/iso3166ma/)

Country A2 A3 Number

ITALY IT ITA 380

TURKEY TR TUR 792

… … … …

Page 75: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

75

North American Industry Classification System (NAICS)

Page 76: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

76

United Nations Standard Products &Services Code® (UNSPSC)

Page 77: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

77

Remember the Motivating Example

Needs to find all services which

sell …

Desktop With 256 MByte Speed 2 GHertz In Italy Payment method

should be creditcard

Delivery shouldbe within a week

The process should befully automated: no humaninteraction

A CompanyIn Turkey

Page 78: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

78

If there is such a service, how can we find it through UDDI Registries?

UDDI Registry

MyService(Speed,Memory,Battery_Life, DeliveryTime,Payment_Method, Location)

find_service (2GHertz, 256 MByte, 2 years, 1 Week, Credit_Card, Italy)

How to find theService in UDDI Registry?

Page 79: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

79

UNSPSC Codes for Computers (http://eccma.org/unspsc/browse/43.html)-[43.17.18.00] Computers –commodity

-[43.17.18.01] Notebook computers –commodity-[43.17.18.02] Docking stations –commodity-[43.17.18.03] Workstations or desktop computers –commodity-[43.17.18.04] Personal digital assistants (PDAs) or pen based computers –commodity-[43.17.18.05] Mainframe computers –commodity-[43.17.18.06] Servers –commodity-[43.17.18.07] Port replicators –commodity-[43.17.18.08] Minicomputers –commodity-[43.17.18.09] Point of sale (POS) terminals –commodity-[43.17.18.22] Supercomputers

Page 80: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

80

Taxonomy vs. OntologyAn Example Taxonomy: UNSPSC

43.17.18.00

Computers –commodity

43.17.18.03

Workstations or desktop computers –commodity

Page 81: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

81

If there is such a service, how can we find it through UDDI Registries? If a service puts the tModel key corresponding to

[43.17.18.03] Workstations or desktop computers –commodity in its category bag

THEN We know that this service is related with

computers BUT: How about the properties of the product?

Memory, Speed?

Page 82: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

82

Current Semantic Support for Web Services in UDDI Registries To find services which sell desktops in Italy

put: tModel key corresponding to ISO 3166 and Italy

in the category bags of such services How about the other properties of service we

are looking for? Payment method? Delivery time? Product

properties?

Page 83: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

83

Summary and Conclusions on the semantic support by UDDI registries UDDI provides very limited semantic support

for Web services!

Page 84: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

84/101

ebXML: A Brief Overview

Page 85: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

85

ebXML

A joint global initiative by UN/ CEFACT – United Nations Center For Trade

Facilitation And Electronic Business OASIS – Organization for the Advancement of Structured

Information Standards United Nations Center for Trade Facilitation and

Electronic Business Sets worldwide policy and technical development in trade

facilitation and electronic business Developed international EDI standard, UN/ EDIFACT

The initiative leverages from the success of EDI in large businesses, and intends reaching small and medium enterprises

Page 86: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

86

ebXML Architecture’s functional components

Business Process Specification Schema (BPSS)

Trading Partner Information Collaboration Protocol Profile CPP

Trading Partner Agreement Collaboration Protocol Agreement CPA

Registry/Repository Messaging Service Core Components

Page 87: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

87

An Overview of Functional Components in ebXML

Repository

ebXML Business Process

Specifications

Business Document

Specification

ebXMLCore

Components

CPP CPPCPA

BusinessService

Interface

BusinessService

Interface

ContextFor

ReferenceTo

BuiltWith

Implement onePartner Role

Implement otherPartner Role

Page 88: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

88

ebXMLRegistry 3 Register Company

Information

1 Request BusinessDetails

4 Query aboutCompany A

Company A

Company B

5 Download Scenarios and Profiles

2 BuildLocalSystem

6 Agree onBusiness Arrangements

7 Do Business Transactions!

ebXML compliantsystem

Page 89: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

89

ebXML Summary and Implementation Status Currently ebXML compliant registries are

available, for example, OASIS ebXML Registry Reference Implementation Project (ebxmlrr), http://ebxmlrr.sourceforge.net/

Page 90: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

90/101

How to Exploit Web Services Semantics through ebXML?

Page 91: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

91

Where to store the generic semantics of the services? An ebXML registry allows to define semantics

basically through two mechanisms: It allows properties of registry objects to be

defined through “slots” and, Metadata can be stored in the registry through a

“classification” mechanism

Page 92: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

92

ebXML Registry Information Model (RIM)

RegistryObject

ClassificationNode Classification

RegistryPackage ExtrinsicObject Service

AssociationRegistryEntry

ClassificationScheme

Page 93: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

93

Classifying a Service in ebXML Registries

Computer(Speed, Memory)

Desktop(case type)

Lap Top(Battery life)

Country codesISO 3166

Italy:IT

Turkey:TR

WebService(Payment_Method)

BuyServiceSellService

(DeliveryTime)

MyService(Speed,Memory,Battery_Life, DeliveryTime,Payment_Method, Location)

The service is from Italy selling Lap Tops with parameters to specify payment methods and delivery time and productproperties

Page 94: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

94

Why to relate services advertised with the generic ontology classes? By relating a service

advertised with a node in classification hierarchy, we make the service an explicit member of this node

The service also inherits the well-defined meaning associated with this node as well as the generic properties defined for this node

WebService(Payment_Method)

BuyServiceSellService

(DeliveryTime)

MyService(Speed,Memory,Battery_Life, DeliveryTime,Payment_Method, Location)

Page 95: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

95

An Example

WebService(Payment_Method)

BuyServiceSellService

(DeliveryTime)

MyService(Speed,Memory,Battery_Life, DeliveryTime,Payment_Method, Location)

“MyService”is a “SellService”because itis classified under it

“MyService” inherits the property “DeliveryTime” because it is a subClass of “SellService”

Page 96: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

96

How to Define a Classification Hierarchy in ebXML?

<rim:ClassificationScheme id = ‘WebService‘ isInternal='true' nodeType='UniqueCode' >

<rim:Name> <rim:LocalizedString value = ‘WebService'/>

</rim:Name> <rim:Description><rim:LocalizedString value = 'This is a

sample WebServicescheme'/> </rim:Description>

<Slot name = ‘paymentMethod' slotType= 'StringList’/>

</rim:ClassificationScheme>

WebService(Payment_Method)

BuyServiceSellService

(DeliveryTime)

<rim:ClassificationNode id = ‘SellService‘ parent= ‘WebService'> <rim:Name> <rim:LocalizedString value = ‘SellService' /> </rim:Name> <rim:Description> <rim:LocalizedString value = ''/> </rim:Description>

<Slot name = ‘deliveryTime' slotType= 'StringList’/></rim:ClassificationNode> …

Page 97: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

97

Relating a Web service Advertised with Service Ontology in ebXML

MyService:Registry Entry

SellService:ClassificationNode

ServiceToIndustryClassification:Classification

classifiedObject classificationNode

Such a classification indicates that MyService is a “SellService”!

Page 98: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

98

Classifying a Service With Multiple Hierarchies in an ebXML Registry

MyService

ServiceToIndustryClassification:Classification

ServiceToIndustryClassification:Classification

ServiceToIndustryClassification:Classification

SellService:ClassificationNode

Italy:ClassificationNode

Laptop:ClassificationNode

classifiedObject

classifiedObject classifiedObjectclassification Node classification Node

classification Node

Page 99: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

99

“SubmitObjectRequest” which declares the semantic of “MyService” and relates it with the “Sell” Service<?xml version = '1.0' encoding = 'UTF-8'?><SubmitObjectsRequest >

<rim:LeafRegistryObjectList><Service id="MyService"><Name> <LocalizedString lang="en_US" value =

“MyService"/> </Name><Classification classificationNode=“SellService“

ClassifiedObject= "MyService" /> <Slot name = ‘deliveryTime'>

<ValueList> <Value>1 Week </Value> </ValueList> </Slot>

Page 100: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

100

An Example “SubmitObjectRequest” (Cont’d)

<ServiceBinding accessURI="http://www.sun.com/ebxmlrr/registry/nameSpaceI

ndexer"><SpecificationLink specificationObject="wsdl">

</SpecificationLink> </ServiceBinding> </Service>

<ExtrinsicObject id="wsdl" mimeType="text/xml"> </ExtrinsicObject></rim:LeafRegistryObjectList>

</SubmitObjectsRequest>

Page 101: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

101/101

How do we locate Web services according to their semantics in an ebXML compliant registry?

Page 102: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

102

A Filter Query Retrieving all the services classified by SellService Node with Delivery Time 1 Week<AdhocQueryRequest > <ResponseOption returnType = "LeafClass" returnComposedObjects = "true" /> <FilterQuery> <ServiceQuery> <ClassifiedByBranch> <ClassificationNodeQuery> <NameBranch> <LocalizedStringFilter> <Clause> <SimpleClause leftArgument = "value"> <StringClause stringPredicate = "Equal">SellService </StringClause> </SimpleClause> </Clause> </LocalizedStringFilter> </NameBranch> </ClassificationNodeQuery> </ClassifiedByBranch>

<SlotBranch> <SlotFilter> <Clause> <SimpleClause leftArgument = "name_"> <StringClause stringPredicate = "Equal"> deliveryTime </StringClause> </SimpleClause> </Clause> </SlotFilter> <SlotValueFilter> <Clause> <SimpleClause leftArgument = "value"> <StringClause stringPredicate = "Contains"> 1 Week </StringClause> </SimpleClause> </Clause> </SlotValueFilter> </SlotBranch>

… </ServiceQuery> </FilterQuery> </AdhocQueryRequest>

Page 103: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

103

Summary and Conclusions on the Semantic support provided by ebXML Semantic information can play two major roles in the

Web services area: One is to provide a source of shared and precisely

defined terms which can be used to dynamically discover, compose and monitor services

The other is to reason about the semantic information ebXML class hierarchies can achieve the first role However, for the second role, we need the power of

ontology languages and reasoners

Page 104: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

104/101

OWL-S

Page 105: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

105

OWL-S: Defines an Upper Ontology for Web Services in OWL

describedBy:How it works

Service

ServiceGroundingServiceModel

Resource ServiceProfile

Supports:

How to access it

presents: What it does

provides

Page 106: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

106

The next steps…

The future work involves defining the semantics of Web services through Ontology Languages like OWL-S

And exploiting such service ontologies through service registries

There are already some work in this direction…

Page 107: Asuman DogaceChallenges, Bologna, October 23, 20031/101 Exploiting Semantic of Web Services through ebXML Registries Asuman Dogac Middle East Technical

Asuman Dogac eChallenges, Bologna, October 23, 2003

107

Thank you for your attention!