P07: Desarrollo y Gestión de Instancias de Articulación, Coordinación y Análisis Técnico ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. needuml:: :scale: 50 {%- macro node(id, slim=False) -%} "{{needs[id].title}}", {% if not slim %}"{{ needs[id].content.split('\n') | first }}", {% endif %}$link="{{ref(id) | replace('[', '') | replace(']', '')}}" {%- endmacro -%} @startuml scale 0.7 !include !include title Diagrama de Contenedores - P07: Desarrollo y Gestión de Instancias de Articulación, Coordinación y Análisis Técnico System_Boundary(SIGRID, {{ node('ITRENDCL-SIGRID-SYS-SIGRID', slim=True) }}) { Container_Boundary(DOM_EC, {{ node('ITRENDCL-SIGRID-DOM-EC', slim=True) }}) { Container(SRV_EC_API, {{ node('ITRENDCL-SIGRID-SRV-EC-API') }}) } Container_Boundary(DOM_COM, {{ node('ITRENDCL-SIGRID-DOM-COM', slim=True) }}) { ContainerDb(DB_COM_BROKER, {{ node('ITRENDCL-SIGRID-DB-COM-BROKER') }}) } Container_Boundary(DOM_GIS, {{ node('ITRENDCL-SIGRID-DOM-GIS', slim=True) }}) { Container(SRV_GIS_WEBMAPS, {{ node('ITRENDCL-SIGRID-SRV-GIS-WEBMAPS') }}) ContainerDb(DB_GIS, {{ node('ITRENDCL-SIGRID-DB-GIS') }}) } Container_Boundary(DOM_ANALYSIS, {{ node('ITRENDCL-SIGRID-DOM-ANALYSIS', slim=True) }}) { Container(SRV_ANALYSIS_INGEST, {{ node('ITRENDCL-SIGRID-SRV-ANALYSIS-INGEST') }}) Container(SRV_ANALYSIS_ETL, {{ node('ITRENDCL-SIGRID-SRV-ANALYSIS-ETL') }}) Container(SRV_ANALYSIS_RESOURCES, {{ node('ITRENDCL-SIGRID-SRV-ANALYSIS-RESOURCES') }}) Container(SRV_ANALYSIS_STATS, {{ node('ITRENDCL-SIGRID-SRV-ANALYSIS-STATS') }}) ContainerDb(DB_ANALYSIS, {{ node('ITRENDCL-SIGRID-DB-ANALYSIS') }}) } Container_Boundary(DOM_PLANS, {{ node('ITRENDCL-SIGRID-DOM-PLANS', slim=True) }}) { Container(SRV_PLANS_COMPLIANCE, {{ node('ITRENDCL-SIGRID-SRV-PLANS-COMPLIANCE') }}) Container(SRV_PLANS_ORCH, {{ node('ITRENDCL-SIGRID-SRV-PLANS-ORCH') }}) ContainerDb(DB_PLANS_FS, {{ node('ITRENDCL-SIGRID-DB-PLANS-FS') }}) ContainerDb(DB_PLANS, {{ node('ITRENDCL-SIGRID-DB-PLANS') }}) } Container_Boundary(DOM_EMG, {{ node('ITRENDCL-SIGRID-DOM-EMG', slim=True) }}) { Container(SRV_EMG_ORCH, {{ node('ITRENDCL-SIGRID-SRV-EMG-ORCH') }}) Container(SRV_EMG_DOCFMT, {{ node('ITRENDCL-SIGRID-SRV-EMG-DOCFMT') }}) Boundary(DOM_EMG_APPS, "") { Container(SRV_EMG_INFHISTORY, {{ node('ITRENDCL-SIGRID-SRV-EMG-INFHISTORY') }}) Container(SRV_EMG_KNOWLEDGE, {{ node('ITRENDCL-SIGRID-SRV-EMG-KNOWLEDGE') }}) } ContainerDb(DB_EMG, {{ node('ITRENDCL-SIGRID-DB-EMG') }}) ContainerDb(DB_EMG_FS, {{ node('ITRENDCL-SIGRID-DB-EMG-FS') }}) } Container_Boundary(DOM_AUDIT, {{ node('ITRENDCL-SIGRID-DOM-AUDIT', slim=True) }}) { Container(SRV_AUDIT_PROC, {{ node('ITRENDCL-SIGRID-SRV-AUDIT-PROC') }}) ContainerDb(DB_AUDIT_TRACE, {{ node('ITRENDCL-SIGRID-DB-AUDIT-TRACE') }}) } } Rel(SRV_GIS_WEBMAPS,DB_GIS, "consulta/guarda") Rel(SRV_GIS_WEBMAPS, DB_COM_BROKER, "consume") Rel(SRV_PLANS_COMPLIANCE,DB_PLANS, "consulta/guarda") Rel(SRV_PLANS_COMPLIANCE,DB_PLANS_FS, "consulta/guarda") Rel(SRV_PLANS_ORCH,DB_PLANS, "consulta/guarda") Rel(SRV_PLANS_ORCH,DB_PLANS_FS, "consulta/guarda") Rel(DB_ANALYSIS,SRV_ANALYSIS_RESOURCES, "gatilla", "API") Rel(DB_ANALYSIS,SRV_ANALYSIS_STATS, "gatilla", "API") Rel(SRV_ANALYSIS_ETL,DB_ANALYSIS, "guarda") Rel(SRV_ANALYSIS_INGEST,SRV_ANALYSIS_ETL, "gatilla", "API") Rel(SRV_EC_API, SRV_EMG_ORCH, "expone", "API") Rel(SRV_EC_API, SRV_ANALYSIS_INGEST, "expone", "API") Rel(SRV_EC_API, SRV_PLANS_ORCH, "expone", "API") Rel(SRV_AUDIT_PROC,DB_AUDIT_TRACE, "guarda") Rel(SRV_EMG_ORCH, SRV_EMG_INFHISTORY, "expone", "API") Rel(SRV_EMG_ORCH, SRV_EMG_KNOWLEDGE, "expone", "API") Rel(SRV_EMG_ORCH, SRV_EMG_INFHISTORY, "expone", "API") Rel(SRV_EMG_ORCH, SRV_EMG_KNOWLEDGE, "expone", "API") Rel(SRV_EMG_ORCH, DB_COM_BROKER, "publica") Rel(DOM_EMG_APPS, SRV_EMG_DOCFMT, "usa", "API") Rel(DOM_EMG_APPS, DB_EMG, "consulta/guarda") Rel(DOM_EMG_APPS, DB_EMG_FS, "consulta/guarda") SHOW_LEGEND() @enduml