You are on page 1of 8

2015 IEEE International Conference on Computer and Information Technology; Ubiquitous Computing and Communications;

Dependable, Autonomic and Secure Computing; Pervasive Intelligence and Computing

Semantic web services discovery adopting SERIN

José Renato Villela Dantas Hermano Albuquerque Lira


Serviço Federal de Processamento de Dados (SERPRO) Serviço Federal de Processamento de Dados (SERPRO)
Av. Pontes Vieira, 832 Av. Pontes Vieira, 832
60.130-240 – Fortaleza – CE – Brasil 60.130-240 – Fortaleza – CE – Brasil
Email: jose.dantas@serpro.gov.br Email: hermano.lira@serpro.gov.br

Bruno de Azevedo Muniz Tadeu Matos Nunes Pedro Porfı́rio Muniz Farias
Universidade de Fortaleza (UNIFOR) Universidade de Fortaleza (UNIFOR) Universidade de Fortaleza (UNIFOR)
Av. Washington Soares, 1321 J-30 Av. Washington Soares, 1321 J-30 Av. Washington Soares, 1321 J-30
60.811-341 – Fortaleza – CE – Brasil 60.811-341 – Fortaleza – CE – Brasil 60.811-341 – Fortaleza – CE – Brasil
Email: brunoamuniz@gmail.com Email: tadeumatos@gmail.com Email: porfirio@unifor.br

Abstract—Service-based architecture (SOA) are extensively makes use of ontologies to provide sharing, mapping, and
adopted in web applications. In this scenario, REST-based web reuse. They provide semantics for the web service description
services has become a large adopted standard. The addition of and for the data they provide. This allows software agents to
semantics enhances the web services description, which enables reason about web services to perform operations like automatic
automatic agents to discover them and to make calls. However, discovery, selection, composition, and execution.
the existence of many different languages to semantically describe
services makes it difficult to discover and to select the service From all these tasks, this present work focus on Web
that best attends a requirement. Furthermore, most of these service discovery. Web service discovery is the process of
languages does not attend to describe RESTful services, making identifying the service that best matches some user provided
the discover process even more difficult. This work proposes characteristics. Usually, the service is described as a function
a RESTful semantic web service discovery architecture based
on semantic interfaces (SERIN). SERIN intends to semantically
of its inputs, outputs, preconditions, effects, and the non-
described RESTful web services through an annotated ontology. functional properties. The discovery process essentially tries
We present a study showing that is possible to adopt the proposed to identify where the web services are published and to
architecture to implement a semantic service-based application, compare the service descriptors against the user requirements
with minimum development effort, that enables software agents to finally select one or several services that attends user
to automatically discover and to make service calls in order to needs. Despite the efforts to implement languages to describe
execute a determined task. web service functional specifications and architectures to find
Index Terms—Semantic Web, web service discovery, semantic these services, recent works still consider that the web service
interface, SERIN, RESTful discovery is a complex task.
One cause that hampers the web service discovery is the
I. I NTRODUCTION heterogeneity of description languages they adopt. There are
many proposals for SOAP/WSDL web service descriptions
In the last decade, the popularity of webs services has based on several languages but they lack a standard language
raised from day to day. Web services are based on SOA, that is shared among them. The absence of a shared knowledge
Service-Oriented Architecture, which describes means to re- makes difficult to identify a service or a resource on the Web.
use and to integrate systems. It allows the interaction between On the other hand there are only few works that proposes
a service provider and a service consumer. REST-based web service description.
The arrival of semantic web [1] has provided additional The present work proposes a web service discovery mecha-
features to knowledge representation that the web services nism based on a single semantic interface. Our proposal adopts
provide. The basic technology to make semantic web possible SERIN[6] specification to functionally describe the semantic
is the adoption of ontologies. An ontology is an explicit speci- web services. SERIN is an annotated ontology that provides a
fication of a shared conceptualization [2]. It defines concepts as mechanism to markup web services functionalities and means
classes, properties, and relationships between them. Ontologies to locate service endpoints. As an ontology, by definition, is
help to organize the heterogeneous knowledge in the Web. a shared knowledge, such interface provides a web service
More recently, OWL (Web Ontology Language) [3] became description that both client agent and service provider know.
the W3C recommended language to represent ontologies.
RDF (Resource Description Framework) [4] is another widely Using SERIN specification it is possible to build an ar-
adopted standard used to represent Web resources. chitecture to discover the web services from providers that
implements one or several semantic interfaces. Basically the
Semantic web services were introduced by McIlraith [5]. discovery architecture considers the existence of a crawler
Part of the semantic web vision intends to markup web service agent that searches the Web, it finds the SERIN-based services,
descriptions to make them computer-interpretable. Markup and creates a inverted-index repository with the host addresses

