Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.
Comentarios: Converted OnPrem diagrams to Lucidchart

Subdirección de las Tecnologías de la Información y Comunicaciones

Área de Gobernanza y Calidad


Table Excerpt Include
statictrue
copytabletrue
nameVERSION_ARQ_TEC_REF_CONT
merge-tablestrue
pageArq-tec-ref-toc
typepage


Tabla de contenidos
maxLevel5
indent20px
exclude.*(Versión Actual|Cumplimiento Normativo|Histórico de cambios)

Cumplimiento Normativo

Advertencia
titleCumplimiento Normativo

Las normas expuestas son de obligado cumplimiento. La STIC podrá estudiar los casos excepcionales los cuales serán gestionados a través de los responsables del proyecto correspondiente y autorizados por el Área de Gobernanza de la STIC. Asimismo cualquier aspecto no recogido en estas normas deberá regirse en primera instancia por las guías técnicas correspondientes al esquema nacional de seguridad y esquema nacional de interoperabilidad según correspondencia y en su defecto a los marcos normativos y de desarrollo software establecidos por la Junta de Andalucía, debiendo ser puesto de manifiesto ante la STIC.

La STIC se reserva el derecho a la modificación de la norma sin previo aviso, tras lo cual, notificará del cambio a los actores implicados para su adopción inmediata según la planificación de cada proyecto.

En el caso de que algún actor considere conveniente y/o necesario el incumplimiento de alguna de las normas y/o recomendaciones, deberá aportar previamente la correspondiente justificación fehaciente documentada de la solución alternativa propuesta, así como toda aquella documentación que le sea requerida por la STIC para proceder a su validación técnica.

Contacto Arquitectura: l-arquitectura.stic@juntadeandalucia.es

Histórico de cambios

Los cambios en la normativa vendrán acompañados de un registro de las modificaciones. De este modo se podrá realizar un seguimiento y consultar su evolución, ordenándose de mas recientes a menos recientes.


Expandir
titleHistórico de cambios
VersiónPre-release AdopciónActivaRetiroAlcance
v01r001/12/2019


  • Versión inicial de la normativa.
v01r01

 




  • Actualizadas las versiones de Microprofile y Jdk

1. Introducción

El uso de una arquitectura de referencia ofrece un modo de aplicar las mejores prácticas favoreciendo ámbitos como la reutilización, la interoperabilidad, rendimiento, mantenibilidad y seguridad en el diseño de soluciones software. Es por ello que se ha diseñado un modelo de arquitectura tecnológica de referencia para el desarrollo software como marco común para nuevos sistemas de información corporativos en el Servicio Andaluz de Salud, así como nuevos desarrollos sobre los sistemas existentes.


Esta arquitectura de referencia se desarrollará a partir de un conjunto de normas y guías de desarrollo en constante evolución y que seguirán un ciclo de vida iterativo e incremental con actualizaciones periódicas destacando, en el caso de normas, la identificación de pautas de obligado cumplimiento.


2. Ámbito de  aplicación

Esta arquitectura de referencia será de aplicación obligatoria(*) en los siguientes casos:

  • Desarrollo de nuevos sistemas de información corporativos.
  • Refactorización de sistemas de información existentes.
  • Evolución de sistemas de información que requieran la implementación de nuevos procesos o funcionalidades y que requiera de desarrollo en funciones "core" del sistema.


Se recomienda su aplicación:

  • Sistemas comerciales que permitan una arquitectura tecnológica flexible y alineada con este modelo de referencia.
  • Desarrollos locales con previsión de escalar a sistemas corporativos.
  • Cualquier desarrollo para implementar nuevos procesos sobre los sistemas de información existentes.


Se recomienda analizar en detalle con la unidad de Arquitectura de la STIC y particularizarla para los siguientes casos:

  • Sistemas analíticos o que gestionen grandes volúmenes de datos (**).



(*) Cualquier propuesta que difiera de esta arquitectura deberá ser aprobada por el Área de Gobernanza de la STIC, previa solicitud y justificación en su caso.

(**) En proceso de elaboración de una arquitectura de referencia para sistemas analíticos y big data.


3. Ciclo de vida de la arquitectura de referencia

Los cambios normativos dentro de la arquitectura de referencia seguirán el siguiente ciclo de vida:

  • Pre-release: Periodo durante el cual la normativa  se hace pública aunque no es necesario adherirse inmediatamente. En este periodo aún puede sufrir pequeñas correcciones.
  • Adopción: Periodo durante el cual la normativa inicia un periodo de tiempo flexible para su aplicación de forma obligatoria al ámbito en el cual está destinado.
  • Activa: Periodo durante el cual es obligatorio su cumplimiento para el ámbito en el cual está destinado.
  • Retiro: Periodo durante el cual dejará de aplicarse en el ámbito al cual está destinado en sustitución de nuevas versiones o normas.


4. Descripción de la Arquitectura Tecnológica de referencia para el desarrollo software.

