Prova de Conceito e tecnologias do novo serviço
Antes de construir um software, deve-se avaliar e testar a ideia conceituada, elencando requisitos, funcionalidades e regras vitais para o processo de desenvolvimento. A partir dessa necessidade, surgiu um método muito adotado pelas empresas chamado Prova de Conceito, ou Proof of Concept. Esse método busca verificar a viabilidade do projeto e validá-lo em baixa escala. Fazendo-se o uso de uma prova de conceito, evita-se o desperdício de recursos e viabiliza o produto em termos técnicos e de mercado. Fazer o uso dessa prática determina uma melhor rota a ser seguida pelo time de desenvolvedores.
Através dessa proposta, a equipe elencou tecnologias como Java com Spring Boot, Banco de dados Relacional e Não-Relacional, Docker e demais ferramentas fundamentais para a elaboração de um novo projeto.
Confira as tecnologias utilizadas no projeto:
Java 11: É uma linguagem de programação orientada a objetos desenvolvida por um time de programadores na empresa Sun Microsystems. Possui linguagem simples, portabilidade, suporte a orientação a objetos e é uma linguagem interpretada.
IntelliJ IDEA: IDE utilizada para desenvolvimento JAVA. A mesma possui diversas funcionalidades, entre elas o database tools que permite se conectar com o banco, gerar consultar e editar registros inline.
Spring Boot: Utilizado para pré configurar o ambiente de desenvolvimento e suas dependências, possibilita maior rendimento na produção da aplicação. Com variados módulos pré selecionados do ecossistema Spring, é criado um template base pronto para desenvolvimento.
Docker: Com Docker é possível o empacotamento de uma aplicação dentro de um “container” de máquina virtualizada, que a torna portável para qualquer outro host. Isso diminui drasticamente o tempo de deploy já que não há necessidade de configuração de ambiente, por ser o mesmo.
Arquivos de Dados JSON: Um arquivo JSON possui fácil manutenção e leitura com bibliotecas comuns de Java, e funciona bem para armazenar matrizes ou coleções de objetos.
Banco de Dados NoSQL: Uma base de dados NoSQL tem um esquema dinâmico para dados não estruturados, e o dado é armazenado em várias formas, podendo ser orientado a coluna, a documento, baseado em grafos ou organizado como chave-valor. Essa flexibilidade permite a criação de documentos sem definir a estruturação antes e a adição de novos campos quando for necessário. É conhecido por ter sua base de dados horizontalmente escalável. Isso quer dizer que suporta muito mais tráfego por sharding (particionamento de dados), ou seja, adicionando mais servidores na sua base de dados NoSQL.
Banco de Dados Relacional: É uma coleção de dados com relacionamentos predefinidos entre si. Os dados são armazenados como um conjunto de tabelas com linhas e colunas. A criação da base de dados é feita via linguagem SQL. Os Sistemas Gerenciadores de Banco de Dados (SGBD) relacionais oferecem maior consistência para a operação. Entre suas características, encontram-se verificações e garantias de integridade.
Autor: Eliton Dioni