978-1-5090-0154-5/15 $31.00 © 2015 IEEE 387


DOI 10.1109/CIT/IUCC/DASC/PICOM.2015.55
that provides the services and the semantic interfaces they
adopt.
The remainder of this article is provided as follow: section
II presents a motivation scenario; section III resumes the
web service discovery process; section IV revisits the SERIN
specification; section V presents our proposal for web service
discovery; section VI analyses the adoption of our proposal in
a study scenario; section VII revisits recent state-of-art works
about RESTful semantic web service discovery. Finally section
VIII presents our conclusions and proposals for future work.

II. S CENARIO AND MOTIVATION


In order to motivate our approach, we present a semantic
web typical scenario involving a person who wants to schedule
a appointment with a medical doctor. A software agent receives
a task to automatically set up this appointment. The human
user provides the software agent some minimum data about
his/her objective, like, for example, medical specialty, date
range, time range, and location. The software agent execute
queries on known clinical servers trying to match their re-
sponses to the user request. Figure 1. Clinic scenario messages exchange.

The user then receives a list with all found options. He


chooses one and he informs the software agent to set up the knowledge, even less works pay attention to build a
appointment to this option. The software agent sends a request index for the services.
with all necessary data to the selected server which persists the • Discover which service attends the user needs. Usu-
data and it sends back a response with the appointment data. ally, the user requirements are described by informal
The communication between the client agent and the clinic documents and they are implemented hard-coded in a
host needs a shared vocabulary. The Clinic ontology provides system that uses the services. The service descriptors
the necessary shared knowledge as it acts as a semantic describe its syntax which is not enough to identify the
interface. right service with a high precision level.

The figure 1 presents the sequence of the message exchange • Select the services that best fit the user needs. The
for these steps. Three elements participate in this scenario: a service selection evolves the matching of the service
client, a discovery server, and a service provider. Five steps execution with the non-functional user requirements.
resume the basic query operation:
III. S EMANTIC WEB SERVICE DISCOVERY
1) The agent sends a request to get a list of available To achieve the vision of integration between systems, it
servers that implements the clinic interface; is necessary to establish a common architecture based on
2) For each host in the list, the agent sends a request to some standards. Nowadays two standards are considered. The
get the list of medical doctors; first web service architecture is based on SOAP (Simple
3) For each medical doctor in the response list, the agent Object Address Protocol), WSDL (Web Service Description
sends a request to get his/her schedule availability; Language), and UDDI (Universal Description, Discovery, and
4) The user then chooses one or more doctor and sched- Integration) [7].
ule date and time;
5) The software agent sends a put request to insert data The second architecture is based on REST (Representa-
to set up an appointment. tional State Transfer) standard [8]. REST architectural style
intends to be loose coupled. One of the main REST constraints
This scenario brings the need to seek and find a set of ser- considers that all exchanged messages is self-contained, i.e.,
vices and select from that are relevant to the task execution. In all needed information to execute an operation is embedded
others standard service-oriented architecture, mainly adopted within the message. For this reason, usually this service does
in the Web environment, we can identify some difficulties in note have a description file.
each task:
Web services technology is SOA (Service-oriented archi-
• Find out which providers offer the services. Most tecture). This architectural style allows re-use and system
service architectures works with a centralized registry integration in order to create new systems [9]. SOA enables
server (UDDI [7]) where the providers have to explic- system and resources integration by
itly register their services. Few other works proposes
• representing each resource as service with a standard-
a decentralized architecture where there is no need
ized interface;
for a centralized registry server. The services can be
found in peer-to-peer endpoints. For the best of our • enabling a service to exchange structured information;

