Title: Exploiting Semantic of Web Services through ebXML Registries
1Exploiting Semantic of Web Services through ebXML
Registries
- Asuman Dogac
- Middle East Technical University
- 06531 Ankara Turkey
2The 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
3Outline
- 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
4Motivation Why do we need the semantics of Web
services?
5Why 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
6Why 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
7A 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
8To be continued
9Ontology
10What 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
11An 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
12RDF 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
13RDF
- 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
14Why use an ontology?
- A common vocabulary
- Ability to define relationships among classes,
properties and instances - Automated Processing
- Reasoning!
15Ontology 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)
16OWL RDF Schema more
- All of the elements/attributes provided by RDF
and RDF Schema can be used when creating an OWL
document
17What do we gain from semantics?
18An 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
19An 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
20OWL 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
21OWL 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
22OWL 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
23Any 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
24How 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
25XML in Brief
26XML 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
27Tagging 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
28Why XML?
29Giving 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
30Giving Structure to Data
PurchaseOrderRequest
PurchaseOrderDate
LineItem
PONumber
ItemEAN_Identification
QuantityOrdered
UnitPrice
31Extensibility 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
32Agreement 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
33Standardizing 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
34Many 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
35XSLT 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)
37XML vs EDI
38XML vs EDI
39XML vs EDI
40Why 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
41Web Interaction Evolution How have we reached to
Web services?
42Earliest 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
43Interaction 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)
44More 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
45More 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
46Web 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
47Summary Evolution of Web Interaction
48Web services, SOAP, WSDL and UDDI
49What 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
50Web 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
51W3C 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
52Some 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
53Web 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
54Web 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)
55Why 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
56WSDL Provides only the Technical Description of
the Service!
Web Service Description Language
defines
Web Service
Service Consumer
uses
57WSDL 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
58WSDL 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
59Web Services Description Language
60XML 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
61SOAP
- 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
62SOAP over HTTP
HTTP POST Message
SOAP Endpoint Reference
XML Message
SOAP Payload
SOAP Envelope
SOAP Header
SOAP Body
63SOAP 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"
64SOAP 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
65SOAP 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
66WS-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/
67Semantic Support of Web Services in UDDI
Registries
68Web 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)
71Registry 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
72Business Registration
- XML document
- Created by end-user company (or on their behalf)
- Can have multiple service listings
- Can have multiple taxonomy listings
73Business 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
74ISO 3166 Codes (Countries)(http//www.iso.ch/iso/
en/prods-services/iso3166ma/)
75North American Industry Classification System
(NAICS)
76United Nations Standard Products Services Code
(UNSPSC)
77Remember 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
78If 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)
79UNSPSC 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
80Taxonomy vs. OntologyAn Example Taxonomy UNSPSC
43.17.18.00 Computers commodity
43.17.18.03 Workstations or desktop computers
commodity
81If 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?
82Current 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?
83Summary and Conclusions on the semantic support
by UDDI registries
- UDDI provides very limited semantic support for
Web services!
84ebXML A Brief Overview
85ebXML
- 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
86ebXML 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
87An 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
88Company 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
89ebXML Summary and Implementation Status
- Currently ebXML compliant registries are
available, for example, OASIS ebXML Registry
Reference Implementation Project (ebxmlrr),
http//ebxmlrr.sourceforge.net/
90How to Exploit Web Services Semantics through
ebXML?
91Where 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
92ebXML Registry Information Model (RIM)
RegistryObject
ClassificationNode
Classification
Association
RegistryEntry
RegistryPackage
ExtrinsicObject
Service
ClassificationScheme
93Classifying a Service in ebXML Registries
94Why 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
95An Example
MyService is a SellService because it is
classified under it
MyService inherits the property DeliveryTime
because it is a subClass of SellService
96How 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
97Relating a Web service Advertised with Service
Ontology in ebXML
Such a classification indicates that MyService is
a SellService!
98Classifying 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
99SubmitObjectRequest 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
100An 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
101How do we locate Web services according to their
semantics in an ebXML compliant registry?
102A 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
103Summary 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
104OWL-S
105OWL-S Defines an Upper Ontology for Web Services
in OWL
describedByHow it works
106The 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
107Thank you for your attention!