dc.creator | Silva, Thomás Sousa | |
dc.date.accessioned | 2020-08-23T23:12:28Z | |
dc.date.available | 2020-08-23T23:12:28Z | |
dc.date.issued | 2019-03-28 | |
dc.identifier.citation | SILVA, Thomás Sousa. Overjax: um framework para facilitar o desenvolvimento de microservices. 2019. 65 f. TCC (Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas) - Departamento Acadêmico de Controle e Sistemas Eletroeletrônico, Instituto Federal de Ciência e Tecnologia de Pernambuco, Recife, 2019. | pt_BR |
dc.identifier.uri | https://repositorio.ifpe.edu.br/xmlui/handle/123456789/199 | |
dc.description.abstract | Every application has the objective of solving a certain problem or a set of them, but to
solve it it is necessary to do much more than to create entities and business rules.
The design of an application requires several configurations and implementations that
are not linked to the main problem, such as error handling, standardization and
abstraction layers. This work presents the development of a project that aims to
reduce the time of development and maintenance of a microservice in the Java
language, through the combination of specifications consolidated in the market, new
features and the definition of configuration patterns, instead of explicit configuration .
As a result a framework was obtained, which besides facilitating this initial
configuration, has several features that can be used by the entire application. These
include standardized implementations of request response format, global Java EL
context creation per request, internationalized message interpolator using Java EL,
exception handlers, dynamic internationalized message builders, implementation of
security filters for authentication and generic authorization that supports any type of
authentication, stateless, that use the HTTP Authorization header, creation of
integration with the Keycloak access identity manager, allowing single login with low
coupling through JWT tokens. With the intention of validating the framework was
developed a simple test application named any-address, that use the Overjax
features. | pt_BR |
dc.format.extent | 65 p. | pt_BR |
dc.language | pt_BR | pt_BR |
dc.relation | APACHE SOFTWARE FOUNDATION. Apache Maven project: introduction. 2018.
Disponível em: <https://maven.apache.org/what-is-maven.html>. Acesso em: 26 nov.
2018.
APACHE SOFTWARE FOUNDATION. Apache Maven project: guide to working with
multiple modules. 2018. Disponível em:
<https://maven.apache.org/guides/mini/guide-multiple-modules.html>. Acesso em: 27
nov. 2018.
APACHE SOFTWARE FOUNDATION. Apache Maven project: introduction to the
dependency mechanism. 2018. Disponível em:
<https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanis
m.html>. Acesso em: 26 nov. 2018.
CHAN, R. The 10 most popular programming languages, according to the
Facebook for programmers. 2019. Disponível em:
<https://www.businessinsider.com/the-10-most-popular-programming-languages-acc
ording-to-github-2018-10>. Acesso em: 31 mar. 2019.
ECLIPSE. Microprofile: frequently asked questions. 2018. Disponível em:
<https://microprofile.io/faq/>. Acesso em: 27 nov. 2018.
ECLIPSE. Configuration for MicroProfile. 2018. Disponível em:
<https://microprofile.io/project/eclipse/microprofile-config>. Acesso em: 27 nov. 2018.
FARIA, T. Java EE 7 com JSF, PrimeFaces e CDI. 1. ed. AlgaWorks. 2013.
KLABNIK, S. et al. Latest specification (v1.0). 2018. Disponível em:
<https://jsonapi.org/format/>. Acesso em: 26 nov. 2018.
MENDES, R. D. Programação Java com ênfase em orientação a objetos. 1. ed.
São Paulo: Novatec. 2009.
ORACLE. Expression language specification: version 3.0 final release. 2013.
Disponível em:
<https://download.oracle.com/otn-pub/jcp/el-3_0-fr-eval-spec/EL3.0.FR.pdf>. Acesso
em: 26 nov. 2018.
ORACLE. JAX-RS: Java™ API for RESTful Web services. 2017. Disponível em:
<https://download.oracle.com/otn-pub/jcp/jaxrs-2_1-final-eval-spec/jaxrs-2_1-final-sp
ec.pdf>. Acesso em: 26 nov. 2018.
ORACLE. JSR 365 contexts and dependency injection for Java 2.0. 2017.
Disponível em:
<https://download.oracle.com/otn-pub/jcp/cdi-2-final-spec/cdi-spec.pdf>. Acesso em:
26 nov. 2018.
ORACLE. JSON-B: Java™ API for JSON binding version 1.0. 2017. Disponível em:
<https://download.oracle.com/otn-pub/jcp/json_b-1-final-eval-spec/jsonb_spec_1.0.p
df>. Acesso em: 26 nov. 2018.
ORACLE. Java API for JSON processing. 2018. Disponível em:
<https://javaee.github.io/jsonp/>. Acesso em: 26/11/2018.
REDHAT. Keycloak. 2018. Disponível em: <https://www.keycloak.org/about.html>.
Acesso em: 26 nov. 2018.
RICHARDSON, C. What are microservices?. 2018. Disponível em:
<https://microservices.io/>. Acesso em: 15 nov. 2018. | pt_BR |
dc.rights | Acesso Aberto | pt_BR |
dc.subject | Overjax | pt_BR |
dc.subject | Java framework | pt_BR |
dc.subject | Microservice | pt_BR |
dc.title | Overjax: um framework para facilitar o desenvolvimento de microservices | pt_BR |
dc.type | TCC | pt_BR |
dc.creator.Lattes | http://lattes.cnpq.br/2969915040244186 | pt_BR |
dc.contributor.advisor1 | Dantas, Ramide Augusto Sales | |
dc.contributor.advisor1Lattes | http://lattes.cnpq.br/2064404611798738 | pt_BR |
dc.contributor.referee1 | Gonçalves Júnior, Paulo Maurício | |
dc.contributor.referee2 | Lima, José Paulo da Silva | |
dc.contributor.referee1Lattes | http://lattes.cnpq.br/4216288704867694 | pt_BR |
dc.contributor.referee2Lattes | http://lattes.cnpq.br/3276113480182196 | pt_BR |
dc.publisher.department | Recife | pt_BR |
dc.publisher.country | Brasil | pt_BR |
dc.subject.cnpq | CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO::SOFTWARE BASICO | pt_BR |
dc.description.resumo | Toda aplicação tem como objetivo resolver um determinado problema, porém para
solucioná-lo é preciso fazer muito mais do que criar entidades e regras de negócio. A
concepção de uma aplicação exige várias configurações e implementações que não
estão ligadas à problemática principal, como tratamento de erros, padronizações e
camadas de abstração. O presente trabalho apresenta o desenvolvimento de uma
solução que visa reduzir o tempo de desenvolvimento e manutenção de um
microservice na linguagem Java, por meio da junção de especificações consolidadas
no mercado, novas funcionalidades e a definição de padrões de configuração, ao
invés de configuração explícita. Como resultado obteve-se um framework, que além
de facilitar essa configuração inicial, possui vários recursos que podem ser utilizados
por toda a aplicação. Entre eles, temos implementações de padronização de formato
de resposta de requisições, criação de contexto Java EL global por requisição,
interpolador de mensagens internacionalizadas que usa Java EL, manipuladores de
exceção, construtores de mensagens internacionalizadas dinâmicas, implementação
de filtros de segurança para autenticação e autorização genéricos que suportam
qualquer tipo de autenticação, stateless, que utilize o header HTTP Authorization,
criação de integração com o gerenciador de identidade de acesso Keycloak,
permitindo login único com baixo acoplamento através de tokens JWT. Com a
intenção de validar o framework foi desenvolvido um aplicativo de teste simples
denominado any-address, que utiliza os recursos do Overjax. | pt_BR |