Tag desenvolvimento de softwares

Tag desenvolvimento de softwares

Criando Back-end API com Spring Boot 2.0

Tags:, , , , , , , , , , , , Artigos, Destaque, Tecnologia, Tutorial
featured image

Você utiliza Spring Boot? Quer saber o que mudou com as atualizações e como funciona? Ou ainda NÃO CONHECE essa ferramenta? Então continue lendo e veja na prática a criação de uma Back-end API com Spring Boot 2.0.

O que você vai encontrar nesse artigo:

  • O que é Spring Boot
  • Atualizações no Spring Boot 2.0
  • Conceito básico de Back-end e API
  • Instalações e principais configurações
  • Vídeo tutorial com passo a passo completo

O que é Spring Boot

Primeiramente, uma breve explicação sobre o Spring Boot. O projeto foi criado pela Spring com o objetivo de facilitar o processo de configuração e publicação de aplicações, a fim de ter o projeto rodando o mais rápido possível e sem maiores dificuldades.

Isso é possível porque o Spring Boot consegue favorecer a convenção sobre a configuração. Ou seja, é só dizer quais módulos deseja utilizar (WEB, Template, Persistência, Segurança, etc.) que ele reconhece e faz as configurações.

Com a primeira versão, a ferramenta ficou conhecida principalmente pela facilidade de criação, configuração de projetos e a utilização de microsserviços. Além disso, o Spring Boot proporciona maior liberdade para pensar nas regras de negócio da aplicação.

o que é spring boot

Atualizações no Spring Boot 2.0

A Spring está constantemente trazendo melhorias e o Spring Boot 2.0 trouxe algumas modificações, entre elas estão quebras de compatibilidades e inclusão de novas funcionalidades que ajudam o desenvolvimento e melhoria de qualidade do código. 

Outro ponto importante, é a versão do Java necessária para utilizar o Spring Boot. Alguns métodos e classes são encontradas apenas à partir da versão 8. Entretanto, recomenda-se utilizar da 9 em diante. Então fique atento e lembre de atualizar o seu.

SAIBA MAIS: JAVA – UMA SOBREVIVENTE NA ERA DAS NOVAS LINGUAGENS

Back-end API

Antes de entrar nas configurações, relembraremos o que significa e para que serve uma API.

Começando pelo significado, a sigla refere-se ao termo em inglês “Application Programming Interface” que traduzido para o português significa “Interface de Programação de Aplicativos”.

E essas interfaces são um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software ou plataforma baseado na Web. Em resumo, uma API é composta por uma série de funções acessíveis somente por meio de programação.

Mas afinal, quando APIs precisam ser criadas? Um caso comum é quando uma empresa de software tem intenção de que outros criadores de software desenvolvam produtos associados ao seu serviço.

Para exemplificar, o Google Maps é um dos mais utilizados. Por meio do código original, muitos outros sites e aplicações utilizam e adaptam os dados do Maps conforme seus objetivos.

Se você já trabalha e tem experiência com back-end, sabe a importância de se preocupar com a persistência dos dados, regras de negócio, segurança da informação, performance, etc.

Caso esteja começando na programação e caiu aqui de “paraquedas”, faça uma pesquisa sobre alguns conceitos. Abaixo sugestão de sites que podem ajudar:

https://mkyong.com/

https://www.youtube.com/user/algaworks

Agora que já deu para tirar algumas dúvidas e entender alguns conceitos, se prepare! A seguir vai começar o passo a passo para criar uma back-end API com Spring Boot 2.0.

Instalações e principais configurações

O Spring Tool Suite é uma IDE baseada em Eclipse que dá algumas facilidades para trabalhos com o Spring no geral. Uma das vantagens é que ajuda a criar projetos com Spring Boot.

Mas não se preocupe, o STS não é pré-requisito para criação de projetos com Spring Boot. Você pode trabalhar com Spring Boot em qualquer IDE que dê suporte ao Maven. Nesse site você vai encontrar suporte para utilizar outras IDEs: http://start.spring.io 

Faça a instalação se você ainda não tiver o Java instalado ou se a sua versão for anterior a 8. 

SAIBA MAIS: JAVASCRIPT – UMA LINGUAGEM DE ALTO NÍVEL PARA DESENVOLVIMENTO WEB

Criando o projeto

spring boot 2.0 starter project

Abra o programa e faça a criação do seu projeto. Basta seguir o caminho: File > New > Spring Starter Project

Escolha o nome do projeto, versão do java, deixa padrão os demais itens e segue para o próximo passo. 

Configurando as dependências do projeto

spring boot 2.0 dependências

