You are on page 1of 8

Semantic Interfaces Discovery Server

Laura Maria Chaves José Renato Villela Dantas


PPGIA - University of Fortaleza SERPRO– Federal Data Processing Service
Fortaleza, CE, Brazil Fortaleza, CE, Brazil
lauramariachaves@gmail.com jose.dantas@serpro.gov.br
Bruno de Azevedo Muniz Júlio Cesar Campos Neto
PPGIA -University of Fortaleza Instituto Atlântico
Fortaleza, CE, Brazil Fortaleza, CE, Brazil
brunoamuniz@gmail.com julioccn@gmail.com
Pedro Porfírio Muniz Farias
PPGIA-University of Fortaleza; ARCE
Fortaleza, CE, Brazil
porfirio@unifor.br

Abstract – This paper presents an architecture for a SERIN RESTful Web Services described by semantic interfaces
(SEmantic RESTful INterface) Discovery Server. SERIN is a will be called Semantic RESTful Web Services.
semantic interface specification for RESTful Web Services that
includes an addressing standard to the Web services. This Besides presenting a semantic standardization, SERIN also
standard permits the SERIN Discovery Server to use a web presents a standardization of addressing services, thus it makes
crawler to find which hosts implement a specific semantic it possible for a web crawler to find the hosts that implement a
interface. The presented architecture provides a greater degree of Semantic RESTful Interface.
scalability than current known UDDI servers because it is based
This paper presents Architecture for a SERIN (SEmantic
on semantic interfaces, does not require Web service developers
register their services on the server and also presents a semantic
RESTful INterface) Discovery Server that:
interface for software agents to run automated queries on the • is designed to be used, mainly, by software agents;
server. • is designed to use semantic interfaces;
• is based on an automatically constructed index.
Keywords – Semantic Web, RESTful Web service, ontology, The difficulty of finding the requested web service on the
semantic interface service discovery, SERIN, semantic interface. Web inevitably remains one of the main motivations of the
Semantic Web vision.
I. INTRODUCTION Agent creators need to adopt semantic standards in order to
Interfaces have been used successfully for interoperability allow the exchange of messages between them. Semantic Web
between systems as an abstraction to register a syntactic Services discovery consists in automating service requests
pattern to be followed by systems that exchange information. made by a user or machine on the Internet. Several proposals
Basically interfaces facilitate the division of the multi-layered have been presented for Semantic Web Services discovery
computer systems, like the division of internal layers in a based on the UDDI (Universal Description Discovery and
single object-oriented program, or like division of layers Integration) server [10]. To discover a Web service in the
through APIs (Application Programming Interfaces), or UDDI server, it is necessary that web services developers
distributed processing through IDLs (Interface Description explicitly register their services on the UDDI server. This
Languages). requirement creates a scalability problem.
Usually, the semantic of each interface is informally In addition, UDDI servers, normally, are searched by
communicated through the system documentation, training or people that read the descriptions published and select the
personal communication among those involved with the appropriated services that match with their needs, also, the
system. UDDI servers, originally, are not prepared to work with
Semantic Web standards.
To obtain interoperability in the Semantic Web model, the
semantic interface will be defined as an interface whose UDDI servers typically are used to publish WSDL (Web
semantics will be explicitly expressed using ontologies. Services Description Language) [21]. WSDL files encapsulate
both abstract interface and connection to a particular web
In this work SEmantic RESTful INterfaces (SERIN) will service in a single specification. There are no known cases
be used to specify semantic interfaces. Each host that using a UDDI server to publish only web services abstract
implements the semantics should implement the methods interfaces. The use of UDDI server to publish RESTful Web
recommended in the interface. Service Descriptions is also unknown.
Table I. Approaches to Semantic Web Services

Semantic Web Services


Annotations in
Annotations in domain Ontologies defining Semantic
Web Services Semantic Service Ontologies for Services
Interfaces
Description
OWL-S, SWSF
SOAP/WSDL based WSDL-S, SAWSDL Active OWL
WSMO
SA-REST, SBWS(SA-
REST based EXPRESS, MicroWSMO SERIN
WADL)

