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.

Devprime architecture software project

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.

Devprime architecture software diagram

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:

  1. 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.

  2. 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).

  3. 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.

  4. 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.

  5. 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.

  6. 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.

Devprime process flow dia diagram


Pipeline

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.

App

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)