388
• coordinating and mediating between services. • Most of the solutions are not scalable, meaning they
are not able to consider a large number of services,
SOA takes two actors. At one side, a service provider service providers, and service requesters;
publishes an interface, and defines the execution of a web
service. The client discover available services and consumes • Current solutions are incompatible.
the service.
Recently, some reviewers have pointed out some challenges
Cardoso [10] divides the web service discovery process about the whole web service discovery and composition pro-
in several tasks: service advertisement, service mediation, cess that are still open or barely solved.
service storage, service request, service matchmaking, service
negotiation, and service selection. From all these tasks, the Dong et al [13] enumerates some research challenges,
service matchmaking is considered the most complex and from which we emphasize the lack of means for handling the
difficult task in the discovery process. Many researches try heterogeneity of ontologies; the lack of semantic models of
to improve performance or to reduce the distance between the service processes; the lack of matchmakers employing index-
user goals and the service descriptions. based mechanisms; scalability
Web service discovery is the process of identifying the Ngan and Kanagasabai [14] also investigates web ser-
service that best matches some user provided characteristics. vice discovery challenges. They consider some relevant open
Usually, the service is described in function of its inputs, out- researches: RESTful services (or web APIs) need semantic
puts, preconditions, effects, and the non-functional properties. descriptions to facilitate automated discovery; resolving het-
The discovery process tries to match the service descriptor erogeneity when discovery process involves several description
with the requirements descriptor. The matching task usually languages, which pose strong limitations in interoperability;
considers some degree of matching [11] as an indicator of accuracy, scalability, and delivery of precise discovery results;
similarity between requirements and service descriptors. As a contribution to solve or, at least, to minimize these
Figure 2 represents a generic web service discovery archi- web services issues, the present work proposes the adoption of
tecture. It considers four actors: a client; a registry server; a Semantic RESTful Interfaces as web service description. The
match, mediator, and selector engine; and a service provider. present architecture intends to
In a semantic web scenario, a service provider adopts a
description language, like OWL-S and WSMO among others, • Define a semantic description for the RESTful web
and an ontology to provide a service description. Thus, the services, which enables software agents to automati-
provider register this description in a central register server, cally process the services responses;
like, for example, an UDDI server. For its time, the client • Promote the adoption of semantic interfaces as a
works with the registry server and with the selector engine to homogeneous option to solve the heterogeneity of
discover and to select the service that best fit the client needs. languages and ontologies that exists nowadays for
The client then requests the selected service to the provider semantic service descriptions;
which sends the response with the desired results.
• Work on a decentralized architecture which gains
Considering an automatic discovery, selection and invoca- scalability and reduces failure because it reduces de-
tion scenario, the client is a software agent that executes these pendency from one single centralized server;
operations. It works based on user requirement descriptions.
• Provide a better accuracy for the service selection
because it reduces the need for service matching.

IV. S EMANTIC R ESTFUL I NTERFACES


Semantic RESTful Interface (SERIN) is basically an an-
notated ontology whose classes and properties characterize
uniquely and semantically available resources.
SERIN specification defines an upper ontology with the
annotation properties, some additional concepts, and their
relationships. Figure 3 shows the SERIN ontology elements.
It presents four annotation properties which represents the
available operations over the services. Further, it presents
a minimal set of concepts necessary for service discovery
process.
Figure 2. Generic centralized discovery architecture.
Any ontology can import SERIN ontology in order to
The increasing adoption of web services brings the problem create a semantic interface. The ontology builder applies the
of locating the appropriate services from the vast number of SERIN annotations on the ontology classes. The resulting an-
available options. Despite different solutions to this problem notated ontology is considered a Semantic RESTful Interface.
have been proposed, Pilioura and Tsalgatidou [12] mention
some reasons that limit the effectiveness of these solutions: Four annotations types can be added to an ontology. These
annotations indicate the existence of four web service types,
• most of the solutions are syntactic-based; GET, POST, DELETE, and PUT. The four web service types

389
• {resource} - resource identifier.

Figure 3. SERIN ontology.

