Download 2-NOR04-Normativa de Empaquetado de codigo. Unidad de
Document related concepts
no text concepts found
Transcript
SUBDIRECCIÓN GENERAL DE SISTEMAS DE INFORMACIÓN PARA LA SALUD C/ Micer Mascó, 31 46010 Valencia Tel. 96 386 80 81 - Fax 96 386 82 29 Normativas de Sistemas: Normativa de Empaquetado de Entrega para CS. Unidad de Entrega. Última actualización: 29/02/2016 Título: Normativa de Empaquetado de código. Unidad de Entrega. Página 1 de 16 SUBDIRECCIÓN GENERAL DE SISTEMAS DE INFORMACIÓN PARA LA SALUD C/ Micer Mascó, 31 46010 Valencia Tel. 96 386 80 81 - Fax 96 386 82 29 SUBDIRECCIÓN GENERAL DE SISTEMAS DE INFORMACIÓN PARA LA SALUD C/ Micer Mascó, 31 46010 Valencia Tel. 96 386 80 81 - Fax 96 386 82 29 AUDITORÍA DEL DOCUMENTO. Estatus V 01.00 Borrador Publicado 01.01 Fecha 7/10/2011 Autor Laura Casanova Descripción de la Versión/Cambios Realizados Versión Inicial 17/10/2011 Laura Casanova Contemplando comentarios de la presentación a los Propietarios de Servicios de CS del 14/10/2011 Introducción a la Herramienta de Gestión de Entregas. Definición más completa de la entrega. Revisión de diagramas. Borrador 02.00 24/03/2015 José María Cubel Aprobado Revisión 02.00 15/04/2015 Aceptado 02.00 15/04/2015 11/12/15 Revisión 03.00 Aprobado 03.00 Raúl Jiménez José María Cubel Jorge Aguilar Sánchez 11/12/15 Raúl Jiménez Aprobado 03.10 29/02/16 José María Cubel 03.10 29/02/16 Jorge Aguilar Aceptado 03.10 29/02/16 Jorge Aguilar Se crea como documento independiente de 2NOR06-Normativa de Solicitud de Despliegues-0200-150415 Revisión Aceptado Revisión Se incluye el directorio ProC para las entregas de FORMS y REPORTS. Se actualiza imagen del punto 4.3 Documentos relacionados Título o nombre del fichero Naturaleza de la relación [Ref.1] 3-PE03-Procedimiento de Despliegues Procedimiento de despliegues, utilizado por los técnicos que ejecutan los despliegues. [Ref.2] Ficha de Diseño Ficha a completar para la preparación del entorno para el despliegue de nuevas aplicaciones. [Ref.3] 2-NOR01 Normas Estándares Desarro- Normas que los Sistemas de Información deben seguir en su ciclo de llo e Implantación vida, principalmente desarrollo y despliegue, para su perfecta adaptación a los diferentes entornos corporativos del CPD del Centro de Informática de la Consellería de Sanidad con el propósito que la implantación sea lo más homogénea posible. 2-NOR06-Normativa de Solicitud de Desplie- Una vez finalizada la tarea de empaquetado de software y revisión gues-02-00-150415 por parte de GEES, se comienza con la fase de Despliegue en TEST. Política de entrega de nuevas versiones a Siste- Esta norma sigue la política general de entregas establecidas en el mas documento Control de Cambios Título: Normativa de Empaquetado de código. Unidad de Entrega. Página 3 de 16 SUBDIRECCIÓN GENERAL DE SISTEMAS DE INFORMACIÓN PARA LA SALUD C/ Micer Mascó, 31 46010 Valencia Tel. 96 386 80 81 - Fax 96 386 82 29 SUBDIRECCIÓN GENERAL DE SISTEMAS DE INFORMACIÓN PARA LA SALUD C/ Micer Mascó, 31 46010 Valencia Tel. 96 386 80 81 - Fax 96 386 82 29 ÍNDICE 1 Propósito del documento. .............................................................................................................................. 6 2 Ámbito y aplicación. ...................................................................................................................................... 6 3 Introducción. .................................................................................................................................................. 6 4 Conceptos Previos.......................................................................................................................................... 6 4.1 Fuentes de la aplicación. ............................................................................................................................... 6 4.2 Tipos de Entregas. ........................................................................................................................................ 7 4.3 Requisitos del Entregable. ............................................................................................................................ 9 5 Aplicación para la gestión de Entregas. ....................................................................................................... 11 6 Estructura de la Unidad de Entrega. ........................................................................................................... 11 6.1 JAVA desarrollo propio. ............................................................................................................................. 11 6.1.1 Descripción de la Estructura.............................................................................................................. 11 6.2 JAVA propietario........................................................................................................................................ 12 6.2.1 Descripción de la Estructura.............................................................................................................. 13 6.3 Forms & Reports. ....................................................................................................................................... 14 6.3.1 Descripción de la Estructura.............................................................................................................. 14 6.4 Plataforma analítica BI. .............................................................................................................................. 15 6.4.1 Descripción de la Estructura.............................................................................................................. 16 1 Propósito del documento. El objetivo de este documento es describir de forma detallada la normativa a seguir para realizar la entrega de nuevos servicios a CS. Se trata de detallar la actividad 'Empaquetado y Entrega de la Unidad de Entrega a CS' del documento 'Procedimiento general de entrega de nuevos servicios a Sistemas.' 2 Ámbito y aplicación. El documento está dirigido a todas las personas involucradas en el diseño, implantación, o despliegues de nuevos servicios, o de modificaciones sustanciales de los ya existentes, que implique la instalación de nuevas aplicaciones en los Sistemas de Información de CS. Título: Normativa de Empaquetado de código. Unidad de Entrega. Página 5 de 16 SUBDIRECCIÓN GENERAL DE SISTEMAS DE INFORMACIÓN PARA LA SALUD C/ Micer Mascó, 31 46010 Valencia Tel. 96 386 80 81 - Fax 96 386 82 29 La aplicación de este procedimiento permitirá estandarizar las tareas de análisis, pruebas y custodia a realizar por el equipo de GEES así como la generación del Paquete de Despliegue para facilitar la promoción de entre los distintos entornos. 3 Introducción. Se define como Unidad de entrega o entregable al conjunto de ficheros formado por: • Fuentes de la aplicación. En el apartado “Fuentes de la aplicación.” se explica en detalle este tipo de ficheros. • Binarios a desplegar. Son el resultado de compilar y empaquetar los fuentes de la aplicación. La existencia de este tipo de ficheros en el paquete de entrega debe tender a desaparecer, ya que una de las funciones de GEES es generar estos ficheros. Para productos cerrados (cuyos fuentes no son propiedad de CS), no se exige el código fuente para compilarlo. En el apartado “Requisitos del Entregable.” se definen los requisitos que deben cumplir los ficheros del entregable. 4 Conceptos Previos. 4.1 Fuentes de la aplicación. Se define como fuentes de la aplicación, cualquier fichero necesario para conseguir el correcto empaquetado de la aplicación y obtener su modelo de datos asociado, así como cualquier fichero necesario en tiempo de ejecución para su correcto funcionamiento. Por tanto, esta definición engloba el propio código, los scripts para empaquetar y compilar la aplicación, las sentencias SQL (tanto scripts de creación del modelo de datos de la versión inicial como los scripts que modifican el modelo en las sucesivas versiones de la aplicación) y otros recursos (ficheros de configuración, ficheros estáticos -frontend files-, documentación). Cada versión de los fuentes es almacenada por el personal de GEES en un repositorio de código. Una aplicación contendrá una sola tecnología de compilación. Por ejemplo, no podrá existir una aplicación con tecnología JEE y Oracle Developer. A efectos de entrega, se considerarán dos aplicaciones distintas. 4.2 Tipos de Entregas. En función del contenido que incluya una entrega, se puede clasificar en las siguientes categorías. • Completa: Incluye todo el contenido de los fuentes de la versión. Debe incluir el histórico de SQLs. SUBDIRECCIÓN GENERAL DE SISTEMAS DE INFORMACIÓN PARA LA SALUD C/ Micer Mascó, 31 46010 Valencia Tel. 96 386 80 81 - Fax 96 386 82 29 • Parcial: Es un subconjunto de los fuentes de la aplicación. Independientemente del número de ficheros que se entreguen, estos deberán respetar la estructura de la entrega completa. Adicionalmente, en caso de que la entrega presente errores detectados antes de ser desplegada en test es posible realizar entregas de corrección de errores Notas: • Tanto la entrega completa como la entrega parcial deberá proporcionar un número de versión distinto a los ya entregados. Sólo se permite usar un número de versión ya entregada para correcciones de errores. • No se permiten entregas parciales para corrección de código fuente de aplicaciones Java. • La modalidad de entregas parcial será la que se utilice normalmente para despliegues de aplicaciones basadas en Oracle Developer o despliegues que sólo contengan scripts de BBDD. En la siguiente imagen se muestran ejemplos de entregas parciales y completas: Entrega completa Entrega parcial La versión 01.02.01 no incluye todos los ficheros de Título: Normativa de Empaquetado de código. Unidad de Entrega. Página 7 de 16 SUBDIRECCIÓN GENERAL DE SISTEMAS DE INFORMACIÓN PARA LA SALUD C/ Micer Mascó, 31 46010 Valencia Tel. 96 386 80 81 - Fax 96 386 82 29 la aplicación. Mantiene la estructura de directorios. La versión 01.02.00. Incluye todos los ficheros de la aplicación. anteriores. Incluye SQLs de versiones SUBDIRECCIÓN GENERAL DE SISTEMAS DE INFORMACIÓN PARA LA SALUD C/ Micer Mascó, 31 46010 Valencia Tel. 96 386 80 81 - Fax 96 386 82 29 4.3 Requisitos del Entregable. Independientemente del tipo de entrega que se realice, siempre deberá cumplir los siguientes requisitos: 1. Los ficheros de la entrega deben cumplir la normativa de desarrollo e implantación ( Ver documento 2- NOR04-Normativa de Entrega de Nuevas Versiones a Sistemas) 2. Cada entrega debe incrementar el número de versión, no se permite la entrega de dos versiones con distinto código fuente y mismo número de versión excepto si la entrega se fue incorrecta, tal como se explica en Tipos de Entregas.. 3. El versionado de las aplicaciones debe cumplir el siguiente patrón. MM.mm.pp Donde: • MM: versión Mayor. Es un número (00, 01, 02,…) en secuencia cronológica que identifica grandes cambios en el servicio. • mm: versión Menor. Es un número (00, 01, 02,…) en secuencia cronológica que identifica mejoras funcionales menores en el servicio. • pp: versión Parche. Es un número (00, 01, 02,…) en secuencia cronológica que identifica cambios en el servicio correspondientes a la resolución de errores. Las versiones de entregas planificadas en el Plan de Entregas de un servicio dispondrán de la numeración mayor y menor que corresponda y la 00 para el número de parche. Cada intento de una nueva entrega deberá estar asociado a una numeración “MM.mm.pp” único. Así, por ejemplo, si una entrega no supera algunas de las pruebas, o hubiera que echar marcha atrás del entorno de producción, y hubiera por tanto que devolverla a la empresa adjudicataria para su corrección, la próxima entrega deberá tener una numeración de versión diferente, bien incrementándole uno al “pp”, o re planificar el Plan de Entregas para incluir los requisitos en una entrega Mayor o Menor posterior. 1. El fichero de fuentes debe proporcionarse como un único fichero comprimido. Los formatos válidos para este fichero son zip, gzip o tar-gzip. El formato rar no es un formato válido. 2. El contenido del fichero de fuentes debe ser mínimo. No se permite la existencia de contenido generado a partir de la compilación o empaquetado del código. Son ficheros que no aportan nada y sólo contribuyen a aumentar el espacio de archivado. Ejemplos de contenido no permitido: Título: Normativa de Empaquetado de código. Unidad de Entrega. Página 9 de 16 SUBDIRECCIÓN GENERAL DE SISTEMAS DE INFORMACIÓN PARA LA SALUD C/ Micer Mascó, 31 46010 Valencia Tel. 96 386 80 81 - Fax 96 386 82 29 o Directorios que se generan al empaquetar (target o bin). o Ficheros compilados (class, war, ear) o Ficheros de configuración del IDE usado en su desarrollo (.project, .settings, .classpath). o Ficheros de configuración de repositorios de versiones (.svn, .git, .cvs...). Ejemplos de estructuras de entregas: JEE con Maven (un solo módulo) 3. JEE con Maven (multimódulo) Oracle Developer La estructura de directorios de la aplicación debe mantenerse entre versiones para permitir la automatización de las tareas de compilación y despliegue. 4. En la entrega siempre deben proporcionarse todos los fuentes de la aplicación, aunque los cambios introducidos en la versión sean mínimos. Sólo se aceptan entregas parciales cuando la tecnología es Oracle Forms y cuando se entregan sólo SQLs, estáticos o propiedades. En estos casos, la jerarquía de directorios también deberá mantenerse intacta y se indicará explícitamente que la entrega es parcial. 5. Los ficheros que no se encuentren en los fuentes o no se puedan obtener a partir de ellos, no se podrán utilizar en el despliegue. Si la entrega es parcial sólo podrán usarse los archivos de esa entrega. 6. No se impone ninguna estructura organizativa, aunque se aconseja utilizar una estructura que se adapte a las necesidades de esta normativa y que resulte sencillo describir las instrucciones necesarias para desplegar la aplicación. SUBDIRECCIÓN GENERAL DE SISTEMAS DE INFORMACIÓN PARA LA SALUD C/ Micer Mascó, 31 46010 Valencia Tel. 96 386 80 81 - Fax 96 386 82 29 7. Todos los scripts de BBDD deberán seguir el formato especificado en la normativa vigente (Ver documento “NOR01-Normas Estándares de Desarrollo e Implementación”). Los fuentes deben contemplar el versionado de las SQLs (Véase apartado 3.3.3 Versionado de scripts de BBDD). 5 Aplicación para la gestión de Entregas. Como parte del Portal del Desarrollador (https://phasic.san.gva.es) se dispone de una aplicación encargada de gestionar homogéneamente todas las entregas y verificar el cumplimiento de los requisitos definidos anteriormente. La URL de acceso a esta aplicación es la siguiente: https://phasic.san.gva.es/delivery Esta aplicación permite entregar tanto los fuentes como los binarios de la entrega, así como especificar las instrucciones de despliegue para los diferentes entornos e información relevante para llevar el despliegue a cabo. A cada entrega se le asociará un identificador de entrega único que se utilizará como referencia al solicitar los despliegues. 6 Estructura de la Unidad de Entrega. 6.1 JAVA desarrollo propio. La Unidad de entrega tiene la siguiente estructura: 6.1.1 Descripción de la Estructura. Directorio Descripción Proyecto / Aplicación / Version Toda entrega se identifica unívocamente mediante estos tres parámetros. Así pues estos tres valores inician la jerarquía de subdirectorios de la Título: Normativa de Empaquetado de código. Unidad de Entrega. Página 11 de 16 SUBDIRECCIÓN GENERAL DE SISTEMAS DE INFORMACIÓN PARA LA SALUD C/ Micer Mascó, 31 46010 Valencia Tel. 96 386 80 81 - Fax 96 386 82 29 ‘Unidad de Entrega’. sql java/src Scripts de Base de datos. De uso para desarrollos a medida realizados en JAVA. Código fuente de la aplicación. Este código será compilado por los técnicos de GEES y el resultado de la compilación, almacenado en SVN. El resultado de la compilación se almacenará en el directorio java/ear java/ear En el caso de desarrollos a medida, en este directorio se encontrará el resultado de la compilación del código fuente entregado. En el caso de aplicaciones JAVA propietarias, en el directorio se encontrará el código ya compilado por el proveedor. El contenido de este directorio será desplegado por los técnicos de GTEC en el Servidor de Aplicaciones. Este directorio estará vacío para aplicaciones que no sean JAVA estaticos/[sa|wb] Ficheros estáticos a desplegar tanto en los frontales Web como en los Servidores de Aplicación. Config Ficheros de configuración de la aplicación que deben desplegarse al mismo tiempo que la aplicación. 6.2 JAVA propietario. La Unidad de entrega tiene la siguiente estructura: SUBDIRECCIÓN GENERAL DE SISTEMAS DE INFORMACIÓN PARA LA SALUD C/ Micer Mascó, 31 46010 Valencia Tel. 96 386 80 81 - Fax 96 386 82 29 6.2.1 Descripción de la Estructura. Directorio Descripción Proyecto / Aplicación / Version Toda entrega se identifica unívocamente mediante estos tres parámetros. Así pues estos tres valores inician la jerarquía de subdirectorios de la ‘Unidad de Entrega’. sql Scripts de Base de datos. java/ear En el caso de desarrollos a medida, en este directorio se encontrará el resultado de la compilación del código fuente entregado. En el caso de aplicaciones JAVA propietarias, en el directorio se encontrará el código ya compilado por el proveedor. El contenido de este directorio será desplegado por los técnicos de GTEC en el Servidor de Aplicaciones. Este directorio estará vacío para aplicaciones que no sean JAVA estaticos/[sa|wb] Ficheros estáticos a desplegar tanto en los frontales Web como en los Servidores de Aplicación. Config Ficheros de configuración de la aplicación que deben desplegarse al mismo tiempo que la aplicación. Título: Normativa de Empaquetado de código. Unidad de Entrega. Página 13 de 16 SUBDIRECCIÓN GENERAL DE SISTEMAS DE INFORMACIÓN PARA LA SALUD C/ Micer Mascó, 31 46010 Valencia Tel. 96 386 80 81 - Fax 96 386 82 29 6.3 Forms & Reports. La Unidad de entrega tiene la siguiente estructura: 6.3.1 Descripción de la Estructura. Directorio Descripción Proyecto / Aplicación / Version Toda entrega se identifica unívocamente mediante estos tres parámetros. Así pues estos tres valores inician la jerarquía de subdirectorios de la ‘Unidad de Entrega’. sql Scripts de Base de datos. developer_src De uso para aplicaciones FORMS y REPORTS. Para el despliegue de estas aplicaciones se deberá entregar por separado las siguientes componentes • Forms SUBDIRECCIÓN GENERAL DE SISTEMAS DE INFORMACIÓN PARA LA SALUD C/ Micer Mascó, 31 46010 Valencia Tel. 96 386 80 81 - Fax 96 386 82 29 • Reports • Menu • Librerías • ProC Para cada una de las componentes anteriores se ha creado un subdirectorio que facilita la automatización de la compilación bin Directorio que contiene el código compilado para el caso de aplicaciones Forms y Reports. El resultado de la compilación de los objetos encontrados en el directorio developer_src y subdirectorios se dejará sobre una estructura de directorios exactamente igual. En la carpeta ‘developer’ se dejaran los ficheros a desplegar desde la aplicación “DataWarehouse Builder” estaticos/[sa|wb] Ficheros estáticos a desplegar tanto en los frontales Web como en los Servidores de Aplicación. Config Ficheros de configuración de la aplicación que deben desplegarse al mismo tiempo que la aplicación. 6.4 Plataforma analítica BI. La Unidad de entrega tiene la siguiente estructura: Título: Normativa de Empaquetado de código. Unidad de Entrega. Página 15 de 16 SUBDIRECCIÓN GENERAL DE SISTEMAS DE INFORMACIÓN PARA LA SALUD C/ Micer Mascó, 31 46010 Valencia Tel. 96 386 80 81 - Fax 96 386 82 29 6.4.1 Descripción de la Estructura. Directorio Descripción Proyecto / Aplicación / Version Toda entrega se identifica unívocamente mediante estos tres parámetros. Así pues estos tres valores inician la jerarquía de subdirectorios de la ‘Unidad de Entrega’. sql Scripts de Base de datos. java/ear En el caso de desarrollos a medida, en este directorio se encontrará el resultado de la compilación del código fuente entregado. En el caso de aplicaciones JAVA propietarias, en el directorio se encontrará el código ya compilado por el proveedor. El contenido de este directorio será desplegado por los técnicos de GTEC en el Servidor de Aplicaciones. Este directorio estará vacío para aplicaciones que no sean JAVA estaticos/sa Ficheros estáticos a desplegar tanto en los frontales Web como en los Servidores de Aplicación. Config Ficheros de configuración de la aplicación que deben desplegarse al mismo tiempo que la aplicación.