Arquitetura de software
A plataforma Devprime oferece uma abordagem moderna para a arquitetura de software, permitindo acelerar a implementação de projetos de software modernos ao padronizar o desenvolvimento, a manutenibilidade, o reuso e a testabilidade. Isso possibilita o desenvolvimento de aplicações de alto desempenho e alta escalabilidade.
A plataforma Devprime oferece uma estratégia moderna e evolutiva de arquitetura de software, baseada em práticas de mercado como: arquitetura hexagonal, arquitetura orientada a eventos, Domain Driven Design e comunicação assíncrona.
Os desenvolvedores de software utilizam a plataforma Devprime para aumentar a produtividade e padronizar o desenvolvimento em todos os novos projetos, acelerando o tempo de lançamento no mercado e a escalabilidade da equipe ao adotarem as principais tecnologias e práticas modernas de desenvolvimento de software.
Abordagem moderna de arquitetura do software
Ao adotar a estratégia da plataforma Devprime, é possível economizar semanas de trabalho e obter um projeto moderno em questão de segundos. Esse projeto é componentizado e desacoplado, o que simplifica a integração de novos desenvolvedores e facilita a transição entre diferentes projetos.
A arquitetura organiza os componentes tecnológicos nos projetos de Adapters, utilizando aceleradores e comportamentos inteligentes fornecidos pela Devprime Stack. Além disso, separa os comportamentos de negócios em um projeto isolado baseado na Devprime Domain, visando simplificar a manutenção, evolução e os testes.
Padronização e alta produtividade no desenvolvimento de software
O diagrama de arquitetura a seguir demonstra de maneira técnica a separação tecnológica e padronizada para todos os projetos modernos de microsserviços desenvolvidos utilizando a tecnologia da Devprime. Neste diagrama, é possível observar os componentes tecnológicos, as regras de negócio e os testes unitários.
Previsibilidade no fluxo de processos
A plataforma Devprime estabelece um fluxo previsível por meio de uma arquitetura de software moderna, que contribui significativamente para a produtividade do desenvolvedor e para a governança da arquitetura.
Acompanhe o detalhamento do fluxo de processos:
-
Chegada de Eventos: Os eventos chegam ao microsserviço de diferentes fontes, como requests HTTP, gRPC, GraphQL e Stream. Esses eventos podem representar solicitações, atualizações de dados, notificações e muito mais.
-
Serviço de Aplicação: Os eventos são direcionados para um serviço de aplicação, que é responsável por coordenar o fluxo de processos. O serviço de aplicação determina como o evento deve ser tratado e para qual regra de negócio deve ser encaminhado (Aggregate Root/Domain Services).
-
Regra de Negócio e Aggregate Root: O Aggregate Root é uma parte essencial do domínio que encapsula a lógica de negócios e mantém a consistência dos dados relacionados.
-
Processamento de Negócio: A regra de negócio em um Aggregate Root processa o evento de acordo com a lógica de negócio específica da aplicação. Isso pode envolver cálculos, validações, atualizações de dados e muito mais.
-
Emissão de Evento de Domínio: Após o processamento de negócio, o Aggregate Root emite um evento de domínio. Esse evento notifica que um fato de negócio importante aconteceu na aplicação.
-
Event Handler: O Event Handler entra em ação para lidar com o evento de domínio. Dentro do Event Handler, são realizadas várias ações, incluindo a integração com outros Adapters:
-
State: Para persistência de dados em um banco de dados, armazenamento ou cache. Isso garante que os dados sejam armazenados de forma segura e durável.
-
Stream: Para a emissão de eventos em uma fila ou tópico. Isso permite que outros microsserviços ou componentes da aplicação reajam a eventos importantes.
-
Services: Para a comunicação com APIs externas. Isso possibilita a integração com serviços de terceiros, como autenticação, envio de e-mails, processamento de pagamentos, entre outros.
Essa abordagem de fluxo de processos previsível e organizado contribui significativamente para manter a governança da arquitetura. Ela torna a aplicação mais fácil de compreender, testar, dimensionar e manter, ao mesmo tempo em que preserva o isolamento de cada comportamento, separando, por exemplo, as regras de negócio da camada tecnológica.
Além disso, possibilita uma maior flexibilidade e adaptabilidade da aplicação, uma vez que cada parte do processo pode ser isolada e substituída de forma independente, facilitando a evolução contínua da aplicação ao longo do tempo.
O Devprime Pipeline é um orquestrador do fluxo de execução disponível em aplicações baseadas na plataforma Devprime. Ele isola cada processo dentro de um contexto e oferece automaticamente tratamento de exceções, observabilidade (log, trace, metrics) e controle transacional.
A plataforma Devprime disponibiliza uma estratégia de arquitetura de software moderna, e o projeto App é o projeto de início da aplicação, permitindo a conectividade com outros componentes da arquitetura.
Última modificação September 5, 2023 (287c71a5)