Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Introdução
 
 
Acadêmico(a): Cleber Tomazoni
Título:  Ferramenta geradora de aplicações web com JHipster V2: personalização de formulários e integridade de dados 
 
Introdução:
A adoção de formas novas e inovadoras de fazer negócios em organizações com base nos avanços tecnológicos
tem sido referida como transformação digital (RED HAT, 2017, p. 1) e diz respeito a todas as ações relacionadas a
melhoria em processos como de gestão, de produção, de relacionamento com os clientes e entre fornecedores
possibilitando ganhos competitivos. Este movimento gera pressão sobre à área de tecnologia da informação, tendo em
vista que o surgimento de novas oportunidades de interação com o cliente demanda um esforço de desenvolvimento de
software não necessariamente compatível com o conjunto de habilidades que a equipe técnica dispõe ou que a
infraestrutura atual permite (MACHADO, 2019; MUNDIM; SIESTRUP, 2019, p. 45; NASCIMENTO, 2020, p. 1).
Analisando-se este cenário sob o ponto de vista da área de engenharia de software, observa-se que os sistemas
computacionais oferecem soluções de problemas normalmente parecidos e que são recorrentes, tornando a reutilização
do código algo bastante útil (ABREU, 2016, p. 36). É neste contexto que surgem os chamados frameworks que se
caracterizam como uma arquitetura de software organizada de tal forma a permitir máxima reutilização possível, sendo
representada como um conjunto de classes abstratas e concretas, bastante genéricas para possibilitar um grande potencial
de especialização (MATTSSON, 1996, p. 51). As principais características dos frameworks são: modularidade,
reutilização, extensibilidade e eventualmente inversão de controle (quando assumem o controle da execução invocando
métodos da aplicação quando necessário) (VOLPON, 2011, p. 46).
Neste contexto surge a ferramenta JHipster (DUBOIS; SASIDHARAN; GRIMAUD, 2020), um gerador de
código aberto usado industrialmente para o desenvolvimento de aplicativos da web, o qual usa a técnica de scaffolding
para produzir a estrutura de diretórios da aplicação. A partir de uma configuração especificada pelo usuário, o JHipster
gera uma pilha tecnológica completa constituída de código Java e Spring Boot (no lado do servidor) e Angular e Bootstrap
(no lado cliente). O gerador suporta várias tecnologias, desde o banco de dados usado (por exemplo, MySQL ou
MongoDB), o mecanismo de autenticação (por exemplo, HyperText Transfer Protocol (HTTP) Session ou Oauth2), o
suporte ao logon social (via contas de redes sociais existentes) e o uso de microsserviços (HALIN et al., 2018). No entanto,
o conjunto de possibilidades de diferentes configurações do JHipster o torna ao mesmo tempo uma ferramenta que traz
um ganho de produtividade, mas pode acarretar uma série de efeitos colaterais como demonstrado na seção 2.1 deste
trabalho.
Na perspectiva de facilitar o processo de geração correta do arquivo de configurações do JHipster, Aguiar (2019)
desenvolveu como trabalho de conclusão de curso um protótipo capaz de gerar este arquivo a partir das definições em
Linguagem de Definição de Dados (LDD) das tabelas de um banco de dados. Diante do exposto, o presente trabalho tem
como objetivo geral incrementar o projeto de Aguiar (2019) tornando-o uma ferramenta mais adequada para utilização
em ambiente de produção. Como objetivos específicos, o projeto deve (a) aprimorar os aspectos de conexão com as bases
de dados selecionadas e (b) introduzir uma camada de validação dos relacionamentos identificados no modelo de dados.