Faça a seguinte seleção:

Java 11 / H2 Database / Spring Data JPA / Spring Boot Dev Tools / Spring Web / Validation

Dependências Swagger

spring boot 2.0 dependências swagger

Nas dependências do Swagger é necessário adicionar esse trecho no pom.xml para poder utilizar. Esse processo é manual por não ser uma dependência padrão da Spring, apesar de ser muito utilizada em aplicações Web.

Config Properties

properties são propriedades internas do pom.xml

Os properties são propriedades internas do pom.xml, é onde se define as versões das dependências que são adicionadas manualmente no projeto.

Essa config é opcional porque pode-se colocar o número da versão direto na tag <version></version> da dependência. As dependências do Spring (que foram selecionadas ao criar o projeto) não precisam estar ali, são inferidas automaticamente.

Meta Model Entity Processor

Meta Model Entity Processor é utilizado na hora de criar as specifications

O Meta Model Entity Processor é utilizado na criação das specifications para filtrar/pesquisar dados. 

Assim que finalizar esse passo faça um Update no projeto: Maven > Update Project > Force > OK!

Criando primeiros pacotes

.config / controller / model / repository / service / specs 

.config / controller / model / repository / service / specs 

  • config: pacote para agrupar classes contendo configurações do projeto
  • controller: pacote para armazenar as classes que conterão os endpoints da API
  • service: pacote para armazenar as classes que conterão as regras de negócio da aplicação.
  • repository: pacote para armazenar interfaces responsáveis pela abstração da comunicação com o banco de dados.
  • specs: pacote para armazenar classes utilitárias de conversão de filtros de pesquisa de dados em Specifications do Spring Data JPA.
  • model: pacote para armazenar as classes do modelo de dados contendo os mapeamentos das entidades do banco de dados.
  • dto: pacote para armazenar conjunto de pacotes contendo as classes de definições dos objetos que serão  produzidos e consumidos pela API.

Pacotes de DTOs 

Dto.req / dto.res / dtp.filter

dto.req: pacote para classes dos objetos que serão consumidos pela API.

dto.res: pacote para para as classes dos objetos que serão retornados pela API.

dto.filter: pacote para as classes contendo as estruturas dos filtros de pesquisa de dados que também serão consumidos pela API.

Configurações de cors

Cross-origin resource sharing

“Cross-origin resource sharing é uma especificação de uma tecnologia de navegadores que define meios para um servidor permitir que seus recursos sejam acessados por uma página web de um domínio diferente. Esse tipo de acesso seria de outra forma negado pela same origin policy”. Wikipédia

Essa configuração libera a API para ser consumida/utilizada publicamente por qualquer site ou origem, além disso não é necessário autorizar origem previamente. 

(Configuração útil durante o desenvolvimento que deve ser revista na hora de colocar o projeto em ambientes de produção).

SwaggerConfig / corsConfig / jpaAuDitingConfig

SwaggerConfig: Configurações da dependência do Swagger(Open Api) para uma página contendo documentações da API seja gerada automaticamente, permitindo também o teste dos endpoints sem a necessidade da utilização de ferramentas como o Postman.

JpaAuditingConfig: Configurações do Spring para habilitar notações de auditoria de dados, conforme a documentação oficial: https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#auditing.basics

Application Properties  

Arquivo de configuração padrão do spring boot, podemos configurar parâmetros para acesso ao banco de dados, a porta http que a API deverá utilizar, e diversos outros parâmetros.

Chegando até aqui a infraestrutura básica da tua Back-end API com Spring Boot 2.0 está configurada!

No tutorial em vídeo você consegue ver os passos completos e com mais detalhes. Não deixa de visualizar e boa sorte na criação do teu projeto.

Vídeo tutorial com passo a passo completo

*Artigo escrito por Nicolas Wojcichoski, programador da Kbase

Terceirização em TI: o sucesso da parceria entre Kbase e Tumelero

Tags:, , , , , , , , , , , , , Cases, Clientes, Destaque
featured image

Quando falamos na terceirização em TI, falamos de empresas que contratam a mão de obra qualificada de desenvolvedores, analistas de sistemas e outros profissionais da área sem que eles estejam diretamente ligados a seu quadro de funcionários. Ler Mais

DevOps: alternativa para alinhar operações e desenvolvimento em TI

Tags:, , , , , , , , , , , Destaque, Institucional, Mercado
featured image