4.1 Modelo conceptual

La arquitectura de referencia está estructurada en bloques de servicios que agrupa tecnologías de referencia y modelos de implementación concretos que, a modo resumido, se muestran en el siguiente diagrama:

Lucidchart
lcId2feb2f68-64f0-4489-a095-a25e26c952fd
rich-viewertrue
autoUpdatetrue
nameDescripci_n conceptual de la arquitectura de referencia contenedores - Copy - ZFu9WwT7VbBb
autofitfalse
width976
origParamseyJib3JkZXIiOiJmYWxzZSIsIiI6IiIsImF1dG9VcGRhdGUiOiJ0cnVlIiwic2l6ZSI6IjkwMCIs InNpbXBsZVZpZXdlciI6ImZhbHNlIiwiYXR0YWNobWVudElkIjoiMTI4NDU5NzM2IiwidmVyc2lv biI6IjEifQ==
convertedFromonprem
documentTokenv2_678bed3213fe66bf7a62db155203ff8c7716ab1714f4b5165c1554fcf85d26c5-a=171816341&c=d1873183-daff-4cd4-a0ef-3f5bcb960f8c&d=81598545-65c6-4523-b0d1-af606b070a36&p=
id81598545-65c6-4523-b0d1-af606b070a36
alignLeft
height610

draw.io Diagram
diagramNameDescripci_n conceptual de la arquitectura de referencia contenedores - Copy (from Lucidchart).drawio
revision1


Ilustración 1. Organización de la arquitectura tecnológica de referencia para el desarrollo software.


Bloque de serviciosDescripción
Servicios de presentaciónEste bloque de servicios aglutina los servicios de interfaz de usuario y su interacción con el sistema.
Servicios de entregaEste bloque contiene los servicios que permiten la entrega de contenidos o mediación de acceso a ellos como pueden ser API Gateway, proxy o service mesh.
Servicios de interoperabilidadEste bloque contiene los servicios de orquestación y coordinación de servicios entre diferentes aplicaciones o productos. Entre estos servicios destaca las capacidades de ESB y paso de mensajes entre aplicaciones.
Servicios de backend

Este bloque contiene los servicios que aplican reglas/lógica de negocio e intermedian en el acceso a datos en sus diferentes formas (bases de datos, ficheros, servicios web, etc.).

Servicios de persistencia
Este bloque aglutina servicios de almacenamiento persistente de la información, ya sea en sistemas de ficheros, bases de datos, u otros medios duraderos, así como persistencia temporal de la información como sistemas de cache (Memory data-grid).
Servicios de construcción y despliegueEste bloque aglutina servicios de construcción y despliegue de aplicaciones (CI/CD).
Servicios de seguridadEste bloque contiene servicios relativos a la seguridad de las aplicaciones como la autenticación, la autorización o la auditoría.
Servicio de observabilidad y trazabilidadEste bloque contiene  todos los servicios para la observabilidad y trazabilidadde la infraestructura y de la aplicación


Cada uno de estos bloques de servicios tomarán como referencia de implementación las siguientes tecnologías o frameworks. Las versiones indicadas se entenderán como versiones mínimas, admitiéndose actualizaciones superiores.


Bloque de serviciosTecnologías o frameworks de referencia

Servicios Presentación


 
WebTablet/Móvil

Servicios de Entrega

Servicio de interoperabilidad 


  • Servicios  SOAP
    • InterSystems Ensemble
  • Servicios Rest
    • Servidor de aplicaciones que aloje el servicio
  • Pub/Sub
    • Kafka
  • Estándar de comunicación →  FHIR,  HL7, CDA, CMIS
  • Formato de comunicación → JSON, XML, ER7, CBOR

* Para mayor detalle consultar la normativa de interoperabilidad

Servicios de Backend

Ancla
Servicios de Backend
Servicios de Backend

 

JAVA

.NET



Servicios de persistencia

 

Servicios de construcción y despliegue

CI → Entorno de entrega continua donde se gestiona la construcción, ejecución de test, análisis de calidad y el empaquetado de la aplicación. La herramienta utilizada es Jenkins:2.289.1

Calidad → Herramienta para evaluar la calidad del software Sonarqube:7.9

Despliegue en contenedores → Herramienta para la gestión de configuración y despliegues de la aplicación basada en contenedores Helm:3.x

Repositorio de Artefactos →  Herramienta donde se almacena y controla el versionado de los artefactos Nexus:3.16.x

Servicios de seguridad

Proveedor de identidad (IdP) compatible con OpenId 2.x.

Estándar de Seguridad →  JWT

Framework de firma para la comunicación segura entre módulos →  JOSE

Servicios de observabilidad y trazabilidad





