Stack

O Devprime® Stack oferece componentes com comportamentos inteligentes, estabelecendo uma base sólida para o software e acelerando a modernização das aplicações.

A tecnologia é baseada no padrão em SOLID, Clean Code, Hexagonal Architecture e em Event-Driven Architecture, proporcionando o desacoplamento, testabilidade e redução de custos com manutenção, além de uma série de recursos disponibilizados por meio dos Adapters.

As camadas Domain e Application concentram-se nas regras de negócio e na exposição pelo serviço de aplicação, proporcionando um comportamento previsível pela utilização da abordagem de Domain Driven Design (DDD) e a sua transformação em código fonte com classes nativas do Devprime Foundation. O projeto de Domain compila e funciona independente dos demais projetos com o objetivo de garantir a manutenibilidade e testabilidade.

O Devprime® Pipeline é responsável pela integração do código do desenvolvedor com a plataforma Devprime® e serviços relacionados como Resilience, Retry e Circuit break que são executados em um cenário de falha no fluxo de execução da aplicação, logs automáticos, tratamentos de erros e demais recursos do Devprime®.

Os adapters oferecem um conjunto de serviços para a fundação do software (Web, Security, Observability, Heath Check, Services, Stream, State e App Center) e são responsáveis pelos aspectos de tecnologia oferecendo aceleradores com inteligência e comportamento autônomo conforme o detalhamento abaixo:

Adapter de Web
Esse recurso disponibiliza a exposição de API’s, Web Views e arquivos estáticos com suporte a comunicação por gRPC, HTTP, GraphQL. As API’s seguem a especificação OpenAPI (OpenAPI Specification) sendo expostas usando o padrão do Swagger e prontas para integração direta com API Gateway de preferência.

Adapter de Security
Esse recurso oferece suporte aos protocolos Open ID e OAuth 2 garantindo segurança na exposição das APIs e comunicação interna entre os microsserviço, tornando transparente a integração com os provedores de identidade como Identity Server, Azure AD, Amazon Cognito.

Adapter de Observability
Esse recurso oferece suporte automático nos três pilares Logs, Tracing e Metrics utilizados pelas equipes de Site Reliability Engineering (SRE). O Logs são estruturados para serem facilmente indexados em ferramentas como o ELK (Elasticsearch, Logstash e Kibana). O Trace segue o padrão de Distributed Tracing / Open Telemetry, permitindo a visualização em ferramentas como Jaeger e outras. Também é possível a disponibilização de métricas customizadas para apoio ao negócio no formato do Prometheus.

Adapter de Health Check
Esse recurso verifica a disponibilidade da aplicação, permitindo que os orquestradores de containers como o Kubernetes possam monitorar a saúde do container e reiniciar, caso necessário.

Adapter de Services
Esse recurso simplifica a comunicação com serviços externos utilizando os padrões gRPC, HTTP ou GraphQL facilitando o trabalho das pessoas desenvolvedoras de software com suporte a rotinas automáticas de Retry e Circuit Break, evitando que falhas nas integrações prejudiquem a aplicação agregando resiliência dos processos, padronização e o melhor uso do recurso.

Adapter de Stream
Esse recurso disponibiliza suporte aos principais serviços de Stream para emissão e recebimento de eventos com as principais tecnologias do mercado, como o Kafka, RabbitMQ, Azure Service BUS, AWS SQS e mecanismos automáticos de Retry, Circuit Break e Reliency que entram em ação caso ocorram falhas. Para a utilização não é necessário implementações adicionais, bastando alterar as configurações e escolher o Stream de preferência.

Adapter de State
Esse recurso suporta abordagens modernas para persistência seguindo o conceito “Polyglot persistence” como SQLServer, MongoDB, Redis e outros. A pessoa desenvolvedora de software poderá optar por utilizar código nativo de banco de dados, EF (Entity Framework) ou Dapper. As rotinas de Retry e Circuit Break são acionadas automaticamente em caso de falhas.

Adapter AppCenter
Esse recurso disponibiliza uma integração com o Devprime AppCenter para obter informações dos microsserviço, alterar configurações distribuídas em real-time e estatísticas das aplicações.

Última modificação August 29, 2023 (56bff1ee)