are mapped into the four relative HTTP methods. They define
which RESTful Web Service should be implemented for each
resource.
Figure 4. URLs of three hosts that implement Doctor resource
A set of RDF triples, i.e., an RDF instance, represents each
resource. Each resource has an identifier called {rdfid}. The Figure 4 is an example of a standardization in which a
RDF instance granularity is to low. So, RDF instances are not patient agent consults a set of agents representing clinics and
enough to define a business process. Usually, it is necessary a doctors. In the example, there are three clinics that respectively
set of instances to define an business entity. offer their services on hosts: example-A.com, example-B.com,
and example-C.com. All three hosts meet the same semantic
The GET method requires a key, as a parameter, indicating interface, called serin/clinic.owl. According to the interface,
a single instance to be recovered. The method returns a list of each host possess features that are instances of the Doctor
all class instances if the requester informs no parameter. class.
Each host that implements a semantic interface must im- When the host runs the web service in example-
plement one RESTful web service for each operation, i.e., for A.com/serin/clinic.owl/Doctor, it produces, in response to
each annotation in a class. some patient request, the list of physicians (same as doctor)
The option to use only four web service types, whose available on Medical Clinic A (RDF). Running the relative web
semantics is pre-defined, makes the SERIN semantics much services, for the same interface in the two other hosts, should,
simpler than proposals that specify semantics for SOAP/WSDL respectively, provide support hours available on Medical Clinic
web services. Semantic Interface properly establishes resources B and Medical Clinic C.
semantics. The four possible operation semantics follows The adopted convention is particularly simple when it is
CRUD model (create, Read, Update, Delete) usually associated applied to RESTful web services. However, it is possible to ap-
with HTTP verbs. ply it to traditional web services. In the case of SOAP/WSDL
Since this is an interface, the matching is always accurate. architecture, the address composed according to the convention
This provides higher scalability proposal to make it more proposal refers to a WSDL file that describes the service.
attractive to the Web environment. Listing 1 presents a grammar that exemplifies the formation
of the web service URL implemented for Figure 4 host C.
A. Semantic web service addressing
Besides standardize semantics, SERIN contributes with Listing 1. Grammar to generate a RESTful web service URL.
standardize services URLs. Each service URL is divided into {host} : : = example−C . com
two parts. The first part identifies the host. The second part { i n t e r f a c e } : : = e x a m p l e . com / c l i n i c . owl
{class} ::= Clinic
semantically identifies the resource (by using the semantic {resource} : : = / s e r i n / { i n t e r f a c e URI } / { c l a s s name}
interface). { s e r v i c e U R L } : : = { h o s t URL}{ r e s o u r c e URI}
The address convention format is:
h t t p : / / { host }/{ i n t e r f a c e }/{ c l a s s }/{ r e s o u r c e } Using the grammar above, a RESTful web service URL
can be easily derived from the ontology URI plus each host
where: URL. Following the grammar above, a possible resource URI
would be:
• {host} - IP or DNS host address. { r e s o u r c e } = / s e r i n / c l i n i c . owl / C l i n i c
• {interface} - ontology URI that represents the seman-
tic interface. and a service URL would be:
{ s e r v i c e U R L } = e x a m p l e . com / s e r i n / c l i n i c . owl / C l i n i c
• {class} - ontology class identifier.

390
V. A RCHITECTURE FOR WEB SERVICE DISCOVERY or
< s e r i n : I n t e r f a c e ><s e r i n : i s I m p l e m e n t e d B y ><s e r i n : Host>
The present work proposes a web service discovery archi-
tecture based on a centralized inverted-index which works on
a server composed of four components: Optionally, it is possible to store the index in a relational
database. In such case, SERIN ontology classes Host and
1) An index repository that maps semantic interfaces to Interface and their relationships works as a database schema.
hosts;
2) A scanning module - a crawler that scans Web B. Scanning module
contents, updating the index;
3) A manual query module - a site where users can query The scanning module (crawler) crawls the Web looking
the index; for hosts that implements semantic interfaces. The discovery
4) An automatic query module - semantic Web services process works in two steps. At first, the crawler identifies a set
that automatic agents can request data from the index of hosts. Secondly, it identifies which interfaces are available
repository. in each host.
There are several alternative processes to identifies the
Figure 5 presents all elements from our discovery process.
hosts. The final objective is to discover host addresses that
The gray areas identifies the four main architectural agents
are candidate to execute a semantic interface inspection. The
which are the service client, the Host, the service descriptor,
host discovery can start with a regular keyword search process.
and the discovery server. Domain ontology, using SERIN
In this case, the discovery server works with search engine
ontology annotations, provides the service description. They
APIs, like Google Custom Search API1 or Bing Search API2 ,
act as a service semantic interface. All other elements, i.e.,
starting from user-defined keywords. Complementary or as
the client, the host, and the discovery server, know the same
another possibility, it is possible to execute a web crawling
semantic interface. Sharing this knowledge enables that agents
process, starting from any web page to addresses linked to the
from both sides execute automatic requests and properly
page. It is possible also to inspect all domains related to an
process the responses. The host acts as a service provider.
upper domain. For instance, the crawler make requests to all
It is the data owner. It provides concrete implementations of
servers associated to the .gov or the .edu domain.
the services that the interface describes. The client can act
either as an automatic software agent or as an human user Once the crawler has identified the hosts, the crawler sends
performing requests to the web services. Finally, the discovery requests to each host asking which semantic interfaces they
server crawls the Web trying to find out SERIN semantic implement. This is a particular service that SERIN speci-
interfaces. It maintains a index repository with found hosts fication provides. Based on SERIN address convention, the
and found interfaces. Additionally, it provides manual and crawler requests the service that calls the data modeled from
automatic query module where users can consult the index the Interface class in the semantic interface that represents
repository. SERIN itself. The address format is
h t t p : / / { h o s t } / s e r i n . owl / I n t e r f a c e

