Contacto Dpto Arquitectura

Contacte con nosotros para cualquier duda o ayuda que necesite por nuestra parte

De igual forma, puede subscribirse a la lista de distribución "Normativa Técnica y Procesos TI" para estar informado de todas las novedades publicadas en este espacio.

Dirección General de Sistemas de Información y Comunicaciones

Área de Gobernanza y Calidad

La unidad de Arquitectura está enmarcada organizativamente en el Área de Gobernanza y Calidad y tiene como principal misión apoyar a la organización a alcanzar sus objetivos de forma eficiente y con garantía de calidad definiendo para ello normativa, guías y buenas prácticas relativas al desarrollo de software.

Somos una unidad principalmente orientada a la prestación de servicios internos y entre estos servicios se encuentran los siguientes:

  • Soporte técnico a las diferentes fases del desarrollo de software.
  • Auditoria de código de productos software.
  • Revisión de entregas de código.
  • Definición de requisitos y hoja de ruta de evolución tecnológica.
  • Elaboración de un catálogo de componentes software estructurales.
  • Definición de arquitecturas de referencia, normas, guías y buenas prácticas aplicables al desarrollo de software.


Enfoque de Arquitectura a implementar

Desde Arquitectura se busca maximizar el uso de los principios propios de la Ingeniería del Software. La separación de conceptos, reutilización de componentes, modularidad y anticipación al cambio son algunos de los aspectos que los productos desarrollados deben incorporar en su análisis para garantizar su eficiencia.

El software debe de construirse sobre una base sólida. La falta de diseño de problemas comunes, la no apreciación de consecuencias a largo plazo sobre las implementación pone en riesgo los sistemas y su propia disponibilidad de uso.

Los sistemas deben diseñarse teniendo en cuenta el usuario, el sistema (la infraestructura de TI) y los objetivos de negocio. Para cada una de estas áreas, se debe esbozar escenarios clave e identificar atributos importantes de calidad (por ejemplo, fiabilidad o escalabilidad) y áreas clave de satisfacción e insatisfacción. Cuando sea posible, desarrollará y considerará métricas que midan el éxito en cada una de estas áreas.

La arquitectura debe centrarse en cómo los principales elementos y componentes dentro de una aplicación son utilizados, o interactúan entre ellos. La selección de estructuras de datos y algoritmos o los detalles de implementación de componentes individuales son aspectos importantes a tener en cuenta.

Algunos de los aspectos de alto nivel a considerar en la definición de la arquitectura del software son:

  • ¿Cómo utilizarán los usuarios la aplicación?
  • ¿Cómo se desplegará la aplicación en producción y se administrará?
  • ¿Cuáles son los requisitos de calidad para la aplicación, como de seguridad, rendimiento, concurrencia, disponibilidad, escalabilidad y configuración?
  • ¿Cómo se puede diseñar la aplicación para ser flexible y mantenerse con el tiempo?
  • ¿Cuáles son las tendencias arquitectónicas que podrían afectar su aplicación ahora o después de que se ha implementado?
  • ¿Cuáles son las partes fundamentales de la arquitectura que representan el mayor riesgo en caso de fallo?
  • ¿Cuáles son las partes de la arquitectura que tienen más probabilidades de cambiar, o cuyo diseño se puede retrasar hasta más tarde con poco impacto?
  • ¿Cuáles son las suposiciones clave, y cómo se probarán?
  • ¿Qué condiciones pueden requerir refactorización del diseño?

Una buena arquitectura reduce los riesgos asociados con la construcción de una solución técnica, así como un buen diseño es lo suficientemente flexible como para poder manejar el cambio que se producirá con el tiempo en la tecnología de hardware y software, así como en los escenarios y requisitos del usuario.

Se debe suponer que el diseño evolucionará con el tiempo, así como se debe tener en cuenta que no todos los requisitos son conocidos cuando se comienza el desarrollo.


Normativa, guías y recomendaciones

Las normas, guías y recomendaciones serán ejecutadas en los diferentes proyectos, persiguiendo en todo momento alcanzar los aspectos metodológicos y cualitativos descritos en la sección introductoria.

A continuación se propone una serie de enlaces para acceder a toda la información.


