Exploiting Semantic of Web Services through ebXML Registries - PowerPoint PPT Presentation

1 / 108
About This Presentation
Title:

Exploiting Semantic of Web Services through ebXML Registries

Description:

In the early days of the Web, there was no processing either ... A Web form, is an HTML page with one or more data entry fields and a mandatory 'Submit' button ... – PowerPoint PPT presentation

Number of Views:92
Avg rating:3.0/5.0
Slides: 109
Provided by: asuman9
Category:

less

Transcript and Presenter's Notes

Title: Exploiting Semantic of Web Services through ebXML Registries


1
Exploiting Semantic of Web Services through ebXML
Registries
  • Asuman Dogac
  • Middle East Technical University
  • 06531 Ankara Turkey

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

3
Outline
  • Motivation Why do we need the semantics of Web
    services?
  • 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?
  • Ontology
  • OWL-S

4
Motivation Why do we need the semantics of Web
services?
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

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
7
A Motivating Example
A Company In Turkey
Needs to find all services which sell
Delivery should be within a week
The process should be fully automated no
human interaction
Desktop With Memory 256 MByte Speed 2 GHertz
Payment method should be credit card
Made In Italy
8
To be continued
9
XML in Brief
10
Tagging Data in XML
  • ltPONumbergt 1234ABCD lt/PONumbergt

An Element
  • 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

11
Why XML?
12
Giving Meaning and Structure to Data
Start Tag
Start Tag
  • ltPurchaseOrderRequestgt
  • ltPONumbergt1234ABCD lt/PONumbergt
  • ltPurchaseOrderDategt20030601lt/PurchaseOrderDategt
  • ltLineItemgt
  • ltItemEAN_Identification no9344 /gt
  • ltQuantityOrderedgt 16 lt/QuantityOrderedgt
  • ltUnitPricegt 95 ltUnitPricegt
  • lt/LineItemgt
  • ltLineItemgt lt/LineItemgt
  • lt/PurchaseOrderRequestgt

An Element
Another Element
An Attribute
Data
End Tag
13
Giving Structure to Data
PurchaseOrderRequest
PurchaseOrderDate
LineItem
PONumber
ItemEAN_Identification
QuantityOrdered
UnitPrice
14
Extensibility in XML
  • Anyone can invent new tags and attach a meaning
    to those tags
  • For example
  • ltHandHeldDevicegt This devicelt/HandHeldDevicegt
  • ltMobileDevicegt This devicelt/MobileDevicegt
  • But if every user creates its own XML definition
    for describing his data, it is not possible to
    achieve interoperability

15
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

Mobile Device
Hand Held Device
16
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

17
Many Public Domain XML Software For Example XML
DOM Parser
A parser validates and makes the data contained
in an XML document available to the application
18
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

19
(No Transcript)
20
XML vs EDI
21
XML vs EDI
22
XML vs EDI
23
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

24
Web Interaction Evolution
25
Earliest Days of Web
HTML over HTTP
A Web Browser like Netscape or Explorer
Static Document Exchange No processing on the
server or on the browser!
WEB
A Web Server like Apache Server
  • 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

26
Interaction through Web Forms
Common Gateway Interface
A Web Form (HTML)
Back End Processing
Submit
WEB
  • 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)

27
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 ltAppletgt 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

28
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

29
Web Services
  • 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

30
Summary Evolution of Web Interaction
31
Web services, SOAP, WSDL and UDDI
32
What is a Web Service?
To put it simply, Web services are applications
that interact with each other using Web standards
Web Service
XML
Client Application
WEB
  • A Web Service is an interface that describes
  • a collection of operations
  • that are network-accessible
  • through standardized XML messaging

33
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

34
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

35
Web Service Model
Service Registry (ebXML or UDDI) - Web service
descriptions
Discover service
Publish service
Service Consumer
Service Provider - Web service - Service
Description in WSDL
Invoke service through SOAP
36
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)

37
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