where:
• {host} - IP or DNS host address.
• serin.owl - SERIN ontology.
• Interface - Interface class name.
Excepting for the host part, that varies for each host, all
other address parts are fixed.
The scanning module update the repository of known hosts,
the repository of known semantic interfaces, and the repository
of relationship between each host and each semantic interface.
Alternatively, service providers, who wish their site or their
Figure 5. SERIN discovery server architecture. interface to become part of the index, can spontaneously and
manually publish their services in the index repository.
A. Index repository
C. Web service query module
The index repository stores the addresses of service
providers, the semantic interfaces, as well as the known rela- The web service query module have specific web services
tionships among them. The repository database is an instance to get information about indexed hosts and about indexed
of SERIN ontology. It is possible, but not mandatory, to stores semantic interfaces. It is intentionally designed to provide
hosts and interfaces as RDF triples. The RDF statements are information for automatic consultation.
in the form: 1 https://developers.google.com/custom-search/
2 http://www.bing.com/toolbox/bingsearchapi
< s e r i n : Host> < s e r i n : i m p l e m e n t s > < s e r i n : I n t e r f a c e >

391
All services attends the SERIN ontology that defines the have started searching using the Google Web Search API3 .
SERIN semantic interface itself. Table I presents available The initial keyword expression was ”medical clinic” and
methods. ”physician”.
Table I. AVAILABLE WEB SERVICES FOR THE DISCOVERY SERVER . The algorithm splits each search result to get the server
Method Description address. After, it builds the web service address based on
http://{discovery server}/serin.owl/Host Returns the list of all indexed the SERIN address convention. Then it checks if the server
hosts. responds to the requests that verify the semantic interfaces.
http://{discovery server}/
serin.owl/Host/{host id}
Returns the list of all inter- Finally, if the server responses with a positive answer, the
faces that the host attends.
http://{discovery server}/serin.owl/Interface Returns the list of all indexed
crawler saves the results in the index repository.
interfaces.
http://{discovery server}/ Listing 2. Crawler web service search algorithm
Returns the list of all hosts
serin.owl/Interface/{interface URI}
that attends the interface. keyword <− ” ( p h y s i c i a n ) o r ( m e d i c a l and c l i n i c ) ”
s e r v e r s <− L i s t <n i l l >
r e s u l t <− L i s t <G o o g l e R e s u l t s . R e s u l t ( keyword)>
Each web services responses RDF triples with the desired f o r each r e s u l t
data. These methods are essentially for automatic agents use. s e r v e r . i p <− s p l i t r e s u l t . u r l
u r l <− s e r v e r . i p + ” s e r i n . owl / I n t e r f a c e ”
r e s p o n s e <− r e q u e s t ( u r l )
D. Manual query module i f r e s p o n s e = S t a t u s .OK
then
The manual query module is an endpoint where human f o r each response . i n t e r f a c e
users can execute queries to get the index repository data. The save i n t e r f a c e
manual endpoint acts as an SPARQL query engine. The user
may either write a web service URL or a SPARQL query.
Having set the discovery server, the client agent starts the
It is desirable that the manual module display the responses task of scheduling an appointment. The client sends a request
in a human readable format. The endpoint default result format to the discovery server which host attends the clinic interface.
is a table, which is more user-friendly format. If the user
prefers, he can change the default format to RDF triples. GET http://example.com/serin/serin.owl/Host
The discovery server sends a response that is a RDF with
VI. A RCHITECTURE ANALYSIS AND RESULTS a set of hosts.
Back to the motivation scenario, presented in section II, we The client agent selects a set of hosts from this list to
have implemented an SOA application that work as the client request for the available physicians. For example, if the client
agent and a server application. The whole idea is to investigate wants to get the list of cardiologists from clinic A, it sends
how the SERIN architecture implementation can represent the the following request:
execution of the described scenario.
GET http://clinic-A.com/serin/clinic.owl/Cardiologist
Before the scenario implementation, it is necessary to
prepare a framework where client and service provider are The client does the same request to the other hosts in
going to exchange information. This framework consists of the host list. Based on SERIN address convention, all URL
an ontology representing the semantic interface and the dis- requests have the same syntax except for the host address part.
covery server, both elements are precondition to the scenario Each host respond with its own RDF list of cardiologists.
execution. In our analysis platform, the semantic interface has The following step is the selection of the physician to set
classes representing medical concepts, as shown in figure 6. the appointment. The client agent can filter some physicians
In the discovery server, we have build the crawler, the index by requesting their available schedules. It sends a GET request
repository, and the web services module. like the following example. The number 1 in the URI is the
ID that identifies an individual cardiologist.
GET http://clinic-A.com/serin/clinic.owl/Cardiologist/1
Having the list of all the physician schedules, the client
selects the one it The selection criteria are based on non func-
tional requirements like, for example, geographical location,
date and time, physicians rank, and others. This selection is
not described in the present work.
Once the client has selected the physician schedule, it sends
a POST request with the appointment data. The request URL
is as follow.
POST http://clinic-A.com/serin/clinic.owl/Appointment/
Figure 6. Clinic ontology classes. The request body contain appointment data in a RDF
format. The data model is based on the clinic ontology.
The crawler executes the search algorithm, presented in
listing 2 starting from a keyword search query. In here, we 3 https://developers.google.com/web-search/docs/