In order to minimize these problems, this work will Examples of ontologies on services, presented in Table
propose a RESTful semantic web service discovery server. I, are the following proposals: OWL-S, SWSF and WSMO.
The rest of the paper is organized as follows: Section 2 OWL-S [11] defines an OWL (Ontology Web
presents proposals for assigning semantics to Web services; Language) ontology to describe service properties and
Section 3 discusses semantic web services discovery; capabilities of web services. The OWL-S ontology defines
Section 4 introduces SERIN – SEmantic RESTful INterface; the service concept and three subontologies, known as
Section 5 shows SERIN Discovery Server architecture; service profile, which describes, “what the service does”,
Section 6 presents a Semantic Interface for SERIN service model, which tells the customer how to use the
Discovery Server; and Section 7 presents our conclusion service, and service grounding, which specifies the details
and future work. of how an agent can access a service.
Semantic Web Services Framework, SWSF [15], has its
II. SEMANTIC WEB SERVICES roots in the OWL-S standard. It is composed of an ontology,
which provides a conceptual model to describe Web
The Semantic Web Service vision [9] is to combine web services called Semantic Web Services Ontology (SWSO)
services with Semantic Web and thereby allow an automatic [17], and a language for axiomatization called Semantic
and dynamic interaction between information systems. Web Service Language (SWSL) [16]. This language is more
Semantic Web Services intend to use the previously powerful than OWL.
established semantic concepts of an ontology linking them Web Services Modeling Ontology (WSMO) “aims to
to Web Services components. As shown in Table 1, three describe all relevant aspects related to services that are
strategies are used alternatively to perform this mapping: accessible through a Web service interface. Its main
• Annotate service descriptions by making them objective is to enable task automation (total or partial), e.g.
point to ontologies; discovery, selection, composition, mediation, execution, and
• Annotate domain ontologies indicating which Web monitoring” [19].
services exist regarding a given ontology; and The Third strategy presented in Table I is an annotation
• Create a new specification, independent of the first indicating which ontology concepts are related to a web
two. This new specification is usually a meta- service. Active OWL [4] [8] proposes to use ontologies as
ontology that describes the services. interfaces. It suggests the restriction to allow only web
Semantic Web Services can be based on two categories services (GET, PUT, LIST, DELETE, and POST). Thus,
of Web Services: Web Services based on SOAP/WSDL and although it was originally proposed for SOAP/WSDL
Web Services based on RESTful. The RESTful web Semantic Web Services (SWS), OWL Active approaches a
services are stateless and uses only the HTTP methods SWS-REST specification.
(GET,PUT,POST,DELETE) to access resources identified Active OWL uses the strategy of associating Web
by URIs. services with ontologies by annotating classes and
properties. These annotations indicate the existence of Web
A. Semantic Web Services based on SOAP/WSDL services types. Thus, the annotations specify a semantic
interface to the five Web services types. Annotations are
Among the approaches adopted for SOAP/WSDL defined in OWL using Annotation Properties.
Semantic Web Services, there is SAWSDL (Semantic
Annotation for WSDL) [14]. This approach is based on B. Semantic Web Services based on REST
WSDL-S (Web Service Semantics) [20]. It follows the
strategy to create a semantic annotation for service In Table I, SA-REST and SBWS are proposals for
description. To do so, it defines three attributes to WSDL semantic Web services strategy to semantically annotate
2.0 extensibility elements: modelReference, services descriptions.
liftingSchemaMapping and loweringSchemaMappping that
allow semantic annotations on WSDL (Web Services The SA-REST [7] proposal was created for adding
Description Language) components [21]. semantics to RESTful services, borrowing the SAWSDL
idea. The fundamental difference between SAWSDL and host implements a interface, so is possible to construct the
SA-REST is that SAWSDL semantic annotations are added SERIN discovery server proposed in this paper.
in the WSDL (which are not normally adopted for RESTful
Web Services). The SA-REST annotations will be added to III. SEMANTIC WEB SERVICE DISCOVERY
Web pages, describing the services through the use of micro The semantic web services discovery is the process of
formats such as RDFa [13] and Gleaning Resource finding technical means to access service providers with
Descriptions from Dialects of Languages [6]. relevant capabilities, based on semantic annotation. This
In this proposal, when a system performs a search with finding has to be fully automated, since there are no people
predefined criteria for a resource, it cannot know the page involved in the process that could help agents in the trial to
address where the searched information semantics is. Thus, determine if the service is relevant or not. For this purpose,
the provider would have to somehow provide the page all parts involved in the semantic annotation has to be
address where the semantics reside so the applicant can understandable by machines, so the agent can put them
access it. Otherwise, the applicant should have a scanner to together neatly for correct conclusions. To achieve this goal,
read every provider page in order to find the predicates semantic web service discovery explores expressive
above. formalization of knowledge representation and sophisticated
techniques of automated reasoning [18].
SBWS (Semantic Bridge for Web Services) is also
proposed by [3] to associate semantics to RESTful Web Among the first, and possibly most influential works on
services. SBWS makes annotation on documents WADL, semantic Web services discovery, [12] was limited to
like the SAWSDL, connecting REST input and output semantically annotating web services inputs and outputs. In
methods to ontologies. this approach, "a publishing matches a request when all
publishing inputs and outputs match with request inputs and
EXPRESS (RESTful Expressing Semantic Services) outputs."
proposal [2] describes RESTful Web Services using domain
ontologies that include descriptions of the features Paulocci´s criterion only allows an approximate match.
(following a format OWL/EXPRESS). From these The "Degree of Match" (DoM) concept can be introduced as
descriptions, it generates stubs for access to available an attempt to deal with these problems [5]. DoM can be
services. informally defined as a value from an ordered set of values
that express how similar two entities are, considering some
This process starts when a service provider describes the similarity metric. Such entities may be services, IOPE
entities and their relationships as ontology (as an OWL file). attributes (Input, Output, Preconditions, Effects), or a
Using the OWL file, a deployment mechanism EXPRESS specific service operation. A matching algorithm service
(EXPRESS Deployment Machine) generates a list of URIs that calculates DoM can thus be used to classify discovered
that identify resources, related classes, instances and services according to their relevance to the request.
properties. The service provider then specifies which HTTP
methods can be applied to these features (though there is Semantic pattern matching algorithms are usually
information on how this specification is performed). complex. They operate by considering that requests from
publications and services are not in perfect combination.
The authors state that the use of HTTP methods (GET, They are designed to explore semantic functionality explicit
PUT, DELETE, POST, and OPTIONS) is sufficient to description and service request. Algorithms have been
define consistent operational semantics about all the features offered with different features, suggesting different
of web services. architecture types, for example peer-to-peer.
MicroWSMO [22] consists of service ontology for Reference [5] considers that the use of these domain
RESTful Web services, and a method for annotating ontologies by both service provider and service requestor,
descriptions of RESTful services. though not necessary, significantly simplifies the process of
semantic pattern matching by eliminating the need for
SERIN is an Active OWL adaptation for Semantic Web
mediation layers. However, this is an optimistic scenario,
Services and REST. It fits the strategy of specifying
not suitable for open information environments, such as the
semantic interface via annotations on ontologies.
Web.
The semantic interface is represented by OWL
Therefore, if the same domain ontology is not used for
ontologies with annotations that indicate how the five types
both provider and requestor, considering the approximate
of web services (GET, PUT, LIST, DELETE, POST) are
character of the matching, a rough mediation layer should be
mapped in the four HTTP methods (GET, PUT, DELETE,
introduced.
POST).
The complexity of these approaches is a result of its
This approach proposes a convention for URLs that
heavy reliance on reasoning for pattern discovery and
address the RESTful semantic Web services dividing them
matching. This complexity also means that the approaches
into two components: the host and the semantic interface.
would not work properly on web-scale, which is a key
Each host that implements a semantic interface is
requirement for Web Services [1].
responsible for implementing RESTful Web Services
associated with it. This convention permits discover which
In the SERIN Discovery Server, services published and The option to use only five web service types makes
requested follow the same interface, i.e. the matching is SERIN semantics much simpler than the proposals based on
always accurate in order to avoid the need for complex SOAP/WSDL Web services, which apply to any Web
pattern matching. This proposal allows a scalable solution. service. Since the semantics of resources are properly
established by the semantic interface, it remains only to
IV. SERIN – SEMANTIC RESTFUL INTERFACE clarify the semantics of annotations used.
The REST standard states that resource orientation and Each annotation indicates the existence of a RESTful
the use of HTTP methods are the only operations available. Web service URL whose semantics are presented in Table II
Semantic RESTful Interfaces (SERIN) is basically and Table III.
annotated ontology whose classes and properties In both Table II and Table III, the identifier <host>
characterize uniquely and semantically available resources. represents the host URL that implements the ontology.
Annotations indicate which RESTful Web Services should <Ont> identifier is the URI that identifies the ontology. The
be implemented for each resource. identifiers <class> and <prop>, respectively, represent the
SERIN is based on an earlier specification called Active annotated class and annotated property.
OWL [8] that applies to Web Services SOAP/WSDL. Note that “list” and “get”, two notes are associated with
The strategy used in SERIN to associate web services the HTTP GET method. This option was adopted because
with ontologies was to annotate classes and properties of an the HTTP GET has different results, depending on whether
ontology written in OWL through five notes, indicating the or not parameters are used. When used without parameters
existence of five types of Web services: “get”, “post”, the GET method returns a list of individuals and when used
“delete”, “put”, and “list”. with an identifier as a parameter the GET method returns
only the single individual identified by the parameter
The five types of web services are mapped in the four reported.
HTTP methods. The types “get” and “list” will both be
mapped to the GET method. The “get” type requires a key The media-type “application/owl+xml” is used to
as a parameter indicating a single instance to be recovered, represent arguments and results.
while the “list” type has no parameters and returns a list of Annotations cannot be applied to anonymous classes or
all class instances. This restriction makes it suitable for use classes built from expressions. Annotations are not
with RESTful Web Services that, normaly, are also based on inherited, that is, a child class must specify its own Web
the HTTP methods. services, which will not be inherited from the parent class.
<owl:AnnotationProperty
rdf:about="http://www.unifor.br/
On the current specification, execution errors on Web
serinAnnotations.owl#delete"/> services should be treated by the application. An expected
<owl:AnnotationProperty extension for the current specification would be the
rdf:about="http://www.unifor.br/ treatment of such errors.
serinAnnotations.owl#post"/>
<owl:AnnotationProperty Table II Annotations on classes indicating existence of a Web Service,
rdf:about="http://www.unifor.br/ its location (URL) and its Semantics.
serinAnnotations.owl#get"/>
<owl:AnnotationProperty URL GET <host>/serin/<Ont>/<Class>/<rdf:id>
rdf:about="http://www.unifor.br/
Get Receives a <rdf:id> identifier as a parameter
serinAnnotations.owl#put"/> Semantics
<owl:AnnotationProperty and returns the its individual
rdf:about="http://www.unifor.br/ URL GET <host>/serin/<Ont>/<Class
serinAnnotations.owl#list"/> List
Semantics List the individuals in a Class
Listing I. Excerpt from SERIN Annotations Ontology.
POST
URL
<host>/serin/<Ont>/<Class>/<individual>
In OWL, annotations are defined through Annotation Post Receives as parameter the XML
Properties. Listing I shows the definitions of annotations Semantics corresponding to the individual and it adds to
used. To avoid repetition of annotations in an interface, we the class individuals set
define the SERINAnnotations ontology to package the PUT
required settings. SERINAnnotations ontology can be URL <host>/serin/<Ont>/<Class>/<rdf:id>/<indivi
imported to each RESTful semantic interface. dual>
Put Receives, as a parameter, an OWL
corresponding to the individual identified by
A. SERIN annotations for classes and properties Semantics
<rdf:id> and updates the individual
information
The annotations syntax is specified by an ontology of DELETE
SERINAnnotations and through it, each of the five URL
<host>/serin/<Ont>/<Class>/<rdf:id>
annotations received a URI that uniquely, identifies it. To be Delete Receives, as parameters, an individual
formally used, the meaning, i.e., the semantics of each entry Semantics identifier and removes this individual from
must first be informally defined and everyone involved must the class individuals set
know this definition.
may trigger the GET Web service in each of the
Table III. Property notes indicating the existence of Web services, its implementations obtained in each case, from the list of
location (URL) and Semantics. models available for that store.
GET The convention used is particularly simple when applied
URL
<host>/serin/<Ont>/<Class>/<rdf:id>/<prop> to RESTful Web Services, however, you can apply it to
Get Receives as parameters the individual identifier traditional Web services. In the case of architecture SOAP /
<rdf:id> and returns the property value for the WSDL, the address constituted under the proposed standard
Semantics
respective individual <prop>. The annotation convention refers to a URL of a WSDL file that describes
“get” is only defined for functional properties
the service [12].
URL GET <host>/serin/<Ont>/<Class>/<prop>
List Semantic interfaces are similar to interfaces in OOP
Semantics List the values associated with property <prop>
POST (Object Oriented Programming). Each agent who accepts a
URL <host>/serin/<Ont>/<Class>/<rdf:id>/<prop>/ semantic interface is responsible for implementing its
Post <value> methods.
Assigns a new value <value> to property
Semantics For each agent, the address (URL) RESTful semantic
<prop>
PUT Web service consists of a variable and a fixed part of the
URL <host>/serin/<Ont>/<Class>/<rdf:id>/<prop>/ grammar as shown in Table II. The variable part
Put <value> corresponds to the URL of each agent <host > URL while
Semantics Updates the property <prop> value <value> the fixed part, which remains the same for all agents that
DELETE implement the same Semantic Interface, is derived from the
URL <host>/serin/<Ont>/<Class>/<rdf:id>/<prop>/ URI of the ontology <Ont uri> and the class name <Class >.
Delete <value>
<host URL> = “www.rentalAgencyC.com”
Delete the value <value> associated with <ontology URI> = “serin/Vehicle.owl”
Semantics
property <prop> <class name> = “available Model”
<interface URI> = “/ontologies/serin/Vehicle.owl/
availableModel”
<service URL> = “www.rentalAgencyC.com/ontologies
B. Semantic Web Service addressing /serin/Vehicle.owl/availableModel”
Figure 1 shows an example in which a personal agent
Listing II. URL sample of a RESTful Web Service that implements a
performs a query on a group of car rental agents. The car Semantic Interface
rental agents implement their web services in each of the
hosts of the rental agencies, which are www.rentalA.com,
www.rentalB.com and www.rentalC.com. The three hosts Listing II is presented, as would be the URL of the Web
implement the same semantic interface, called serin/vehicle. service implemented for the agent rentalC in Figure 1.
Thus, running the Web service www.rentalA.com
/serin/Vehicle.owl/availableModel produces vehicle models V. SERIN DISCOVERY SERVER ARCHITECTURE
available in rentalA, while the other two Web services
should, respectively, provide models of vehicles available in The SERIN Discovery Server is a centralized index,
rentalB and rentalC. which works on architecture composed of four components,
as shown in Figure 2:
• A scanning module – a crawler that scans the Web
content, updating;
• A repository of indexes (that maps Semantic
interfaces to hosts);
• A manual query module - a site where users query
the index;
• An automatic query module - semantic Web
services which automatic agents query the index.
The scanning module inspects each web host known to
identify semantic interfaces that each host implements. The
scanning module must also update the list of known hosts
and the list of known semantic interfaces. Information
obtained by the scanning module, alternatively, can be
manually published by those responsible for a host by
Figure 1. Using Semantic Interfaces RESTful. developers of a semantic interface who wish their site or
Thus, each car rental agent has a RESTful Web service their interface becomes part of the index.
class corresponding to available Model. The personal agent
The manual query module should basically allow a user These two classes design follow the Ontological
to query the hosts that implements a given interface. In Minimum requirements principle. An Ontology class has
addition, manual module queries could offer multiple only two attributes (as data type properties) ontologyId and
queries of interest to designers and users wishing to build ontologyDescriptionFile. While the class Host has only one
new interfaces or specify agents. For example, which data type property called hostId.
interfaces are registered, and which interfaces are
implemented by each host. The ontology has appropriate annotations with the Web
services that the SERIN Discovery Server must implement.
The automated query module, mainly, responds to the Table IV presents the respective URL and semantics for
software agents which hosts implement certain interface. each of the four methods.
The Software agents that will consult the automated query
module must use a semantic interface that will be presented Table IV. SERIN Discovery Server Web Service description.
in section VI.
Method GET
The repository stores the index of hosts and the index of <host>/serin/SerinSea
semantic interfaces(SI) as well as the known relationships rch/Ontology/
isImplementedBy URL <OntId>/isImplemented
among them. <list> By
Semantics Set of hosts that implement a
specific semantic interface .
Method GET
<host>/serin/SerinSea
URL rch/Ontology/<HostId>
/implementsOntology
Returns the interfaces that a
Semantics
host implements.
Method POST
implementsOntology <host>/serin/SerinSea
<list,post> rch/Ontology/<HostId>
URL /implementsOntology/<
Ont id>
Returns in which the host
implements a specific interface.
Semantics The discovery server confirms
this information by host direct
inspection.
Method GET
<host>/serin/SerinSea
Figure 2. SERIN Discovery Server Architecture. URL rch/Ontology/<Ont Id>
Ontology
<get> Returns an ontology class
VI. SERIN DISCOVERY SERVER SEMANTIC Semantics instance including its
description file.
INTERFACE

