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

1 / 107
About This Presentation
Title:

Exploiting Semantic of Web Services through ebXML Registries

Description:

Finger prints from a robbery scene identified John Smith as the suspect ... EDI can involve high on-going transaction based costs keeping up the connection ... – PowerPoint PPT presentation

Number of Views:58
Avg rating:3.0/5.0
Slides: 108
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?
  • 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

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

11
An Example RDF Schema
ltrdfsClass rdfIDCrimes"gt lt/rdfsClassgt
ltrdfsClass rdfIDRobbery"gt
ltrdfssubClassOf rdfresource"Crimes"/gt lt/rdfsC
lassgt

ltrdfsClass rdfIDTerrorism"gt
ltrdfssubClassOf rdfresource"Crimes"/gt lt/rdfsC
lassgt
12
RDF Properties
description
ltrdfsProperty rdfIDdescription"gt
ltrdfsdomain rdfresource"Crime"/gt
ltrdfsrange rdfresourcehttp//www.w3.org/2000
/01/rdf-schemaLiteral"/gt lt/rdfsProperty gt
  • ltrdfsProperty rdfIDsuspect"gt
  • ltrdfsdomain rdfresource"Robbery"/gt
  • ltrdfsrange rdfresourceThiefgt
  • lt/rdfsProperty gt

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

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

15
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)
16
OWL RDF Schema more
  • All of the elements/attributes provided by RDF
    and RDF Schema can be used when creating an OWL
    document

17
What do we gain from semantics?
18
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
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

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
20
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
21
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
22
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
23
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
24
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

25
XML in Brief
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

27
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

28
Why XML?
29
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
30
Giving Structure to Data
PurchaseOrderRequest
PurchaseOrderDate
LineItem
PONumber
ItemEAN_Identification
QuantityOrdered
UnitPrice
31
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

32
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
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

34
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
35
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

36
(No Transcript)
37
XML vs EDI
38
XML vs EDI
39
XML vs EDI
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

41
Web Interaction Evolution How have we reached to
Web services?
42
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

43
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)

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

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

46
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

47
Summary Evolution of Web Interaction
48
Web services, SOAP, WSDL and UDDI
49
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

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

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

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

53
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
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)

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

WSDL and SOAP Public contract with the outside
world
56
WSDL Provides only the Technical Description of
the Service!
Web Service Description Language
defines
Web Service
Service Consumer
uses
57
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
58
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
59
Web Services Description Language
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

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

62
SOAP over HTTP
HTTP POST Message
SOAP Endpoint Reference
XML Message
SOAP Payload
SOAP Envelope
SOAP Header
SOAP Body
63
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"
64
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
65
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
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-s
ecure/
67
Semantic Support of Web Services in UDDI
Registries
68
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
69
(No Transcript)
70
(No Transcript)
71
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

72
Business Registration
  • XML document
  • Created by end-user company (or on their behalf)
  • Can have multiple service listings
  • Can have multiple taxonomy listings

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

74
ISO 3166 Codes (Countries)(http//www.iso.ch/iso/
en/prods-services/iso3166ma/)
75
North American Industry Classification System
(NAICS)
76
United Nations Standard Products Services Code
(UNSPSC)
77
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
78
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)
79
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

80
Taxonomy vs. OntologyAn Example Taxonomy UNSPSC
43.17.18.00 Computers commodity
43.17.18.03 Workstations or desktop computers
commodity
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?

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?

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

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

86
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

87
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
88
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
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/

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

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

95
An Example
MyService is a SellService because it is
classified under it
MyService inherits the property DeliveryTime
because it is a subClass of SellService
96
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

97
Relating a Web service Advertised with Service
Ontology in ebXML
Such a classification indicates that MyService is
a SellService!
98
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
99
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

100
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

101
How do we locate Web services according to their
semantics in an ebXML compliant registry?
102
A Filter Query Retrieving all the services
classified by SellService Node with Delivery Time
1 Week
  • ltAdhocQueryRequest gt
  • ltResponseOption returnType "LeafClass"
    returnComposedObjects "true" /gt
  • ltFilterQuerygt ltServiceQuerygt
    ltClassifiedByBranchgt
  • ltClassificationNodeQuerygt ltNameBranchgt
    ltLocalizedStringFiltergt
  • ltClausegt ltSimpleClause leftArgument
    "value"gt
  • ltStringClause stringPredicate
    "Equal"gtSellService 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
    deliveryTime lt/StringClausegt
  • lt/SimpleClausegt lt/Clausegt lt/SlotFiltergt
  • ltSlotValueFiltergt ltClausegt ltSimpleClause
    leftArgument "value"gt
  • ltStringClause stringPredicate "Contains"gt 1
    Week lt/StringClausegt
  • lt/SimpleClausegt lt/Clausegt lt/SlotValueFiltergt
    lt/SlotBranchgt
  • lt/ServiceQuerygt lt/FilterQuerygt
    lt/AdhocQueryRequestgt

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

104
OWL-S
105
OWL-S Defines an Upper Ontology for Web Services
in OWL
describedByHow it works
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

107
Thank you for your attention!
Write a Comment
User Comments (0)
About PowerShow.com