392
However it is important, the data consistency validation is not registry server, there are some decentralized approaches. De-
considered here, being subject for another work. centralized discovery systems are based on distribution tech-
nologies like, e.g., peer-to-peer, to publish services descriptions
As seen in this section, it is possible to execute all the in a network.
scheduling process automatically. SERIN offers a semantic
web service architecture which is very simple to implement As mentioned before, Dong et al [13] has noticed that
and to execute. The effort to build the framework concentrates inside the semantic web service field very little work in the area
on building the domain ontology. The ontology annotation of index-based service discovery has been undertaken. This
process can be done in a semi-automatic manner. area is provided mainly by some non-specialized crawlers and
index-based systems, like web page search engines or index-
Besides, the addiction of semantics for the web services based systems for non-semantic SOAP/WSDL web services.
contributes to enable the automatic execution by client agents.
Semantic interfaces are essentially ontologies which are, by In the present research, we have found only a few works
definition, shared conceptualizations. The shared knowledge Semantic Web service discovery based on web crawlers:
enables the resource interoperability.
1) OPOSSUM [29] - It is a search engine for web
services based on approximation methods based on
VII. R ELATED W ORK
semantic and procedural similarity. The authors pro-
The core of the present proposal is based on a language poses a matching algorithm which is, by definition,
to semantically describe the RESTful web services and on a inaccurate.
decentralized discovery approach. 2) WESS [30] - It is a search engine for web service
descriptions, semantic or non-semantic (WSDL). It
Recent works about Semantic web service description does not considers RESTful web services because
languages are mostly focused on SOAP/WSDL architecture. they do not comply to a description standard.
The efforts are for semantic enrichment of WSDL service 3) WSCE [31], [32] - This work presents a discovery
descriptors. Most common solutions adopts OWL-S [15], like model (WSCE) in a decentralized way. Their work
OWLS-MX [16], OWL-S IDE [17], and WSMO [18], like uses a crawler to extract web services description
WSMO-MX [19]. Some works also adopt SAWSDL [20], from several UBR, which are local UDDI servers,
WSMO-lite [21], or WSDL-S [22]. to create an index for the services.
On the other hand, we have found less solutions for 4) Multicrawler [33] - It is more of a conventional
formally describing RESTful web services. Recent WSDL web crawler, searching for data in HTML pages.
2.0 specification [23] enables RESTful services description. The proposal enhances the search with semantic web
However it is necessary to map REST resources in operations, resource crawling and indexing.
inputs, and outputs to fit in a WSDL file. A more REST- 5) Service Search Crawler [34] - It has a crawler that
oriented specification is WADL (Web Application Description searches for SOAP/WSDL services from UDDI reg-
Language) [24]. Both languages lack of semantics. istry server or from within web pages. All found
services are semantically enhanced with a OWL-S
Some RESTful web services descriptions enhanced with description.
semantics are hRESTs [25], [26], SA-REST [27], and REST- 6) Restler [35] - It is a discovery system with a crawler
Desc [28]. All these proposals adds semantics to web services. based on a language called ReLL (Resource Link-
However they do not have a standard language. They also ing Language), an ontology that describes services
demands a high effort to build an ontology and to annotate through RDF triple stores with resources, representa-
the web services descriptions or the web pages that describe tions, and links.
the services.
The advantages about a crawler-based approach is that the
The major volume of solutions for web service discovery service providers no longer need to register their services. The
focuses on the matching task. Paolucci[11] has presented crawler takes the responsibility for finding out the services and
a seminal work about matching where he had introduced for indexing them. This eliminates the need for centralized
a degree of matching (DoM), that is a value of proximity registry servers or web service portals which are frequently
between the user requirements and the web service . After, outdated.
many authors have presented proposals to maximize the DoM.
The problem about matching is that it is always inaccurate, VIII. C ONCLUSIONS
i.e., it is very difficult to obtain a 100% degree of matching.
For the best of our knowledge, we have found no work that Nowadays, the RESTful web services discovery remains a
gain this DoM value. This way, it always have a degree of difficult task. The lack of appropriate language for description
uncertainty or error about the selected web service. of REST-based services complicates the identification and
selection of the best service that attends some user requirement
We can avoid the problems about DoM by using a semantic to execute a task. Furthermore the lack of semantics in the
interface. This semantic interface acts as a contract where both description hampers software agents to execute the task au-
producer and consumer know exactly which service fits the tomatically or semi-automatically, making mandatory the user
user requirements in a given situation. intervention.
Despite most works about web service discovery focus on In this sense, the SERIN semantic interfaces contribute to
centralized approaches, mainly considering UDDI as a service fill these gaps providing resources to define RESTful semantic

