Gestión de entregas Versión: v03r03Estado: ACTIVOEntrada en vigor desde:Obligado cumplimiento desde:Enlaces relacionados: Gestión de entregas | Archivos de las aplicaciones. Consideraciones generales. |
---|
Cumplimiento 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 Dpto: Oficina de Calidad
Este artículo pretende recoger algunas de las pautas a tener en cuenta a la hora de configurar correctamente los proyectos.
Una de las cuestiones es la estandarización de los nombres. Se deberá tener presente que:
Modelo aplicación-componente
En el caso de que se esté siguiendo el modelo aplicación-componente, las configuraciones que sean necesarias se aplicarán a cada uno de los componentes que forman la aplicación.
Actualmente todos los proyectos Java que comiencen su desarrollo, deben estar "mavenizados". No obstante, algunos proyectos en mantenimiento, utilizan Ant para la compilación y la construcción.
En estos casos, los campos/etiquetas que son revisables deben cumplir, en el caso del archivo build.xml:
A tener en cuenta: hay que incluir las librerías necesarias para la compilación dentro del repositorio, en el subdirectorio auxLibs, y modificar los ficheros de configuración (build.xml) de la compilación para que se use esta ruta.
El principal archivo para este tipo de proyectos es el pom.xml. A continuación se listan las diferentes casuísticas que se pueden presentar.
Si se trata del pom.xml padre:
Ejemplo: <groupId>es.ja.csalud.sas.admonelec</groupId>
<version>mayor.menor.revisión.entrega</versión>
Ejemplo: <version>1.1.0.4</version>
Si es un proyecto multimódulos, los archivos pom.xml hijo deberán cumplir:
Además, se debe de verificar que dentro de la etiqueta <parent> vienen definidas las etiquetas referentes al pom padre tal como se muestra en el siguiente ejemplo:
Modelo aplicación-componente
Tal y como comentábamos al inicio de este artículo, la convención establecida se aplicará a cada uno de los componentes.
Lo único a tener cuenta es que, en estos casos, el groupId llegará hasta el componente:
Si es un proyecto multimódulos, los archivos pom.xml hijo deberán cumplir:
Por otro lado, y con carácter general, se debe tener en cuenta que:
Actualmente, se está utilizando el plugin de JaCoCo (Java Code Coverage) para la obtención de la cobertura de los tests. Con el objetivo de que funcione correctamente, es necesario seguir la siguiente pautas en el pom.xml.
En proyectos maven, multimodulares, que presentan tests tanto en lenguaje Java como JavaScript, hay que añadir una serie de modificaciones con el fin de que los tests JavaScript se ejecuten correctamente y se genere el reporte de cobertura JavaScript en un formato admisible por SonarQube. A continuación se listan los cambios necesarios a realizar, todos ellos en archivo pom.xml del módulo view:
Es preciso tener en cuenta las siguientes etiquetas dentro de la configuración en ambos plugins, para que Saga funcione con Jasmine:
Existen otros parámetros opcionales para el plugin de Jasmine pero estas dependerán del proyecto.
profile.xml
Como norma general: NO SE DEBERÁN USAR LOS PROFILES SALVO AUTORIZACIÓN EXPRESA DEL EQUIPO DE ARQUITECTURA.
Si la utilización de perfiles, se acordara con el equipo de arquitectura, los distintos "profiles" se organizaría en un archivo de configuración externo en el que se definirán los entornos de despliegue, colocándose las propiedades necesarias para el correcto funcionamiento de la aplicación debidamente etiquetadas siguiendo las pautas recogidas en el presente artículo.
Este protocolo para la configuración de las aplicaciones por entorno de despliegue mediante un archivo externo, está enfocada para aquellas aplicaciones realizadas en Tecnología Java EE, utilizando Maven como herramienta de gestión y construcción de proyectos.
Todas las propiedades a utilizar se definirán en el catálogo de etiquetas
Por cada aplicación es obligatio crear un archivo .xml con el código de la aplicación en la CMS (Por ej. dy-rxxi-disp.xml), en el que se colocarán, bajo los distintos perfiles, el valor de todos los parámetros requeridos por la aplicación para su despliegue y correcto funcionamiento. A continuación se muestra un ejemplo de cómo podría ser el archivo.
El etiquetado seguirá el formato "aplicación.servicio.atributo" en el que "aplicación" se refiere al sistema externo al que se conecta, "servicio" llama a cualquiera de los ofertados, y "atributo" es alguna de las características del citado servicio.
Si el parámetro no se refiere a ningún sistema externo, se puede obviar.
Las propiedades no tienen que estar definidas necesariamente por una única etiqueta, permitiéndose su composicion a través de varias etiquetas. Por ejemplo:
El archivo de etiquetado será entregado junto con el código fuente. El valor asignado a cada etiqueta para los perfiles (PRE, PRO, etc.) vendrá vacío ya que serán completados por el personal de CTI.
Aquellos productos que, bajo acuerdo con el Área de Gobernanza, entregan su propio Docker, deben cumplir con las siguientes directrices:
ARG REGISTRY FROM ${REGISTRY}/php:8.3.9-apache-bullseye ...
Estas medidas aseguran un entorno controlado y seguro para el desarrollo y despliegue de aplicaciones dockerizadas.
-username: Usuario
-password: Contraseña
-url: Cadena de conexión
-host: Servidor
-port: Puerto
-idApp: Identificador de la aplicación
-xmlPath: Ruta de las plantillas
-auth: Autenticación
-wls: WebLogic Server
-encoding: Codificación
-version: Versión
-branch: rama (para el LDAP, por ejemplo)
-containerId:
-ws: Servicio web
-n1: Nodo 1, propiedad dependiente del nodo donde se realiza el despliegue
-n2: Nodo 2, propiedad dependiente del nodo donde se realiza el despliegue
-n3: Nodo 3, propiedad dependiente del nodo donde se realiza el despliegue
-balaneador: Servicio web del balanceador
-driver: Driver
-schema: esquema de BBDD
-dataSource:
-pool:
-dialect:
-max_active:
-max_wait:
-max_idle:
-unidad: pendiente conocer función para decidir si se coloca como general
-modulo: pendiente conocer función para decidir si se coloca como general
-perfil: pendiente conocer función para decidir si se coloca como general
-codigoDiraya: pendiente conocer función para decidir si se coloca como general
-rootCategory: Nivel de Logs y Appenders a utilizar
-appender: atributo para los appenders
-file: Ruta para los ficheros de log
-transport.protocol: Protocolo de comunicación
-default.from: dirección de correo por defecto del remitente
- default.to : dirección de correo por defecto del destinatario
-default.subject: Asunto por defecto.
-trustStore: Almacén de certificados
-keyStoreType: Tipo de almacén
-service.nativo: Servicio de @firma (Núcleo)
-service.ticket: Servicio de @firma (fachada de tickets)
-generarTicket: Endpoint del ws que se usa al generar el ticket en la autenticación web
-validacionTicket: Endpoint del ws que se usa al obtener la información de validación del ticket anterior.
-comeBack: Dirección de retorno al terminar la validación del certificado
-schemaLocation: Datos de conexión del interfaz web del módulo de autenticación para realizar la validación del certificado
-manager.dn: pendiente conocer función para decidir si se coloca como general
-manager.password (pendiente aclarar si manager se podría colocar como general)
-user.search.base
-group.search.base
-codigoModulo:
-clavePublica: