Tesis
Desenvolvimento de Web APIs RESTful semânticas baseadas em JSON
Autor
Salvadori, Ivan Luiz
Institución
Resumen
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2015. Os princípios arquiteturais REST estão sendo amplamente adotados nas implementações de sistemas distribuídos disponíveis na Web. As implementações REST são realizadas através de Web Services, que são comumente disponibilizados na forma de Web APIs, cujo principal objetivo é o intercâmbio de dados entre aplicações. No entanto, devido à falta de padrões e diretrizes para desenvolvimento, cada implementação REST segue uma linha de desenvolvimento, fato que resulta na dificuldade de construção de aplicações clientes, além de dificultar a composição de Web APIs. Outro desafio é a falta de suporte ao uso de controles hipermídia em representações de recursos que utilizam o formato JSON. Controles hipermídia podem assumir a forma de links, que guiam a navegação entre diferentes recursos. Este trabalho propõe uma abordagem de desenvolvimento com os passos necessários para modelar e implementar Web APIs RESTful Semânticas que suportam controles hipermídia em JSON. A abordagem identifica as representações necessárias e realiza anotações semânticas através de associações de propriedades e operações com termos de vocabulários controlados. Além disso, a abordagem busca separar a implementação da camada de integração de dados com as demais camadas do sistema, diminuindo o acoplamento e aumentando a coesão. De forma complementar, este trabalho apresenta um framework para o desenvolvimento de Web APIs RESTful baseado na abordagem de desenvolvimento proposta, sendo este compatível com a especificação JAX-RS. O suporte fornecido pelo framework proposto possibilita que o desenvolvedor concentre esforços no desenvolvimento do domínio do problema, sem perder tempo com infraestrutura. Com a utilização da abordagem proposta, juntamente com suporte ferramental oferecido pelo framework, espera-se proporcionar maior produtividade e qualidade no desenvolvimento de Web APIs alinhadas com os princípios arquiteturais REST.<br> Abstract : The REST architectural principles are being widely adopted for implementing distributed systems on the Web. REST implementations are developed using Web Services technology and are made available through Web APIs, which have the main goal of interchanging data among applications. However, due the lack of development patterns and guidelines, each REST implementation follows its own development method. As a result, client applications are difficult to build and the composition of Web APIs becomes hard to achieve. Another challenge is the lack of support of hypermedia control in resource representations described using the JSON format. Hypermedia controls can be realized using hyperlinks, which guide navigation among multiple resources. This work proposes a development approach with the required steps for modeling and implementing Semantic RESTful Web APIs with support for hypermedia control in JSON format. The approach identifies resource representations and applies semantic annotations in order to bind properties and operations with terms defined by controlled vocabularies. On top of that, the development approach aims to achieve loose coupling and high cohesion through a clear division between the integration layer and the others layers of the system. In addition, this work proposes a framework based on the JAX-RS specification that provides support for the proposed development approach. The framework allows the software developer to focus on the implementation of the business core, instead of spending time to deal with infrastructure issues. The adoption of the proposed approach, together with the support provided by the framework, aims to improve the quality and productivity achieved by the development of Web APIs that follow the REST architectural principles.