393
web service descriptions. One advantage of this approach is [15] D. Martin, M. Burstein, D. Mcdermott, S. Mcilraith, M. Paolucci,
that SERIN is an interface. By definition, it provides a shared K. Sycara, D. L. Mcguinness, E. Sirin, and N. Srinivasan, “Bringing
semantics to web services with owl-s,” World Wide Web, vol. 10, no. 3,
description that both client and service provider know and pp. 243–277, 2007.
agree. It adopts an annotated ontology based on common and [16] M. Klusch, B. Fries, and K. Sycara, “Owls-mx: A hybrid semantic
standard languages. This makes the interface building process web service matchmaker for owl-s services,” Web Semantics: Science,
very simple. Services and Agents on the World Wide Web, vol. 7, no. 2, pp. 121–133,
4 2009.
The existence of a shared ontology and an address conven- [17] N. Z. C. Htoo, T. T. S. Nyunt, and T. T. S. Yangon, “Semantic web ser-
tion enables the implementation of a discovery architecture vices offer discovery using owl-s ide,” in 2nd International Conference
that is decentralized, based on a crawler that navigates the on Signal Processing and Communication Systems (ICSPCS), vol. 6.
IEEE, 2008, pp. 1–5.
web indexing the web services and their provider. The search
algorithm complexity is low considering that it makes direct [18] U. Keller, H. Lausen, D. Fensel, R. Lara, H. Lausen, and D. Fensel,
“Semantic web service discovery in the wsmo framework,” Semantic
calls to the services that attend an interface. The crawler Web Services: Theory, Tools and Applications, no. April, pp. 1–44,
eliminates the necessity of registering the services in a UDDI 2006.
server or in any other service index. [19] M. Klusch and F. Kaufer, “Wsmo-mx: A hybrid semantic web service
matchmaker,” Web Intelligence and Agent Systems, vol. 7, no. 1, pp.
As future work, we intend to implement decision criteria 23–42, 2009.
for service selection based on non functional requirements. [20] “Semantic annotations for wsdl and xml schema,” 2007.
The verification of data integrity in the persistence operations [21] T. Vitvar, J. Kopeck, J. Viskova, and D. Fensel, “Wsmo-lite annotations
are a second focus in our work. Additionally, the service for web services,” in 5th European Semantic Web Conference, ESWC
composition based on this discovery architecture added to 2008, 2008, pp. 674–689.
BPMN process is subject for future research. [22] R. Akkiraju, J. Farrell, J. Miller, M. Nagarajan, M.-T. Schimidt, A. P.
Sheth, and K. Verma, “Web service semantics - wsdl-s,” 2005.
[23] R. Chinnici, J.-J. Moreau, A. Ryman, and S. Weerawarana, “Web ser-
ACKNOWLEDGE vices description language {(wsdl)} version 2.0 part 1: Core language,”
2007.
Jose Renato V. Dantas and Hermano A. Lira acknowledges [24] M. Hadley, “Web application description language {(wadl)},” Tech.
SERPRO, Federal Data Processing Service, for supporting this Rep. TR-2006-153, 2006.
research. [25] D. Roman, J. Kopecký, T. Vitvar, J. Domingue, and D. Fensel, “Wsmo-
lite and hrests: Lightweight semantic annotations for web services and
restful apis,” Web Semantics: Science, Services and Agents on the World
R EFERENCES Wide Web, 2014.
[26] J. Kopecký, K. Gomadam, and T. Vitvar, “hrests: An html mi-
[1] T. Berners-Lee, J. Hendler, and O. Lassila, “The semantic web,” croformat for describing restful web services,” Proceedings - 2008
Scientific American, vol. 284, no. 5, pp. 34–43, 5 2001. IEEE/WIC/ACM International Conference on Web Intelligence, WI
[2] T. R. Gruber, “A translation approach to portable ontology specifica- 2008, pp. 619–625, 2008.
tion,” Tech. Rep. {KSL} 92-71, 1993. [27] K. Gomadam, A. Ranabahu, and A. Sheth, “Sa-rest: semantic annotation
[3] “Owl 2 web ontology language document overview,” 2009. of web resources,” p. 52, 2010.
[4] B. Adida and M. Birbeck, “Rdfa primer,” 2008. [28] R. Verborgh, T. Steiner, D. Van Deursen, R. Van De Walle, J. G. Valles,
[5] S. McIlraith, T. Son, and H. Z. H. Zeng, “Semantic web services,” IEEE D. V. Deursen, R. V. D. Walle, and J. G. Valles, “Efficient runtime
Intelligent Systems, vol. 16, no. 2, pp. 46–53, 2001. service discovery and consumption with hyperlinked restdesc,” Pro-
ceedings of the 2011 7th International Conference on Next Generation
[6] B. d. A. Muniz, L. M. Chaves, H. A. Lira, J. R. V. Dantas, and P. P. M. Web Services Practices, NWeSP 2011, pp. 373–379, 10 2011.
Farias, “Serin - an aproach to specify semantic abstract interfaces in the
context of restful web services,” Proceedings of the IADIS International [29] E. Toch, A. Gal, I. Reinhartz-Berger, and D. Dori, “A semantic ap-
Conference on WWW/Internet, pp. 187–194, 2013. proach to approximate service retrieval,” ACM Transactions on Internet
Technology, vol. 8, no. 1, pp. 2–es, 2007.
[7] “Oasis uddi specification tc {\textbar} oasis,” 2005.
[30] O. Hatzi, G. Batistatos, M. Nikolaidou, and D. Anagnostopoulos, “A
[8] R. T. Fielding, “Architectural styles and the design of network-based specialized search engine for web service discovery,” 2012 IEEE 19th
software architectures,” Ph.D. dissertation, 2000. International Conference on Web Services, pp. 448–455, 2012.
[9] H. Nacer and D. Aissani, “Semantic web services: Standards, appli- [31] E. Al-Masri and Q. H. Mahmoud, “Investigating web services on the
cations, challenges and solutions,” Journal of Network and Computer world wide web,” Proceeding of the 17th international conference on
Applications, vol. 44, pp. 134–151, 9 2014. World Wide Web WWW 08, vol. 32, p. 795, 2008.
[10] J. Cardoso, Semantic Web services - Theory, tools and applications. [32] ——, “Crawling multiple uddi business registries,” Proceedings of the
Information Science Reference, 2009. 16th international conference on World Wide Web - WWW ’07, p. 1255,
[11] M. Paolucci, T. Kawamura, T. R. Payne, and K. Sycara, “Semantic 2007.
matching of web services capabilities,” in The Semantic Web — [33] A. Harth and S. Decker, “Multicrawler : A pipelined architecture for
{ISWC} 2002, ser. Lecture Notes in Computer Science, I. Horrocks crawling and indexing semantic web data,” The Semantic Web, vol.
and J. Hendler, Eds. Springer Berlin / Heidelberg, 2002, vol. 2342, 4273, pp. 258–271, 2006.
pp. 333–347. [34] V. Kaewmarin, N. Arch-int, and S. Arch-int, “Semantic web service
[12] T. Pilioura and A. Tsalgatidou, “Unified publication and discovery of discovery and integration using service search crawler,” 2008 Interna-
semantic web services,” ACM Transactions on the Web, vol. 3, no. 3, tional Conference on Computational Intelligence for Modelling Control
pp. 1–44, 2009. & Automation, pp. 884–888, 2008.
[13] H. Dong, F. K. Hussain, and E. Chang, “Semantic web service match- [35] R. Alarcón and E. Wilde, “Restler: crawling restful services,” Proceed-
makers: state of the art and challenges,” Concurrency and Computation: ings of the 19th international conference on World wide web, pp. 1051–
Practice and Experience, vol. 25, no. 7, pp. 961–988, 2013. 1052, 2010.
[14] L. D. Ngan and R. Kanagasabai, “Semantic web service discovery:
state-of-the-art and research challenges,” Personal and Ubiquitous Com-
puting, vol. 17, no. 8, pp. 1741–1752, 9 2012.

394

You might also like