WSDL and SOAP Public contract with the outside
world
38
WSDL Provides only the Technical Description of
the Service!
Web Service Description Language
defines
Web Service
Service Consumer
uses
39
WSDL does not describe Web service semantics
Ontologies do!
Semantic description of the properties of a
service
Web Service Description
defines
uses
Web Service
Service Consumer
40
WSDL Structure
Service
Where to access it
Port (e.g. http//host/svc)
Port
How to access it
Binding (e.g. SOAP, JMS, direct call)
Binding
Operation An Exchange of Messages between a
service Requestor and a Service provider
Abstract definition of the service (set
of Operations)
Abstract interface
portType
operation(s)
inMesage
outMessage
41
Web Services Description Language
42
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

43
Layered model of Web service Communication
Message Encoding SOAP
SOAP defines the content of the message in XML
Message Transport
Message transport protocol is typically HTTP
Transport
The transport protocol used in Web Service
communication is typically TCP
44
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

45
SOAP over HTTP
HTTP POST Message
SOAP Endpoint Reference
XML Message
SOAP Payload
SOAP Envelope
SOAP Header
SOAP Body
46
SOAP Endpoint Reference
IP Host Address
TCP Port No
Object Endpoint ID
144.122.230.16
80
/ProductCataloggetPrice
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/P
roductCataloggetPrice"
47
SOAP Body
  • ltSOAP-ENVHeader /gt
  • ltSOAP-ENVBodygt
  • ltsgetPrice xmlnss"http//www.srdc.metu.edu.tr
    /ProductCatalog"gt
  • ltproduct_name xsitype"xsdstring"gtPalm
    Pilotlt/product_namegt
  • lt/sgetPricegt
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

Method Name
Input Parameter
48
SOAP Response
  • HTTP/1.0 200 OK
  • Content-Type text/xml charset"utf-8"
  • Content-Length 400
  • ltSOAP-ENVEnvelope
  • xmlnsSOAP-ENV" http//schemas.xmlsoap.org/
    soap/envelope/"
  • SOAP-ENVencodingStyle" http//schemas.xmls
    oap.org/soap/encoding"
  • xmlnsxsi"http//www.w3.org/1999/XMLSchema-
    instance"
  • xmlnsxsd"http//www.w3.org/1999/XMLSchema"
    gt
  • ltSOAP-ENVHeader /gt
  • ltSOAP-ENVBodygt
  • ltsgetPriceResponse xmlnss"http//www.srdc.me
    tu.edu.tr/ProductCatalog"gt
  • ltproduct_price xsitype"xsdfloat"gt2000.lt/prod
    uct_pricegt
  • lt/sgetPriceResponsegt
  • lt/SOAP-ENVBodygt
  • lt/SOAP-ENVEnvelopegt

Standard Suffix
49
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-s
ecure/
50
Semantic Support of Web Services in UDDI
Registries
51
Web Service Model
UDDI Web Service Registry - Web service
descriptions
Discover service
Publish service
Service Consumer
Service Provider - Web service - Service
Description in WSDL
Invoke service through SOAP
52
Business Registration
  • XML document
  • Created by end-user company (or on their behalf)
  • Can have multiple service listings
  • Can have multiple taxonomy listings

53
(No Transcript)
54
(No Transcript)
55
Registry APIs (SOAP Messages)
  • Publishers API
  • Save
  • save_business
  • save_service
  • save_binding
  • save_tModel
  • Delete
  • delete_business
  • delete_service
  • delete_binding
  • delete_tModel
  • Inquiry API
  • Find
  • find_business
  • find_service
  • find_binding
  • find_tModel
  • Get Details
  • get_businessDetail
  • get_serviceDetail
  • get_bindingDetail
  • get_tModelDetail

56
Remember the Motivating Example
A Company In Turkey
Needs to find all services which sell
Delivery should be within a week
The process should be fully automated no
human interaction
Desktop With 256 MByte Speed 2 GHertz
Payment method should be credit card
In Italy
57
If there is such a service, how can we find it
through UDDI Registries?
  • find_service (2GHertz, 256 MByte, 2 years, 1
    Week, Credit_Card, Italy)

How to find the Service in UDDI Registry?
UDDI Registry MyService(Speed,Memory, Battery_Lif
e, DeliveryTime, Payment_Method, Location)
58
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

59
UNSPSC Codes for Computers (http//eccma.org/unsps
c/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

60
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?

61
Taxonomies are not enough to define service
semanticsAn Example Taxonomy UNSPSC
43.17.18.00 Computers commodity
43.17.18.03 Workstations or desktop computers
commodity
62
ISO 3166 Codes (Countries)(http//www.iso.ch/iso/
en/prods-services/iso3166ma/)
63
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?

64
Summary and Conclusions on the semantic support
by UDDI registries
  • UDDI provides very limited semantic support for
    Web services!

65
ebXML A Brief Overview
66
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

67
ebXML Architectures 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

68
An Overview of Functional Components in ebXML
ContextFor
ebXML Business Process Specifications
Business Document Specification
ebXML Core Components
BuiltWith
ReferenceTo
Repository
Implement other Partner Role
Implement one Partner Role
Business Service Interface
Business Service Interface
CPP
CPP
CPA
69
Company A
1 Request Business Details
ebXML Registry
2 Build Local System
3 Register Company Information
5 Download Scenarios and Profiles
6 Agree on Business Arrangements
4 Query about Company A
7 Do Business Transactions!
Company B
ebXML compliant system
70
ebXML Summary and Implementation Status
  • Currently ebXML compliant registries are
    available, for example, OASIS ebXML Registry
    Reference Implementation Project (ebxmlrr),
    http//ebxmlrr.sourceforge.net/

71
How to Exploit Web Services Semantics through
ebXML?
72
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

73
ebXML Registry Information Model (RIM)
RegistryObject
ClassificationNode
Classification
Association
RegistryEntry
RegistryPackage
ExtrinsicObject
Service
ClassificationScheme
74
Classifying a Service in ebXML Registries
75
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

76
An Example
MyService is a SellService because it is
classified under it
MyService inherits the property DeliveryTime
because it is a subClass of SellService
77
How to Define a Classification Hierarchy in ebXML?
  • ltrimClassificationScheme id WebService
    isInternal'true' nodeType'UniqueCode' gt
  • ltrimNamegt
  • ltrimLocalizedString value
    WebService'/gt lt/rimNamegt
  • ltrimDescriptiongt
  • ltrimLocalizedString value 'This is a sample
    WebServicescheme'/gt
  • lt/rimDescriptiongt
  • ltSlot name paymentMethod' slotType
    'StringList/gt
  • lt/rimClassificationSchemegt
  • ltrimClassificationNode id SellService
    parent WebService'gt
  • ltrimNamegt
  • ltrimLocalizedString
    value SellService' /gt lt/rimNamegt
  • ltrimDescriptiongt
  • ltrimLocalizedString
    value ''/gt
  • lt/rimDescriptiongt
  • ltSlot name deliveryTime' slotType
    'StringList/gt
  • lt/rimClassificationNodegt

78
Relating a Web service Advertised with Service
Ontology in ebXML
Such a classification indicates that MyService is
a SellService!
79
Classifying a Service With Multiple Hierarchies
in an ebXML Registry
ServiceToIndustryClassification Classification
ServiceToIndustryClassification Classification
classifiedObject
classifiedObject
classification Node
classification Node
MyService
SellService ClassificationNode
Laptop ClassificationNode
classifiedObject
classification Node
ServiceToIndustryClassification Classification
Italy ClassificationNode
80
SubmitObjectRequest which declares the semantic
of MyService and relates it with the Sell
Service
  • lt?xml version '1.0' encoding 'UTF-8'?gt
  • ltSubmitObjectsRequest gt
  • ltrimLeafRegistryObjectListgt
  • ltService id"MyService"gt
  • ltNamegt ltLocalizedString lang"en_US" value
    MyService"/gt lt/Namegt
  • ltClassification classificationNodeSellService
    ClassifiedObject "MyService" /gt
  • ltSlot name deliveryTime'gt
  • ltValueListgt ltValuegt1 Week lt/Valuegt
    lt/ValueListgt lt/Slotgt

81
An Example SubmitObjectRequest (Contd)
  • ltServiceBinding accessURI"http//www.sun.com
    /ebxmlrr/registry/nameSpaceI ndexer"gt
  • ltSpecificationLink specificationObject"wsdl"gt
    lt/SpecificationLinkgt lt/ServiceBindinggt
    lt/Servicegt
  • ltExtrinsicObject id"wsdl" mimeType"text/xml"gt
    lt/ExtrinsicObjectgt
  • lt/rimLeafRegistryObjectListgt
  • lt/SubmitObjectsRequestgt

82
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

83
Ontology
84
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

85
Why use an ontology?
  • A common vocabulary
  • Ability to define relationships among classes,
    properties and instances
  • Automated Processing
  • Reasoning!

86
Ontology Languages and OWL
DAMLDarpa Agent Markup Language
OIL Ontology Inference Layer (Commission
Project)
DAMLOIL
RDF (Resource Description Framework)
OWL Web Ontology Language (Being Standardized
by W3C)
87
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

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

89
What do we gain from semantic reasoning?
90
An Example eGovernment
  • Finger prints from a robbery scene identified
    John Smith as the suspect
  • Here is the police report on the robbery

ltRobbery rdfID"report-2003-10-23-xyz"gt
ltdescriptiongt...lt/descriptiongt ltsuspectgt
ltThief rdfabout"http//www.ministryOfInterior.go
v/criminalsJohn_Smith"/gt lt/suspectgt lt/Robbery
gt
91
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

ltSpeeding rdfID"report-2003-10-23-abc"gt
ltdescriptiongt...lt/descriptiongt ltdrivergt
ltSpeeder rdfabout"http//www.ministryOfInterio
r/criminalsJohn_Doe"/gt lt/drivergt lt/Speedinggt
92
OWL Classes
  • Ministry of Interior has defined ontologies for
    their information in OWL
  • For example

ltowlClass rdfIDCrimes"gt lt/owlClassgt
ltowlClass rdfIDRobbery"gt
ltrdfssubClassOf rdfresource"Crimes"/gt lt/owlCl
assgt

ltowlClass rdfIDTerrorism"gt
ltrdfssubClassOf rdfresource"Crimes"/gt lt/owlCl
assgt
93
OWL Classes
  • Ministry of Interior has also defined the
    following classes
  • For example

ltowlClass rdfIDCriminals"gt lt/owlClassgt
ltowlClass rdfIDThief"gt
ltrdfssubClassOf rdfresource"Criminals"/gt lt/owl
Classgt

ltowlClass rdfIDTerrorists"gt
ltrdfssubClassOf rdfresource"Criminals"/gt lt/owl
Classgt
94
OWL Properties
  • ltowlDatatypeProperty rdfIDdescription"gt
  • ltrdfsdomain rdfresource"Crime"/gt
  • ltrdfsrange rdfresourcehttp//www.w3.org/2001
    /XMLSchemaLiteral"/gt
  • lt/owlDatatypeProperty gt
  • ltowlObjectProperty rdfIDsuspect"gt
  • ltrdfsdomain rdfresource"Robbery"/gt
  • ltrdfsrange rdfresourceThiefgt
  • lt/owlObjectProperty gt
  • ltowlObjectProperty rdfIDdriver"gt
  • ltrdfsdomain rdfresource"Speeding"/gt
  • ltrdfsrange rdfresourceSpeeder"/gt
  • lt/owlObjectProperty gt

description
driver
95
Any Relationship between the Thief and the
Speeder?
Ministry of Interior keeps the OWL descriptions
of their files
ltCriminals rdfabout" http//www.ministryOfInter
ior/criminalsJohn_Doe "gt ltowlsameAs
rdfresource" http//www.ministryOfInterior.gov/
criminalsJohn_Smith "/gt lt/Criminalsgt
96
How can this be achieved? owlsameAs property
helps!
Inference The Thief and the Speeder are one and
the same!
  • OWL provides a property (owlsameAs) for
    indicating that two resources (e.g., two people)
    are the same

97
OWL-S
98
OWL-S Defines an Upper Ontology for Web Services
in OWL
describedByHow it works
99
OWL-S ServiceProfile Class
  • Some of the properties of ServiceProfile class
    are
  • parameter property
  • For example, a subproperty is input, another
    output
  • serviceParameters, subproperties of which may be
    max response time, geographicRadius,
  • serviceType, high level classification of service
    such as B2B or B2C
  • serviceCategory, refers to an ontology of
    services
  • And more

100
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

101
Thank you for your attention!
102
Extra Slides
103
An Example Ontology for Travel Domain
TravelService
Entertainment Service
Accommodation Service
Transportation Service
AirTransportation
ReserveAFlight
BuyATicket
104
Service Composition Travel Service Example
105
(No Transcript)
106
An AdhocQueryRequest to return ReserveAFlightServ
ice as a composite object including the slots
  • lt?xml version "1.0" encoding "UTF-8"?gt
  • ltAdhocQueryRequest xmlns "urnoasisnamestcebx
    ml-regrepqueryxsd2.0"
  • xmlnsxsi "http//www.w3.org/2001/XMLSchema-in
    stance"
  • xsischemaLocation "urnoasisnamestcebxml-r
    egrepqueryxsd2.0 query.xsd"gt
  • ltResponseOption returnType "LeafClass"
    returnComposedObjects "true"/gt
  • ltFilterQuerygt ltRegistryObjectQuerygt
    ltNameBranchgt ltLocalizedStringFiltergt
  • ltClausegt ltSimpleClause leftArgument
    "value"gt
  • ltStringClause stringPredicate "Equal"gt
  • ReserveAFlightServicelt/StringClausegt
  • lt/SimpleClausegt lt/Clausegt
    lt/LocalizedStringFiltergt
  • lt/NameBranchgt lt/RegistryObjectQuerygt
    lt/FilterQuerygt lt/AdhocQueryRequestgt

107
User Interface
108
A Filter Query Retrieving all the services
classified by ReserveAFlightService Node and
Originating from Istanbul
  • ltAdhocQueryRequest gt
  • ltResponseOption returnType "LeafClass"
    returnComposedObjects "true" /gt
  • ltFilterQuerygt ltServiceQuerygt
    ltClassifiedByBranchgt
  • ltClassificationNodeQuerygt ltNameBranchgt
    ltLocalizedStringFiltergt
  • ltClausegt ltSimpleClause leftArgument
    "value"gt
  • ltStringClause stringPredicate
    "Equal"gtReserveAFlightService lt/StringClausegt
  • lt/SimpleClausegt lt/Clausegt
    lt/LocalizedStringFiltergt lt/NameBranchgt
  • lt/ClassificationNodeQuerygt
    lt/ClassifiedByBranchgt
  • ltSlotBranchgt ltSlotFiltergt ltClausegt
    ltSimpleClause leftArgument "name_"gt
  • ltStringClause stringPredicate "Equal"gt
    originatingFrom lt/StringClausegt
  • lt/SimpleClausegt lt/Clausegt lt/SlotFiltergt
  • ltSlotValueFiltergt ltClausegt ltSimpleClause
    leftArgument "value"gt
  • ltStringClause stringPredicate "Contains"gt
    Istanbul lt/StringClausegt
  • lt/SimpleClausegt lt/Clausegt lt/SlotValueFiltergt
    lt/SlotBranchgt
  • lt/ServiceQuerygt lt/FilterQuerygt
    lt/AdhocQueryRequestgt
Write a Comment
User Comments (0)
About PowerShow.com