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.