A gente sempre fala por aqui que a agilidade é um dos principais fatores quando o assunto é entregar soluções para nossos clientes. Aliado a isso, é preciso atenção para a qualidade de cada projeto. É por isso que estamos atentos ao que é novidade no mercado e que pode contribuir para aprimorar nosso trabalho. Entre elas, a DevOps é um conjunto de boas práticas que tem se destacado como alternativa para alinhar a atuação das equipes de operações e desenvolvimento em TI. Ler Mais

Sustentação TOTVS/Datasul: aproveite o melhor do seu ERP

Tags:, , , , , , , , , , , Destaque, Institucional, Serviços
featured image

Sua empresa usa o ERP TOTVS/Datasul para otimizar os processos? Como você faz para manter o sistema sempre atualizado e atendendo às frequentes mudanças de necessidades do seu negócio? Para aproximá-lo desse objetivo nossa dica é: conte com profissionais especializados e com a expertise necessária para fazer sustentação TOTVS/Datasul. Seus problemas do dia a dia serão resolvidos de forma eficiente, sem demandar muito tempo de sua equipe de TI. Assim, você terá tempo para se dedicar ao crescimento da empresa. Afinal, é função do ERP auxiliar no gerenciamento de informações indispensáveis aos processos administrativos, gerenciais e operacionais. Ler Mais

Kanban: uma cultura ágil para o desenvolvimento de software

Tags:, , , , , , , , , , , , , , , , , Destaque, Institucional, Mercado, Serviços
featured image

Se você acha que conhecer e aplicar métodos ágeis para o desenvolvimento de softwares é apenas um diferencial, pode mudar de ideia. Essa é uma necessidade que virou pré-requisito na hora de contratar a empresa para desenvolver seu projeto. Assim, o Kanban ganha cada vez mais espaço entre os profissionais de TI. Ler Mais

Indústria 4.0: prepare-se para a revolução dos dados

Tags:, , , , , , , , , , , , , , Destaque, Mercado
featured image

Internet das coisas, computação em nuvem, inteligência artificial, automação, troca de dados. Todos esses termos se referem às inovações tecnológicas que surgiram recentemente. Podem ser aplicadas em várias áreas e setores. Mas quando utilizadas de forma interligadas, sustentam o conceito de indústria 4.0.  Ler Mais

Sites híbridos ou PWA: alternativas ao desenvolvimento de aplicativos

Tags:, , , , , , , , , , , , , , , Destaque, Mercado, Tecnologia
featured image

Já parou para analisar a quantidade de aplicativos que seu smartphone tem? Se prestar atenção, vai se dar conta que vários deles são pouco utilizados. Alguns, talvez estejam esquecidos desde o dia que foram instalados. Sabe por que isso acontece? Porque sites híbridos ou PWA estão conquistando um espaço que até então era dominado pelos aplicativos. Ler Mais

Desenvolvimento mobile: como escolher a tecnologia mais adequada

Tags:, , , , , , , , , , , , , , Tecnologia
featured image

Até 2022, teremos mais de 5,7 bilhões de smartphones em todo o mundo. Essa projeção é da Cisco Visual Networking Index (VNI) e representa mais pessoas ligadas a um aparelho móvel do que com acesso a uma conta bancária ou telefone fixo. É por isso que pensar no desenvolvimento mobile é cada vez mais necessário para empresas que desejam se manter conectadas a seu público, seja ele interno ou externo. Ler Mais

Chatbot: como um robô pode ser útil para sua empresa

Tags:, , , , , , , , , , , , , Destaque, Mercado, Serviços, Tecnologia
featured image

Mesmo que não tenha percebido, provavelmente você já foi atendido por um robô. Essa relação pode ter acontecido nas redes sociais, aplicativos e sites de marcas que você se relaciona. Executada por um chatbot, essa comunicação pode ser útil para empresas de vários setores. Isso porque, quanto mais a inteligência artificial (IA) é utilizada, mais ela se aperfeiçoa para melhorar a experiência do usuário. Ler Mais

Scrum para atendimento de projetos: como entregar valor aos clientes

Tags:, , , , , , , , , , , , , , , , , Destaque, Institucional, Mercado, Serviços
featured image

Post atualizado em 25/10/2019

A taxa de sucesso no desenvolvimentos de softwares está diretamente ligada ao uso de estratégias que atendam às demandas. Agilidade na execução de tarefas, bom relacionamento com o cliente e capacidade de entendimento do negócio estão entre as principais vantagens que o uso de Scrum oferece. Por isso, desde que uma solicitação de projeto chega para os desenvolvedores, é preciso estar atento a algumas variáveis. Entre elas estão objetivos, tempo de execução, tecnologia mais adequada e, principalmente, o que irá gerar maior valor agregado ao negócio.

Ler Mais