Consultations at the SERIN Discovery Server will be A. SERIN Discovery Server automatic search
done by implementing the semantic interface called
SerinSearch shown in Figure 3. SerinSearch interface has The sequence diagram in Figure 4 describes an
two classes: the class Host and the class Ontology that are automated search at the SERIN Discovery Server and a
connected by two properties implementsOntology and following query to hosts that implement an interface called
isImplementedBy (inverse property). semantic Ont1.

Figure 3. SERIN Search Semantic interface for consultation at the SERIN


Discovery Service
Figure 4. SERIN Discovery Server automatic query sequence
diagram.
The user agent wants to find hosts that implement the (Ont1Id). The server receives a negative answer about the
semantic interface Ont1. It sends a query as a GET URL existence of interface Ont1 in the repository.
www.busca.com/serin/SerinSearch/Ontology/Ont1/isImple
mentedBy to the SERIN Discovery Server. The server The server asks the discovery HostA about the Ont1
returns the list {hostAId, hostBId}, which contains the interface description. It receives a description file as an
identifiers of the two hosts that implement Ont1 ontology. answer. Then, it includes the semantic interface Ont1 in the
index repository. Finally, the method
First, the user agent will consult HostA. The agent sends insertIsImplementedBy updates the index repository
a GET request through the URI indicating, through their respective parameters, that hostAId
www.hostA.com/serin/Ont1/Classe1. HostA receives the implements the semantic interface Ont1Id.
GET request, which contains the resource related to Class1.
It performs a query in its database. Finally it sends back a
list with all individuals in Class1.
After, sending a request to HostB performs the same
query.