NormativaAlcanceVersionFecha de publicación
Arquitectura tecnológica de referencia para el desarrollo softwareStack tecnólogico de referencia para desarrollos bare-metal y contenedoresPR-1.0

 

Implementación de Arquitecturas LímpiasPautas de implementación de arquitecturas Límpias1.0

 

Soluciones web, arquitectura de referenciaDiagrama conceptual e introducción a la arquitectura de referencia independientemente de la tecnología usada.1.5

 

Soluciones JavaEE, arquitectura de referenciaArquitectura de referencia a seguir para proyectos Java.1.3

 

Arquitectura de referencia .NetArquitectura de referencia a seguir para proyectos .Net.1.0

 

Normativa de clientes webNormativa sobre compatibilidad de aplicaciones web con navegadores de escritorio1.1

 

Securización en comunicacionesNormativa sobre securización y comunicación entre aplicativos1.7

 

Integración continua y calidad en códigoNormativa sobre procesos de entrega de código, integración continua y calidad en código2.0

 

Normativa GitNormativa sobre Git1.0

 

Normativa de auditoríaNormativa sobre auditoría de sistemas de información1.0

 

Normativa Pruebas de CargaNormativa sobre la ejecución de las pruebas de carga de sistemas1.0

 

Generación de WebServices SOAPNormas y recomendaciones sobre como crear servicios y clientes SOAP.1.0

 

Generación de WebServices RESTNormas y recomendaciones sobre como crear servicios y clientes REST.1.0

 

Componentes corporativos

La orientación a componentes y la apificación de los sistemas de información, es un objetivo primordial debido a la multitud de beneficios que produce como pueden ser facilitar la labor del desarrollo, reducción del time to market, robustez del software y optimización de costes.

Con el objeto de facilitar el diseño de una arquitectura orientada a componentes, y el desembarco de sus soluciones software, la Subdirección de las Tecnologías de la Información, en el contexto del Servicio Andaluz de Salud, provee el siguiente catálogo de componentes corporativos, siendo estos componentes, elementos trasversales en la estrategia de los sistemas de información corporativos.

Estos componentes están disponibles para cualquier proveedor de software del Servicio Andaluz de Salud en lo repositorios privados habituales.


Artefacto SoftwareAlcanceTecnologíaVersiónFecha de publicación
Componente de ConfiguraciónLibreria para agilizar la gestion de configuraciones de los aplicativosJava2.2.0

 

Arquetipo de ejemploProyecto web realizado con Java EE donde se muestra un ejemplo básico haciendo uso de la arquitectura de referencia.

Java

1.3

 

Componente de auditoríaComponente para facilitar mecanismos de gestión y persistencia de la auditoria de negocio, y facilitar el cumplimiento homogéneo de los requisitos legales en los sistemas de información sanitariosJava1.0.2.2

 

Componente que permite la integración con MACO fácilmenteJava

2.0.1

 

Componente de integración con MACOComponente que facilita la integración con MACO y su subsitstema de tokens, basado en una api de servicios clara y con conectores a  WS.Net

2.5.0


Componente de integración con DMSASComponente que facilita la integración con el directorio corporativo DMSAS con soporte para JavaEE.

Java

1.1.3.2

 

Componente de integración con Estructura

Componente que facilita la integración con Estructura en base a una de servicios api clara y con multiples concectores JPA y con soporte para JavaEE.

Java

2.2.1

 

Componente de integración con Estructura

Componente que permite acceder a información de Estructra fácilmente

.Net

1.13.4

 

Componente de integración con BDUComponente que facilita la integración la integración con Base de Datos de Usuarios en base a una api clara y con multiples concectores JPA, WS y con soporte para JavaEE

Java

2.2.0

Componente de integración con BDUComponente que facilita la integración con la Base de Datos de Usuarios.

.Net

Componente de integración con datos de adscripción y profesionalesComponente que permite la integración con los datos de los profesionales identificados por clave médica, de enfermería ó de equipo.Java

1.1.0

Componente de integración con datos de adscripción y profesionalesComponente que permite la integración con los datos de los profesionales identificados por clave médica, de enfermería ó de equipo.

.Net

1.7.1

 

Componente de integración con datos de callejeroEste componente permite la consulta de vias y tipos de vias, codigos postales y todo lo relacionado con el callejero.

Java

1.0.0

 

  • Sin etiquetas