Lucidchart
lcId8ced1c84-e4d5-43a2-9195-709fd9825987
rich-viewertrue
autoUpdatetrue
nameStack Tecnol_gico Contenedores - Copy - 5Hu973~HqS9F
autofitfalse
width986
origParamseyIiOiIiLCJzaW1wbGVWaWV3ZXIiOiJmYWxzZSIsImF1dG9VcGRhdGUiOiJ0cnVlIiwiYXR0YWNo bWVudElkIjoiMTI4NDU5NzgxIiwidmVyc2lvbiI6IjIifQ==
convertedFromonprem
documentTokenv2_e98ee5d5e95f7a7c4e7fa6fd356c24766b27c51410765cb33787e6b5a8d0932e-a=171816341&c=d1873183-daff-4cd4-a0ef-3f5bcb960f8c&d=08785163-c85f-4cf5-a37e-0cceda78b76a&p=
id08785163-c85f-4cf5-a37e-0cceda78b76a
alignLeft
height629

draw.io Diagram
diagramNameStack Tecnol_gico Contenedores - Copy (from Lucidchart).drawio
revision1

Ilustración 2. Organización del stack tecnológico de referencia para el desarrollo software.


Lucidchart
lcIdce0e84af-7379-46d4-8fa7-567f6b5ca7cf
rich-viewertrue
autoUpdatetrue
nameFlujo de entrega Contenedores - Copy - MIu9q-gp0GtZ
autofitfalse
width1032
origParamseyIiOiIiLCJzaW1wbGVWaWV3ZXIiOiJmYWxzZSIsImF1dG9VcGRhdGUiOiJ0cnVlIiwiYXR0YWNo bWVudElkIjoiMTI4NDU5Nzk2IiwidmVyc2lvbiI6IjIifQ==
convertedFromonprem
documentTokenv2_fefcba6c5f7e4dad1b2eb4a5139361e7e499e00864dde5043b6dcf3bcbbac71b-a=171816341&c=d1873183-daff-4cd4-a0ef-3f5bcb960f8c&d=71f7fc74-b8ed-4d1d-9a68-feb94a865a03&p=
id71f7fc74-b8ed-4d1d-9a68-feb94a865a03
alignLeft
height930

draw.io Diagram
diagramNameFlujo de entrega Contenedores - Copy (from Lucidchart).drawio
revision1

Ilustración 3. Flujo de entrega del software


4.2 Arquitectura de despliegue para contenedores


Lucidchart
lcId4565cb7b-2943-4437-a7d7-d3eb04116776
rich-viewertrue
autoUpdatetrue
nameModelo de Despliegue Contenedores - Copy - 6Iu9x6.BQUmM
autofitfalse
width1196
origParamseyIiOiIiLCJzaW1wbGVWaWV3ZXIiOiJmYWxzZSIsImF1dG9VcGRhdGUiOiJ0cnVlIiwiYXR0YWNo bWVudElkIjoiMTI4NDU5ODA4IiwidmVyc2lvbiI6IjIifQ==
convertedFromonprem
documentTokenv2_c0bf17dcd30f3e468eca8a88da06dffc53707f765dc942edae787294eab3a0cf-a=171816341&c=d1873183-daff-4cd4-a0ef-3f5bcb960f8c&d=3d0d8d8b-fb9b-41ac-a301-1357286cba7a&p=
id3d0d8d8b-fb9b-41ac-a301-1357286cba7a
alignLeft
height743

draw.io Diagram
diagramNameModelo de Despliegue Contenedores - Copy (from Lucidchart).drawio
revision1

Ilustración 4. Arquitectura de despliegue para contenedores

4.3 Diagrama lógico

Lucidchart
lcId0043e30d-7525-4da7-a8bd-3fc6c6243c75
rich-viewertrue
autoUpdatetrue
nameArquitectura l_gica - Copy - AJu9s0AUdXXc
autofitfalse
width2005
origParamseyIiOiIiLCJzaW1wbGVWaWV3ZXIiOiJmYWxzZSIsImF1dG9VcGRhdGUiOiJ0cnVlIiwiYXR0YWNo bWVudElkIjoiMTI4NDU5ODUwIiwidmVyc2lvbiI6IjIifQ==
convertedFromonprem
documentTokenv2_f91c7972e44d1d6da0837cc850bb85b112ee596e98c5f37e204533be898fc49c-a=171816341&c=d1873183-daff-4cd4-a0ef-3f5bcb960f8c&d=18337088-d0b1-4976-bcb7-4cf6b461760d&p=
id18337088-d0b1-4976-bcb7-4cf6b461760d
alignLeft
height1394

draw.io Diagram
diagramNameArquitectura l_gica - Copy (from Lucidchart).drawio
revision1

Ilustración 5. Arquitectura lógica

5. Desarrollo normativo de la arquitectura de referencia tecnológica para el desarrollo de software


Table Excerpt Include
nameNORMATIVA_CONT
merge-tablestrue
pageGOBP:TOC: Normativa, guías y recomendaciones
typepage

6. Guías de desarrollo


Table Excerpt Include
nameGUIA_DESA_CONT
merge-tablestrue
pageGOBP:TOC: Normativa, guías y recomendaciones
typepage