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