B. Index updating at SERIN Discovery Server

The scanning module can make its scan by direct


inspection or by asking the host about which semantic
interfaces it implements.
The sequence diagram in Figure 5 shows an example of
scanning the hosts and updating of indexes in the SERIN
Discovery Server. This service intends to search for
semantic interfaces that exist in these hosts. With this,
SERIN server will update the index database repository.
This database will have a list of found semantic interfaces,
as well as the relationship of semantic interfaces with each
host.
The discovery server performs the following steps at the
hostA.
The discovery server sends a GET request, represented
by the URL www.hostA.com/serin/ to determine which
semantic interfaces that HostA has. The HostA response
indicates that it implements the semantic interface Ont1.
Discovery server searches the semantic interface Ont1 at
the index repository using the method hasOntology
(Ont1Id). The server receives a negative answer about the
existence of interface Ont1 in the repository.
Figure 5. Semantic interface discovery at various hosts sequence diagram
The server asks the discovery HostA about the Ont1
interface description. It receives a description file as an For HostB, steps six to eleven are executed. In step six,
answer. Then, it includes the semantic interface Ont1 in the it identifies that HostB implements two semantic interfaces:
index repository. Finally, the method Ont1 (which already exists in the index repository) and Ont2
insertIsImplementedBy updates the index repository (to be included in the index repository).
indicating, through their respective parameters, that hostAId
implements the semantic interface Ont1Id. VII. CONCLUSION
For HostB, steps six to eleven are executed. In step six, The first SERIN (Semantic RESTful Interface)
it identifies that HostB implements two semantic interfaces: contribution is to utilize semantic interface concepts on the
Ont1 (which already exists in the index repository) and Ont2 context of Web services.
(to be included in the index repository).
The interface concept is traditionally used to provide
The discovery server sends a GET request, represented interoperability at various levels of computing, whether in-
by the URL www.hostA.com/serin/ to determine which house programs, at API level, or in distributed computing
semantic interfaces that HostA has. The HostA response models. Semantic Interfaces fit the concept of interface
indicates that it implements the semantic interface Ont1. technologies related to the Semantic Web and, in particular,
Discovery server searches the semantic interface Ont1 at RESTful Web Services.
the index repository using the method hasOntology
Following the REST approach, SERIN uses only five REFERENCES
service types that follow HTTP methods semantics. [1] Alowisheq, A. e Millard, D.E. 2009. EXPRESS: EXPressing RESTful
Semantic Services. Web Intelligence and Intelligent Agent
In addition to semantic standardization, a second SERIN Technology, IEEE/WIC/ACM International Conference on. 3, (2009),
contribution is to standardize service URLs. 453-456.
This work presented how address standardization [2] Alowisheq, A. et al. 2009. EXPRESS: EXPressing RESTful Semantic
Services Using Domain Ontologies. ISWC ’09: Proceedings of the
adopted in SERIN may be used to discover semantic Web 8th International Semantic Web Conference (Berlin, Heidelberg,
services. Such discovery can be performed in three ways, 2009), 941–948.
namely, by direct inspection, by consultation at a centralized [3] Battle, R. e Benson, E. 2008. Bridging the semantic Web and Web 2.0
index, and by broadcasting a P2P network. with Representational State Transfer (REST). Web Semantics:
Science, Services and Agents on the World Wide Web. 6, 1 (2008),
In particular, architecture for a SERIN Discovery Server 61 - 69.
was designed. This work presented its functionalities. It also [4] Campos Neto, J.C. 2007. Active OWL - Uma arquitetura para integrar
indicates a semantic interface to RESTful web services serviços Web e ontologias. Universidade de Fortaleza (UNIFOR).
through which the server can be accessed by programs. [5] Cardoso, J. 2007. Semantic Web services : theory, tools and
applications. Information Science Reference.
In order to accelerate the discovery, SERIN architecture [6] Gleaning Resource Descriptions from Dialects of Languages
standardized two Web Services to be implemented by each (GRDDL): 2007. http://www.w3.org/TR/grddl/. Accessed: 2011-06-
host that implements a semantic interface. Through the first 10.
service, the host responds to the interface it implements. The [7] Lathem, J.D. et al. 2007. SA-REST: BRING THE POWER OF
second service answers a file that describes each interface. SEMANTICS TO REST-BASED WEB SERVICES Electronic
Version Approved:
The main distinction this server presents is the fact that [8] Marques, T.C. et al. 2008. Active Ontologies - an Approach for Using
is not necessary for suppliers to register their services (like Ontologies as Semantic Web Services Interfaces. SEKE’08 (2008),
UDDI server does). In contrast, the index server is powered 847-852.
primarily by a crawler that scours the Web to identify hosts [9] McIlraith, S.A. e Martin, D.L. 2003. Bringing Semantics to Web
that implement each semantic interface. Services. IEEE Intelligent Systems. 18, (2003), 90-93.
[10] OASIS UDDI Specification TC | OASIS: 2005. http://www.oasis-
This innovative feature, which arises from the use open.org/committees/tc_home.php?wg_abbrev=uddi-spec. Accessed:
semantic interfaces concept, has a great impact on the 2011-07-13.
scalability of the index server. In this respect, the difference [11] OWL-S’ Relationship to Selected Other Technologies: 2004.
between an UDDI server and a SERIN Discovery Server is http://www.w3.org/Submission/2004/SUBM-OWL-S-related-
20041122/. Accessed: 2010-05-06.
similar to the difference between a server based on
automatically constructed indexs, such as Google, and the [12] Paolucci, M. et al. 2002. Semantic Matching of Web Services
Capabilities. The Semantic Web — ISWC 2002. I. Horrocks e J.
former service offered by Yahoo, which depended on the Hendler, orgs. Springer Berlin / Heidelberg. 333-347.
initiative of the developers to register each Web page on the [13] RDFa Primer: 2008. http://www.w3.org/TR/xhtml-rdfa-primer/.
server. Accessed: 2011-06-10.
Besides a SERIN Discovery Server is designed to use [14] Semantic Annotations for WSDL and XML Schema — Usage Guide:
2007. http://www.w3.org/TR/sawsdl-guide/. Accessed: 2011-06-07.
semantic interfaces, while a UDDI server usually publishes
[15] Semantic Web Services Framework (SWSF) Overview: 2005.
WSDL files having interface specification and http://www.w3.org/Submission/SWSF/. Accessed: 2010-05-06.
implementation in the same package.
[16] Semantic Web Services Language (SWSL): 2005.
Finally, a SERIN Discovery Server is designed to be http://www.w3.org/Submission/SWSF-SWSL/. Accessed: 2011-06-
13.
used by software agents, while the UDDI by people who,
after consulting the specifications would be able to build [17] Semantic Web Services Ontology (SWSO): 2005.
http://www.w3.org/Submission/SWSF-SWSO/. Accessed: 2011-06-
programs to access the services described. 13.
In future work, we will emphasize mainly the actual [18] Studer, R. 2007. Semantic web services : concepts, technologies, and
applications. Springer.
construction of the proposed server, whose success depends
on the spread of semantic interface SERIN. In addition, we [19] Web Service Modeling Ontology (WSMO): 2005.
http://www.w3.org/Submission/WSMO/. Accessed: 2010-05-08.
also propose the study of mechanisms for ontologies and
[20] Web Service Semantics - WSDL-S: 2005.
interfaces evolution. http://www.w3.org/Submission/WSDL-S/. Accessed: 2010-05-06.
The annotations in SERIN can be extended to specify [21] Web Services Description Language (WSDL) Version 2.0 Part 1:
non-functional aspects of web services, for example, quality Core Language: 2007. http://www.w3.org/TR/2007/REC-wsdl20-
20070626/. Accessed: 2010-04-29.
of service and security.
[22] MicroWSMO: 2008. http://www.wsmo.org/TR/d38/v0.1/. Accessed:
2011-12-09.

You might also like