Atualmente, ter a capacidade de desenvolver aplicações robustas em microsserviços é um diferencial competitivo. A busca por eficiência e inovação tem se tornado cada dia mais essencial. Em um ambiente empresarial dinâmico, alcançar a excelência no desenvolvimento de software não depende apenas de uma equipe talentosa; mas também demanda ferramentas que facilitem a integração de atividades e promovam a padronização nos processos de criação de sistemas.
É nesse cenário desafiador que surge uma solução: A.R.Lepton. Ela foi criada com o propósito de simplificar o desenvolvimento em microsserviços, permitindo desenvolver rapidamente aplicações robustas. Com uma interface gráfica amigável, permite que equipes de desenvolvimento construam aplicações em poucos instantes, mantendo a integridade dos padrões de arquitetura de software. Além disso oferece uma stack de desenvolvimento e um pipeline de DevOps customizados, ajustados às necessidades específicas de cada projeto. Tudo isso porque desenvolver em microsserviços não precisa ser complicado.
Prossiga com a leitura do nosso artigo e conheça tudo o que a Plataforma A.R.Lepton, seu ecossistema e os benefícios que ela pode oferecer.
Desafios do cenário de TI
Primeiramente é importante falar sobre os desafios que a Tecnologia da Informação (TI) enfrenta atualmente. Estes são caracterizados pela crescente complexidade e constante necessidade de eficiência. Essa dinâmica é acentuada pela pressão por entregas rápidas, visto que a incapacidade de acelerar o desenvolvimento pode não apenas resultar na perda de oportunidades de negócios, mas também em obstáculos significativos para se adaptar às diversas demandas do mercado.
É possível destacar também a importância de conciliar o esforço técnico com uma compreensão aprofundada da verba do cliente. Posto que os desafios comuns no processo de desenvolvimento incluem a falta de visão da criticidade do sistema a ser construído, reuniões preliminares realizadas sem uma compreensão robusta da infraestrutura do cliente e custos associados às horas dedicadas a casos de uso reaproveitáveis entre projetos.
Finalmente, temos o desafio de buscar profissionais qualificados. Essa demanda tem se tornado um obstáculo significativo, limitando a capacidade das empresas em responder de maneira ágil e eficaz às crescentes necessidades de desenvolvimento.
Portanto, considerando todo esse cenário, é fundamental que as empresas consigam encontrar soluções inovadoras e eficientes que permitam a superação dos desafios de TI.
Sobre a Plataforma A.R.Lepton
A solução A.R.Lepton foi desenvolvida pela equipe A.R.Phoenix e representa uma revolução para os desenvolvedores que precisam utilizar tecnologias modernas e atuais. Ela foi projetada para simplificar a construção de aplicações robustas em microsserviços, a fim de oferecer uma abordagem ágil e eficiente para o desenvolvimento de soluções tecnológicas.
Principais recursos
- Construção em microsserviços
Permite que os desenvolvedores utilizem tecnologias modernas do mercado para criar aplicações robustas e escaláveis.
- Dashboards de gestão poderosos
Apresenta dashboards intuitivos que facilitam o gerenciamento eficiente das aplicações desenvolvidas na plataforma.
- Autorrecuperação inteligente
Incorpora um sistema de autorrecuperação inteligente das aplicações, proporcionando assim confiabilidade e resiliência ao ambiente de desenvolvimento.
Principais benefícios
- Agilidade no desenvolvimento
Agiliza o processo de construção de aplicações em microsserviços. Assim sendo, os desenvolvedores podem focar na inovação, sem perder tempo com complexidades operacionais.
- Simplicidade e eficiência
Oferece um ambiente de desenvolvimento simples e eficiente, com o intuito de proporcionar uma experiência fluida para os desenvolvedores.
- Confiança e Resiliência
Garante a confiança e resiliência das aplicações, reduzindo o impacto de possíveis falhas, com o sistema de autorrecuperação inteligente.
Como destaca Robert Cecil Martin, mais conhecido como Uncle Bob, uma figura proeminente na comunidade de desenvolvimento e um dos mentores do Manifesto Ágil de 2001, o maior desafio no desenvolvimento de software está na manutenção. Em outras palavras, um código bem escrito desde sua primeira versão pode funcionar de forma eficaz, evitando prejuízos significativos.
Em resumo, a plataforma A.R.Lepton, capacita a equipe de desenvolvimento no enfrentamento dos desafios da construção de aplicações em microsserviços. Assim sendo, com um simples clicar no botão “Gerar”, o projeto é criado e configurado automaticamente, permitindo que se inicie o desenvolvimento da lógica de negócio. Além disso, existe a versatilidade de poder importar o projeto para qualquer IDE de sua preferência, como STS, Eclipse ou IntelliJ.
Vamos para a demonstração da plataforma!
A.R.Lepton e suas funcionalidades
O A.R.Lepton permite criar um sistema completo com interface web e microsserviço. Ele seguirá um padrão que incorpora algumas técnicas, por exemplo: Clean Code, Clean Architecture e outras boas práticas de desenvolvimento, conforme definido pela arquitetura.
Em sua tela principal, é possível determinar qual tipo de projeto em Springboot deseja construir, e, até mesmo gerar um sistema web em React.
Vamos ver como?
Nesta versão do A.R.Lepton utilizaremos o Maven como gerenciador de dependência, sendo assim, os primeiros dados preenchidos serão o Group ID, Artifact ID e Version.
Figura 1 – Informações Básicas
Na aba seguinte deve-se informar qual o tipo de projeto será criado. Existem 3 tipos de projetos que poderão ser gerados, são eles:
FullStack – Neste será gerado um projeto completo, de acordo com as configurações preenchidas, com Springboot e React. Contempla um escopo de soluções reutilizáveis para inúmeras solicitações de clientes, como: tela de login, cadastro de usuários, configuração de permissões de perfis e funcionalidades, envio de e-mails, autenticação 2FA, entre outros.
Padrão – Será gerado um projeto Springboot de acordo com as configurações preenchidas. Um exemplo de CRUD completo utilizando as boas práticas de desenvolvimento, sem nenhum protocolo de segurança e autenticação adicionados.
OAuth2 – Neste tipo, também será gerado um projeto Springboot de acordo com as configurações preenchidas. Um exemplo de CRUD completo utilizando as boas práticas de desenvolvimento, com o protocolo de autorização oAuth2 configurado. Desse modo permite que uma aplicação se autentique em outra através de um token de segurança.
Figura 2 – Tipos de Projetos
Projeto FullStack
Proposta
Este modelo surgiu para resolver alguns grandes problemas recorrentes no início de um projeto.
Reduzir o custo do desenvolvimento, repassado para o cliente, em casos de usos recorrentes. Tais como: login, logout, cadastro de usuário, esqueci a senha, primeiro acesso, envio de token por e-mail, autenticação de 2 fatores, além de controle de permissões de perfis de usuários em funcionalidades. Todos estes casos de usos já estarão prontos para uso após realizar o download pelo A.R.Lepton Generator.
Entrega rápida de um produto agregado ao cliente, isso já na primeira semana de Sprint. Como resultado, será possível realizar entrega para a equipe de DevOps, que poderá subir no cluster de DEV, QA, acelerando os testes integrados do usuário.
Escolher templates web pré-definidos, reduzindo o custo sem a necessidade de uma etapa de UX. Para isso utiliza a tecnologia de mercado como o Material UI para desenvolver os templates. Entretanto, caso seja necessário atender aos padrões de cores de um cliente, uma simples configuração em CSS poderá ser realizada.
Desenvolver casos de uso específicos de negócio a partir da primeira semana de trabalho. Sem dúvida, considerando a experiência vivenciada com a plataforma, todo o time ganha aproximadamente 2 semanas de trabalho. De modo que há uma redução significativa de custos.
Configurações iniciais
Ao definir o que será utilizado neste modelo, algumas opções serão abertas para a inclusão de informações, são elas:
- E-mail Administrador: O primeiro usuário do sistema, associado ao perfil “admin” com acesso a todas as funcionalidades. Ao subir a aplicação, este usuário receberá um e-mail em sua caixa de mensagem, com sua senha criptografada. Como resultado, a partir desse momento está tudo pronto para entrar no sistema.
- Timezone: Define-se o fuso horário utilizado como referência.
- Expiração do Token (segundos): Tempo que o sistema utilizará para expirar o token de um usuário logado no sistema.
- Expiração do Refresh Token (segundos): Tempo em segundos que o sistema utilizará para expirar o token do refresh.
Características gerais do projeto FullStack
Neste modelo, um sistema completo é implementado, incluindo um algoritmo próprio de segurança para geração de Token. Além disso usa criptografia e proteção de endpoints via Request Header.
Projeto Backend Padrão
Proposta
A ideia deste modelo surgiu com o mesmo propósito do Spring Initializr, embora gere um projeto somado a todas as configurações escolhidas na interface gráfica do A.R.Lepton Generator. Um projeto Springboot é gerado usando boas práticas, exemplo de CRUD pronto com tudo configurado, bastando apenas subir a aplicação.
Característica geral do projeto Backend Padrão
Este modelo gera um projeto sem segurança, para quem desejar desta forma.
Projeto Backend OAuth2
Proposta
Como no modelo anterior, esse tipo também surgiu com o propósito do Spring Initializr, embora, gerando um projeto somado a todas as configurações escolhidas na interface gráfica do A.R.Lepton Generator. Um projeto Springboot é gerado usando boas práticas, exemplo de CRUD pronto com tudo configurado, além de utilizar um algoritmo de autorização determinado pelo usuário, como pode ser visto na imagem abaixo.
Na aba seguinte é necessário informar qual Container e porta será utilizada.
Na próxima aba é possível escolher qual Banco de Dados, Cache, NoSql, Mensageria, Swagger e Multitenancy* quer que o projeto seja configurado.
Aqui algumas opções foram disponibilizadas pelo time de arquitetura, confira as opções em:
Database:
- Oracle
- PostgreSQL
- MySQL
Cache:
- Redis
- Caffeine
NoSQL:
- MongoDB
Mensageria:
- Kafka
- RabbitMQ
- Documentação de API com Swagger.
- *Multitenancy – quando escolher o tipo de projeto FullStack.
Multitenancy
O termo multi-tenancy é aplicado ao desenvolvimento de software, a fim de indicar a arquitetura na qual, uma única instância em execução da aplicação atende simultaneamente a vários clientes. Essa arquitetura é muito comum em soluções Saas (Software as a Service) para o isolamento dos dados do cliente.
Logo que esta opção é escolhida, 2 campos serão abertos para a incluir informações, são eles:
- Tenant
Neste campo é possível definir o primeiro tenant (cliente) a ser utilizado, como por exemplo, o domínio “arphoenix.com.br”.
O projeto gerado pelo A.R.Lepton Generator criará uma funcionalidade para gerenciamento dos tenants, como resultado, ela poderá ser manuseada pelo perfil admin.
- Tipo de Estratégia
Assim também, neste segundo campo é possível definir qual estratégia será usada para o multitenancy, Schema ou Database.
Database: Cada tenant tem seu próprio banco de dados isolado dos outros tenants.
Schema: Banco de dados compartilhado, separado por schema. Cada tenant tem um schema dentro de um banco de dados compartilhado entre os tenants.
CORS
Esta próxima aba foi desenvolvida para solucionar o problema de comunicação entre frontend x Backend, o CORS.
Fazendo uso desta interface, é possível adicionar todas as origens necessárias para acessar o microservice. de tal forma que o projeto que vai configurar automaticamente as urls passadas no application.YML
SMTP
A configuração dos dados de SMTP são realizados neste quadro.
Estes dados são obrigatórios quando se utiliza o modelo Projeto FullStack, pois os envios de e-mails de criação de usuário e esqueci minha senha estarão funcionando.
Keycloak
Nesta aba é possível configurar o Realm, URL, Cliente ID e Client Secret do Keycloak.
Docker
Se acaso possua um Docker Registry, será possível informar nesta seção, junto com o Docker Namespace.
Kubernetes
Caso possua um cluster Kubernetes, poderá informar nesta seção e o projeto vai se configurar automaticamente com as informações passadas.
Gerando Microsserviços
Após configurar o projeto, finalmente chegou a hora de gerar o microservice clicando no botão gerar. Caso o tipo de projeto escolhido seja o FullStack, iniciará o download do template em React juntamente com o Backend em Springboot.
E neste momento basta subir o Backend localmente, ele vai receber o path “http://localhost:8080/” (a porta que digitou) e no frontend alterar o arquivo .ENV para informar o path do Backend.
Pronto! Sistema local funcionando.
Benefícios do A.R.Lepton
- Agilidade
Todo projeto gerado pela plataforma é impulsionado por uma ampla gama de scripts que facilitam a implantação instantânea no ambiente Cloud da Microsoft. Portanto, desde o momento inicial até a execução no ambiente desejado, o processo é ágil e eficiente.
- Velocidade
Um projeto A.R.Lepton é cuidadosamente curado com ferramentas que possibilitam integração e execução imediata, dessa maneira é possível eliminar a necessidade de configurações iniciais demoradas.
- Padronização
Ao incorporar boas práticas, os projetos desenvolvidos seguem estruturas padronizadas. Por certo esta ação acelera o desenvolvimento, além de assegurar um nível elevado de manutenção no futuro, garantindo a consistência e a eficácia contínua.
- Baixa curva de aprendizado
Apesar de envolver diversas tecnologias, a plataforma foi idealizada para garantir uma baixa curva de aprendizado e um ambiente inclusivo, com acessibilidade. Sendo assim, os desenvolvedores menos experientes se adaptam rapidamente e utilizam a ferramenta de forma eficaz. Enquanto atendem às necessidades do negócio, continuam a evoluir profissionalmente.
Porque escolher o A.R.Lepton
O A.R.Lepton é um produto que não somente atende, mas redefine as expectativas, permitindo que as empresas enfrentem os desafios do desenvolvimento de maneira ágil e eficaz. A plataforma é a solução completa para desenvolver aplicações robustas em microsserviços, com confiança.
Certamente que ao adotar esse produto no seu negócio, sua equipe ganha a agilidade necessária para enfrentar os desafios da era digital, acelerando o processo de construção e manutenção de aplicações. A partir de uma interface gráfica amigável permite que equipes construam aplicações em poucos instantes, respeitando os padrões de arquitetura de software e integrando-se perfeitamente a stacks de desenvolvimento e pipelines de DevOps personalizadas.
Sendo assim, prepare-se para uma jornada de desenvolvimento simplificada e eficiente, onde a inovação encontra a padronização e impulsione sua empresa já!
Fale agora mesmo com um de nossos especialistas Clique aqui