C4 Model - Fluxo de Criação de Projetos na Integração Rise, Azure DevOps e Nexus
Level 1: Context Diagram
Example :+----------------------------------+
| External System: Kafka |
| ------------------------------ |
| Consome um evento do Kafka |
| (rise_project_event) |
+----------------------------------+
|
v
+----------------------------------+
| Sistema: Rise API |
| ------------------------------ |
| Busca dados adicionais |
| sobre o projeto na API do Rise |
+----------------------------------+
|
v
+----------------------------------+
| Sistema: Azure DevOps |
| ------------------------------ |
| Cria um projeto e repositório |
| no Azure DevOps, adiciona o |
| coordenador como Owner |
+----------------------------------+
|
v
+----------------------------------+
| Sistema: Nexus |
| ------------------------------- |
| Registra o projeto no Nexus, |
| vinculando o CRM (Rise) e o |
| ALM (Azure DevOps) |
+----------------------------------+
Level 2: Container Diagram
Example :+--------------------------------+ +-------------------------------+
| Kafka | | Kafka Producer |
|--------------------------------| |-------------------------------|
| Recebe evento Rise |---> Envia eventos de status | Produz status de progresso |
| Project Event | para monitoramento | (Ex.: CreatingAzureDevOps) |
+--------------------------------+ +-------------------------------+
|
v
+--------------------------------+
| API do Rise |
|--------------------------------|
| Busca dados adicionais do |
| projeto Rise |
+--------------------------------+
|
v
+--------------------------------+ +-------------------------------+
| Serviço Azure DevOps | | Kafka Producer |
|--------------------------------| |-------------------------------|
| Cria projeto e repositório |---> Envia eventos de status | Produz status de progresso |
| Adiciona coordenador como owner| no Kafka | (Ex.: CreatingAzureDevOps) |
+--------------------------------+ +-------------------------------+
|
v
+--------------------------------+ +-------------------------------+
| Serviço Nexus Project | | Kafka Producer |
|--------------------------------| |-------------------------------|
| Registra projeto Nexus |---> Envia eventos de status | Produz status de progresso |
| Vínculo CRM e ALM | no Kafka | (Ex.: CreatedNexusProject) |
+--------------------------------+ +-------------------------------+
Level 3: Component Diagram
Example :+-------------------------------+
| Evento Rise Project Event |
|-------------------------------|
| Tipo: rise_project_event |
| Payload: |
| { ... |
| "UniqueId": "123", |
| "CurrentStatus": "Planning" |
| ... |
| } |
+-------------------------------+
|
v
+--------------------------------+ +----------------------------------------------+
| Componente: Kafka Consumer | | Componente: Kafka Producer |
|--------------------------------| |----------------------------------------------|
| Consome evento do Kafka |--->| Emite eventos de status para o Kafka |
| | | Tipo: self_registration_rise_project_tracker |
| Tipo: rise_project_event | | Status: CreatingAzureDevOps |
+--------------------------------+ +----------------------------------------------+
|
v
+--------------------------------+ +------------------------------------------+
| Componente: Azure DevOps | | Componente: Nexus Project |
|--------------------------------| |------------------------------------------|
| Cria Projeto no Azure DevOps |--->| Registra projeto no Nexus |
| Adiciona Owner | | Registra o vinculo com IDs de CRM e ALM |
+--------------------------------+ +------------------------------------------+