Tecnologia

Tecnologia

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.

A primeira versão 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 é veio com algumas modificações, entre elas estão quebras de compatibilidades e inclusão de novas funcionalidades que ajudam o desenvolvimento e melhoria da 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, o recomendado é utilizar da 9 em diante. Fique atento e atualize o seu.

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

Back-end API

Antes de entrar nas configurações, relembremos 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”.

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í! A seguir começa 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

O Brasil é um dos maiores produtores de lixo eletrônico do mundo

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

05 de Junho é o Dia Mundial do Meio Ambiente. Uma data de importantes reflexões e entre elas o cuidado com nossos equipamentos eletrônicos que viram e-lixo. O que você faz com os seus?

E-LIXO

O lixo eletrônico – ou e-lixo – é produzido por materiais de origem inorgânica, como cobre, alumínio, mercúrio, chumbo e outros metais pesados. Equipamentos com plug de tomada ou uma bateria, eletrônicos antigos ou que já não possuem sua utilidade original são considerados e-lixo. Na composição química desses aparelhos existem substâncias altamente tóxicas e a decomposição pode trazer muitos danos à saúde humana.

Segundo o estudo uma nova Visão Circular para Eletrônicos – Hora de um Reinício Global, publicado em janeiro de 2019, o Brasil é um dos 11 principais destinos no mundo de materiais eletrônicos descartados.

Nos Estados Unidos e Canadá, cada pessoa produz uma média de 20 quilos de lixo eletrônico em um ano. Na União Europeia, a quantidade cai um pouco para 17,7 kg. No entanto, o 1,2 bilhão de habitantes do continente africano gera 1,9 kg de lixo eletrônico.

A estimativa é de que o mundo produza cerca de 50 milhões de toneladas de e-lixo por ano.

O que você faz com os seus equipamentos eletrônicos fora de uso?

Veja como descartar ou reciclar produtos de algumas das principais marcas de eletrônicos:

APPLE

A Apple conta com um canal para descarte de seus produtos no Brasil, basta seguir o passo a passo disponível no site.

SAMSUNG

A sul-coreana Samsung possui um programa de reciclagem que oferece urnas de coleta localizadas nas assistências técnicas autorizadas ou nas lojas próprias espalhadas pelo país. Confira no site mais informações sobre o programa.

MOTOROLA

A empresa conta com um programa de coleta de baterias usadas desde 1998. Em 2007, o programa expandiu para um sistema de coleta de baterias e equipamentos da marca. Veja mais e descubra no site as lojas e assistências técnicas.

LG

O programa Coleta Inteligente da LG abrange toda a linha de eletrônicos e eletrodomésticos, como computadores, celulares, mini-systems e geladeiras da marca LG Electronics. Consulte os postos de coleta.

DELL

A Dell possui um programa com uma variedade de opções para reciclagem de aparelhos. Oferecendo a oportunidade de reciclar seu produto Dell indesejado gratuitamente. Saiba tudo no site.

ACER

A Acer atua com responsabilidade ambiental disponibilizando ao cliente um canal especifico para auxiliar na reciclagem e no descarte corretos dos equipamentos da marca. Descubra os canais de contato.

Como apaixonados por tecnologia e consumidores, nossa missão é ficar atento com o descarte correto dos materiais eletrônicos. Hoje é fácil encontrar lojas de informática e pontos que recolhem os itens usados para o descarte apropriado, basta dar um google. A responsabilidade de garantir que esses equipamentos não sigam para lixões comuns junto com resíduos diários é toda nossa.

SAIBA MAIS: CULTURA DO ENGAJAMENTO – APOSTE NA INTEGRAÇÃO COM SUA EQUIPE DE TI

SOBRE O DIA MUNDIAL DO MEIO AMBIENTE

O Dia Mundial do Meio Ambiente, 5 de junho, é a principal data das Nações Unidas para promover ações ambientais e sensibilizar a comunidade global sobre a necessidade de proteger o planeta. Criada em 1974, a data cresceu e se tornou uma plataforma global para a divulgação de ações públicas pelo meio ambiente em mais de 100 países.

A Colômbia sediará o Dia Mundial do Meio Ambiente com eventos online e ao vivo transmitidos de Bogotá. Além disso, serão realizados outros eventos e celebrações online pelo mundo.

BIODIVERSIDADE

O tema do Dia Mundial do Meio Ambiente 2020 é biodiversidade. A campanha #HoraDaNatureza é um apelo à ação global para combater a crescente perda de espécies e a degradação ambiental, além de chamar a atenção para a relação entre a saúde humana e a saúde do planeta.

Clique aqui e saiba como acompanhar as ações.

*Artigo escrito por Bruna Lucas Tamagno, Especialista em Marketing na Kbase.

Apps com React Native ou desenvolvimento nativo: qual a escolha ideal?

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

Vamos iniciar entendendo o que é cada um. O desenvolvimento nativo é aquele que visa criar um software/aplicativo para uma plataforma específica, como IOS, Android ou Windows. Já o “React Native” é um framework criado pelo Facebook, utilizado para o desenvolvimento mobile, com intuito de acelerar o tempo de construção de uma solução. Mas antes de desenvolver aplicações mobile é preciso entender que cada plataforma, iOs ou Android, possui especificidades que vão desde a linguagem até sua arquitetura. É por isso que os códigos multiplataformas foram implementados e trouxeram a possibilidade de desenvolver apps com React Native. 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

Usabilidade e produtividade em TI: como gerar ganhos para seu negócio

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

Não é de hoje que temos diversos problemas referentes à usabilidade e produtividade em TI relacionadas aos principais ERP’s do mercado. São várias telas para executar a mesma função e muito retrabalho gerado por causa disso. Sem falar na base de conhecimento limitada aos profissionais alocados em determinadas tarefas. Ler Mais

Linguagem Javascript: a grande mudança que veio com o ES6

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

A linguagem JavaScript, que há muito tempo era apenas uma forma de adicionar comportamentos bonitinhos em uma página, hoje em dia domina a web. Com esse sucesso, muitos frameworks foram lançados para permitir que utilizássemos JavaScript não apenas no front, mas também no back e em aplicações mobile.  Embora seja importante aprender esses frameworks, a nossa base (a sintaxe do JavaScript) deve receber ainda mais foco, pois é ela que dá sustentação para construirmos soluções inteligentes e performáticas para nossos problemas. Independente do framework escolhido. 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

Endomarketing digital: sua intranet pode estar em um aplicativo

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

É fato: os brasileiros passam mais de 9 horas do seu tempo todos os dias navegando pela internet. É bem provável que isso aconteça enquanto estão no ambiente de trabalho. Então, que tal trazer toda essa popularidade da rede para o dia a dia da sua empresa? E ainda aproveitar melhor o tempo dos colaboradores? Sabe como isso é possível? Com o uso de aplicativos para desenvolver o endomarketing digital. Ler Mais

JavaScript: uma linguagem de alto nível para desenvolvimento web

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

Conhecida e renomada, JavaScript é uma linguagem de programação utilizada para desenvolvimento Web. Por ser simples, dinâmica e executável no navegador, tornou-se uma das linguagens mais utilizadas no mundo. Assim, com aumento de sua popularidade, novos frameworks e ferramentas para sua utilização surgiram. Isso realçou suas funcionalidades e possibilitou que fosse utilizada tanto no back-end quanto no front-end. Ler Mais