ESTÁNDARES DESARROLLO DE APLICACIONES PARA PROYECTOS ENMARCADOS EN H2050-INNOVASAUDE
←
→
Transcripción del contenido de la página
Si su navegador no muestra la página correctamente, lea el contenido de la página a continuación
CONTROL DE VERSIONES Y DISTRIBUCIÓN SUBDIRECCIÓN XERAL DE SISTEMAS E TI NOMBRE DEL DOCUMENTO: Estándares Desarrollo de Aplicaciones VERSIÓN: 01.00 CODIFICACIÓN DEL DOCUMENTO: ARQAP-DT-v.01.00-H2050 e InnovaSaude_Estandares_Desarrollo_Aplicaciones.do cx ELABORADO POR: Subdirección Xeral de Sistemas e T.I. FECHA: Mayo 2013 VALIDADO POR: FECHA: APROBADO POR: FECHA: REGISTRO DE CAMBIOS Fecha de Versión Causa de la nueva versión aprobación 01.00 Creación del documento Mayo 2013 LISTA DE DISTRIBUCIÓN (opcional) Número de Nombre Área/Centro/Ubicación copia CLÁUSULA DE CONFIDENCIALIDAD Este documento es propiedad de la Consellería de Sanidade. Se deberá utilizar dicho material exclusivamente para los servicios que han sido acordados con la Consellería de Sanidade y que requieren necesariamente su empleo. Dicho compromiso incluye la prohibición de la reproducción total o parcial del material mencionado, por cualquier medio o método. Estándares Desarrollo Aplicaciones H2050-INNOVASAUDE
ÍNDICE 1. INTRODUCCIÓN ................................................................................................ 6 2. PLATAFORMA BASE CORPORATIVA DE LA CONSELLERÍA DE SANIDADE ................................................................................................................ 7 2.1. ENTORNOS DE DESARROLLO ........................................................................... 7 2.2. SISTEMAS OPERATIVOS .................................................................................... 8 2.3. GESTORES DE BASES DE DATOS .................................................................... 8 2.4. SERVIDORES DE APLICACIONES...................................................................... 8 2.5. SERVIDORES WEB .............................................................................................. 9 2.6. SERVIDORES DE GENERACIÓN DE INFORMES OPERACIONALES Y DE INTELIGENCIA DE NEGOCIO ........................................................................................ 9 2.7. ENTORNOS EMPRESARIALES DE GESTIÓN DOCUMENTAL Y DE CONTENIDOS ................................................................................................................. 9 2.8. VIRTUALIZACIÓN ............................................................................................... 10 2.9. HERRAMIENTAS DE GESTIÓN DE PROCESOS DE NEGOCIO ...................... 10 2.10. SISTEMAS DE INFORMACIÓN GEOGRÁFICOS ........................................... 10 2.11. ENTORNOS DE INTEGRACIÓN ..................................................................... 10 2.12. GESTORES DE IDENTIDADES ...................................................................... 10 2.13. GESTORES DE CORREO .............................................................................. 10 2.14. DIRECTORIO ACTIVO .................................................................................... 11 2.15. OTRAS HERRAMIENTAS ............................................................................... 11 3. PROCEDIMIENTOS DE DESARROLLO ......................................................... 12 3.1. DOCUMENTACIÓN COMPLEMENTARIA ASOCIADA A UN PROYECTO ........ 13 3.1.1. GESTIÓN DE PROYECTOS ................................................................................. 13 3.1.2. GESTIÓN DE LA CONFIGURACIÓN .................................................................... 13 4. CICLO DE VIDA DE PUBLICACIÓN DE APLICACIONES ............................. 14 5. DOCUMENTO DE SEGURIDAD ...................................................................... 15 6. ASPECTOS FUNCIONALES ........................................................................... 16 6.1. GESTIÓN DE PERFILES .................................................................................... 16 6.2. GESTIÓN DEL CICLO DE VIDA DE LA INFORMACIÓN EN LAS APLICACIONES. ............................................................................................................ 16 Estándares Desarrollo Aplicaciones H2050-INNOVASAUDE
6.3. NORMATIVA ACCESIBILIDAD. .......................................................................... 16 7. ARQUITECTURA CORPORATIVA PARA EL DESARROLLO DE APLICACIONES ..................................................................................................... 17 7.1. NORMATIVA GENERAL ..................................................................................... 17 7.2. PROYECTOS JEE .............................................................................................. 17 7.3. INTEGRACIÓN ENTRE APLICACIONES WEB .................................................. 17 7.4. APLICACIONES JAVA EN ENTORNO EXTRANET ........................................... 17 7.5. REPOSITORIO DE COMPONENTES REUTILIZABLES .................................... 17 8. ESTÁNDARES TÉCNICOS.............................................................................. 18 8.1. ACCESO A DATOS EN APLICACIONES ........................................................... 18 8.2. ACCESO AL DIRECTORIO ACTIVO .................................................................. 18 8.3. GESTIÓN DE ERRORES Y LOGS EN LAS APLICACIONES ............................ 18 8.4. GENERACIÓN DE INFORMES Y DOCUMENTOS ............................................ 18 8.5. REDOMENDACIONES SOBRE SQL INFORMIX ............................................... 19 8.6. OPTIMIZACIÓN DE APLICACIONES WEB ........................................................ 19 8.7. SEGURIDAD EN EL DESARROLLO .................................................................. 19 8.8. DESARROLLO CLIENTES RICOS EN JAVA ..................................................... 19 8.9. RICH INTERNET APPLICATIONS ...................................................................... 20 8.10. RECOMENDACIONES PLATAFORMA DE APLICACIONES WINTEL ........... 20 8.11. PERSISTENCIA DE DATOS EN APLICACIONES JEE .................................. 20 8.12. ARQUITECTURA DE DESARROLLO SOBRE SHAREPOINT........................ 20 8.13. INVERSIÓN DE CONTROL E INYECCIÓN DE DEPENDENCIAS EN APLICACIONES JEE ..................................................................................................... 20 8.14. DESARROLLO BAJO EL FRAMEWORK DE PRESENTACIÓN JAVA SERVER FACES 21 9. GUÍAS DE ESTILO ........................................................................................... 22 9.1. GUÍA DE ESTILO DE BASES DE DATOS .......................................................... 22 9.2. GUÍA DE ESTILO DE PROGRAMACIÓN ........................................................... 22 9.3. GUÍA DE ESTILO DE LA INTRANET .................................................................. 23 9.4. GUÍAS DE ESTILO DE INTERFACES GRÁFICOS ............................................ 23 10. HERRAMIENTAS DE DESARROLLO ......................................................... 24 10.1. GESTIÓN DE PROYECTOS ........................................................................... 24 10.2. MODELADO DE DATOS. ................................................................................ 24 Estándares Desarrollo Aplicaciones H2050-INNOVASAUDE
10.3. DESARROLLO DE DIAGRAMAS PARA EL DESARROLLO........................... 24 10.4. EMPAQUETADO DE SOFTWARE .................................................................. 24 10.5. CONSTRUCCIÓN DE AYUDAS DE PROGRAMAS ........................................ 24 10.6. ENTORNOS INTEGRADOS DE DESARROLLO............................................. 24 11. CICLO DE VIDA DEL DESARROLLO DEL SOFTWARE............................ 25 12. OTROS PROCEDIMIENTOS ........................................................................ 26 13. OTRA DOCUMENTACIÓN ........................................................................... 27 13.1. ANTIPATRONES ............................................................................................. 27 13.2. SERVICIOS WEB ............................................................................................ 27 13.3. PRUEBAS DE CARGA CON OPENSTA ......................................................... 27 13.4. CATÁLOGO DE LÍNEAS BASE EXTENSIONES SOFTWARE PUESTO CLIENTE ........................................................................................................................ 27 14. ARQUITECTURA SIAC’S ............................................................................. 28 14.1. ARQUITECTURA EN BUS DE LOS SIACS DE LA CONSELLERÍA DE SANIDADE ..................................................................................................................... 29 14.2. MODELADO DE DATOS EN LOS SIACS DE LA CONSELLERÍA DE SANIDADE ..................................................................................................................... 29 14.3. ARQUITECTURA DE PROCESOS DE EXTRACCIÓN, TRANSFORMACIÓN Y CARGA 29 14.4. GUÍA DE ESTILO DE BUSINESS OBJECTS DESIGNER .............................. 29 14.5. ESTRUCTURA DEL SUPERVISOR DE BUSINESS OBJECTS DE LA CONSELLERÍA DE SANIDADE ..................................................................................... 30 Estándares Desarrollo Aplicaciones H2050-INNOVASAUDE
1. INTRODUCCIÓN Este documento pretende servir como índice de todos los procedimientos y estándares definidos por la Subdirección Xeral de Sistemas e Tecnoloxías da Información (en adelante SXSTI), que serán aplicables en el desarrollo, mantenimiento y adquisición de aplicaciones software en el ámbito de los proyectos H2050 e InnovaSaude de la Consellería de Sanidade Se indica en primer lugar la plataforma base corporativa de la consellería de Sanidade, a la que se deberán adaptar los nuevos desarrollos asociados a estos proyectos. Posteriormente se enumeran los diferentes estándares técnico-funcionales, metodologías, guías de estilo, herramientas de desarrollo, etc, existentes en la organización, que serán de aplicación en los proyectos licitados en H2050 e InnovaSaude. La Consellería de Sanidade /Servizo Galego de Saúde dispone de documentos específicos para cada estándar y procedimiento descrito. Estándares Desarrollo Aplicaciones Página 6 de 30 H2050-INNOVASAUDE
2. PLATAFORMA BASE CORPORATIVA DE LA CONSELLERÍA DE SANIDADE Se describe en los sucesivos apartados la plataforma corporativa de la Consellería de Sanidade. Pero por tratarse H2050 e InnovaSaude de proyectos de Innovación, la plataforma base corporativa no supondrá un limitante, y se podrán tomar en consideración soluciones más avanzadas que las que dispone la organización como base. 2.1. ENTORNOS DE DESARROLLO Los entornos de desarrollo existentes en la Consellería de Sanidade, a tener en cuenta en los proyectos enmarcados en H2050 e InnovaSaude, dependiendo de la plataforma, son los siguientes: - JEE: o Especificaciones J2SE y JEE. - .NET: o Lenguajes .NET: C# Visual Basic.NET Existen también otros entornos de desarrollo en uso, pero que no se podrán usar para nuevos desarrollos: - Visual Basic 6 - 4GL de Informix. - 4GL de MultiBase. La versión JEE corporativa de la Consellería de Sanidade es JEE 6. Los desarrollos .NET se realizarán sobre el Framework 4.0. El stack tecnológico incluido en el framework 4.0 es: - ADO.NET Entity Framework - LINQ – Language Integrated Query - WPF – Windows Presentation Foundation y Silverlight - WCF – Windows Communication Foundation - WF – Windows Workflow Foundation - Windows CardSpace En relación a las soluciones basadas en WF, WPF, Silverlight, WCF ó Windows CardSpace, su utilización debe ser argumentada por el equipo de proyecto y evaluada, en cada caso, por la Subdirección Xeral de Sistemas e Tecnoloxías de Información de SERGAS. Estándares Desarrollo Aplicaciones Página 7 de 30 H2050-INNOVASAUDE
2.2. SISTEMAS OPERATIVOS Los sistemas operativos existentes en la Consellería de Sanidade son los siguientes: - HP-UX 11i v2 y posteriores. - AIX 5.3 y posteriores. - Windows 2003 y 2008. - Windows XP, Windows Vista y Windows 7. - Linux RedHat 5.3 y posteriores. Los sistemas operativos corporativos de la Consellería de Sanidade serán: - HPUX 11iv3. - Linux RedHat 6.1. - Windows 2008. 2.3. GESTORES DE BASES DE DATOS Los gestores de bases de datos existentes en la Consellería de Sanidade son los siguientes: - Informix 9.40, 11 y posteriores. - SQL Server 2005 y 2008. - Oracle 10g y 11g. - MultiBase. - Tamino XML Server 8.2. Los SGBDs corporativos de la Consellería de Sanidade a utilizar en sistemas operacionales serán: • Informix 11.70. • Oracle 11g. El SGBD corporativo para almacenar datos XML en formato nativo es Tamino 8.2. La Subdirección Xeral de Sistemas e TI de SERGAS podrá elegir otro gestor o gestores en proyectos concretos si lo considera adecuado. 2.4. SERVIDORES DE APLICACIONES Los servidores de aplicaciones existentes en la Consellería de Sanidade, dependiendo de la plataforma, son los siguientes: Estándares Desarrollo Aplicaciones Página 8 de 30 H2050-INNOVASAUDE
- Plataforma JEE: o WebSphere Application Server 8.5 y posteriores. - Plataforma .NET: o IIS 7. En la plataforma JEE el servidor de aplicaciones corporativo es WebSphere Application Network Deployment, configurado en clúster. La versión que se utiliza es la 8.5 en la plataforma Linux RedHat. En la plataforma .NET el servidor de aplicaciones para nuevas aplicaciones es Internet Information Server 7 sobre Windows 2008 y .NET Framework 4.0. Se dispondrá de un clúster NLB para balanceo y alta disponibilidad. 2.5. SERVIDORES WEB Los servidores web existentes en la Consellería de Sanidade, dependiendo de la plataforma, son los siguientes: - Plataforma JEE: o IBM HTTP Server, Apache. - Plataforma .NET: o IIS 7. 2.6. SERVIDORES DE GENERACIÓN DE INFORMES OPERACIONALES Y DE INTELIGENCIA DE NEGOCIO Los servidores de impresión y de inteligencia de negocio existentes en la Consellería de Sanidade, son los siguientes: - Business Objects Enterprise - IBM DataStage. - Pentaho 2.7. ENTORNOS EMPRESARIALES DE GESTIÓN DOCUMENTAL Y DE CONTENIDOS Los entornos empresariales de gestión documental y de contenidos existentes en la Consellería de Sanidade son los siguientes: - Alfresco v3 y posteriores (gestor documental). - Microsoft SharePoint Enterprise 2010 (gestor de contenidos). Estándares Desarrollo Aplicaciones Página 9 de 30 H2050-INNOVASAUDE
2.8. VIRTUALIZACIÓN La plataforma de virtualización existente en la Consellería de Sanidade es la siguiente: - VMWARE ESX 5.0 y posteriores. - Citrix XenApp 4.5 para Windows 2003 2.9. HERRAMIENTAS DE GESTIÓN DE PROCESOS DE NEGOCIO Las herramientas de gestión de procesos de negocio existentes en la Consellería de Sanidade son los siguientes: - AgilePoint 4 y 5. La versión corporativa para nuevas aplicaciones es AgilePoint 5. 2.10. SISTEMAS DE INFORMACIÓN GEOGRÁFICOS El sistema de información geográfico existente en la Consellería de Sanidade es el siguiente: - ESRI: ArcGis Server 9.3.1. 2.11. ENTORNOS DE INTEGRACIÓN Los entornos de integración existentes en la Consellería de Sanidade son los siguientes: - Biztalk 2012 y versiones posteriores. - Mirth 1.8.2 y 2.2.1. La versión corporativa de la Consellería de Sanidade es Biztalk 2010 y Mirth 2.2.1. 2.12. GESTORES DE IDENTIDADES El gestor de identidades existente en la Consellería de Sanidade es el siguiente: - Oracle Identity Manager 9.1. 2.13. GESTORES DE CORREO El gestor de correo existente en la Consellería de Sanidade es el siguiente: Estándares Desarrollo Aplicaciones Página 10 de 30 H2050-INNOVASAUDE
- Microsoft Exchange Server 2010 2.14. DIRECTORIO ACTIVO El gestor de directorio activo existente en la Consellería de Sanidade es el siguiente: - Active Directory de Microsoft. 2.15. OTRAS HERRAMIENTAS Otras herramientas existentes en la Consellería de Sanidade son: - Control de versiones: o CVS, Subversion. El producto corporativo de la Consellería de Sanidade es Subversion. - Entornos de construcción automática e integración continua: o Maven. o Jenkins. - Herramientas de automatización de control de la calidad del software: o Sonar. - Herramientas para la gestión de proyectos: o Redmine. - Herramientas para la gestión de pruebas: o Testlink. - Herramientas de automatización de pruebas (unitarias, funcionales –de interfaz de usuario-, pruebas de carga): o JUnit. o OpenSTA. o Selenium. - Herramientas de Comunicaciones: o Microsoft Lync 2010. - Herramientas de Contact Center: o Genesys Voice Platform. - Plataforma eLearning: o Moodle. Estándares Desarrollo Aplicaciones Página 11 de 30 H2050-INNOVASAUDE
3. PROCEDIMIENTOS DE DESARROLLO Existe un procedimiento de Desarrollo / Mantenimiento / Adquisición de Aplicaciones que tiene por objetivo establecer el marco de actuación básico para garantizar el cumplimiento de la metodología de desarrollo y su ciclo de vida, así como los estándares corporativos establecidos por la SXSTI. Es de carácter OBLIGATORIO para todos los nuevos desarrollos o adquisiciones realizadas en el marco de H2050 e InnovaSaude de la Consellería de Sanidade bajo el marco de H2050 e InnovaSaude. • Procedimiento de desarrollo, mantenimiento y adquisición de aplicaciones: o GESTI-PC-v.xx.xx-H2050-IS- Desarrollo_Mantenimiento_Adquisicion_Aplicaciones.doc Además, existen particularizaciones de dicho procedimiento para procesos o desarrollos no convencionales, que se enumeran a continuación: • Procedimiento reducido de desarrollo de aplicaciones: se utiliza para aplicaciones de pequeña envergadura (pocos módulos funcionales), con un número muy restringido de usuarios, de baja criticidad, y que suelen venir condicionados por el cumplimiento de unos plazos muy reducidos. También se incluyen en esta categoría las evoluciones de aplicaciones existentes que impliquen desarrollos rápidos y requisitos de baja complejidad. o GESTI-PC-v.xx.xx-H2050-IS-Desarrollo_Aplicaciones_Reducido.doc • Procedimiento de desarrollo SIAC (Sistemas de Información de Análisis complejos): aplica en el desarrollo de nuevos SIAC que permitan el análisis y la explotación de los datos disponibles. o GESTI-PC-v.xx.xx-H2050-IS-Desarrollo_SIACs.doc Estos procedimientos establecen las fases por las que debe pasar un proyecto, y la documentación que debe ser entregada, para ser implantado en la Consellería de Sanidade. Como regla general toda la documentación generada en un proyecto que tenga como destinatario al usuario (por ejemplo, el manual de usuario) tendrá obligatoriamente una versión en gallego, pudiendo existir versiones adicionales en otros idiomas. Estándares Desarrollo Aplicaciones Página 12 de 30 H2050-INNOVASAUDE
3.1. DOCUMENTACIÓN COMPLEMENTARIA ASOCIADA A UN PROYECTO 3.1.1. GESTIÓN DE PROYECTOS A lo largo del desarrollo de un proyecto existen una serie de actividades que se realizan en paralelo a las actividades principales del ciclo de vida y que están orientadas a aspectos como la planificación del proyecto, asignación de responsabilidades, medidas de control de calidad, gestión de riesgos, control y seguimiento del proyecto, evaluación de resultados, etc. Estas actividades están englobadas dentro de lo que conocemos como gestión de proyectos. En la SXSTI, en el marco de H2050 e InnovaSaude, se han definido una serie de plantillas de documentos para llevar a cabo todas estas tareas: Presentaciones, Actas, Seguimiento del proyecto, etc. El uso de estas plantillas es obligatorio en los proyectos de desarrollo y en las adquisiciones de productos de terceros. Asimismo existe una estructura de directorios definida para almacenar la documentación de un proyecto. 3.1.2. GESTIÓN DE LA CONFIGURACIÓN En los proyectos existen multitud de elementos que hay que gestionar, identificar y controlar y que hay que seguir su evolución en el proyecto: software, hardware, documentos, etc. El objetivo de este documento es ayudar al control de elementos configurables en el marco de los proyectos H2050 e InnovaSaude. La Gestión de Configuración (GC) es un conjunto de técnicas, que permiten manejar adecuadamente la configuración de un producto, con objeto de controlar totalmente su desarrollo y evolución, entendiendo por “producto”, cualquier elemento software o material creado durante un desarrollo y/o su mantenimiento y utilizado durante el mismo (incluyendo la documentación asociada). En la organización se está implantando el uso de la Remedy ITSM Suite. Dentro de ella el BMC Remedy Asset Configuration Management permite gestionar de forma global el seguimiento de activos, la automatización de la conformidad del software, las aplicaciones de negocio y las posibles amenazas de seguridad. Toda la información se almacena en la CMDB compartida por todos los procesos, asegurando por tanto que la gestión de activos e ITIL están completamente alineados. Por tanto, se recomienda que los nuevos proyectos tengan sus elementos configurables integrados en la herramienta. Estándares Desarrollo Aplicaciones Página 13 de 30 H2050-INNOVASAUDE
4. CICLO DE VIDA DE PUBLICACIÓN DE APLICACIONES Ligado a los procedimientos de desarrollo, mantenimiento y adquisición de aplicaciones se encuentra el procedimiento de Ciclo de Vida de Publicación de Aplicaciones. Este procedimiento establece los procesos a seguir para la instalación de una aplicación en los entornos de preproducción y producción. Además, define cómo se deben versionar tanto las aplicaciones como los entregables en el marco de H2050 e InnovaSaude. • GESTI-PC-v.xx.xx-Ciclo_Vida_Publicacion_Aplicaciones.doc Estándares Desarrollo Aplicaciones Página 14 de 30 H2050-INNOVASAUDE
5. DOCUMENTO DE SEGURIDAD Este documento responde a la obligación establecida en el artículo 88 del Real Decreto 1720/2007 de 21 de diciembre en el que se regulan las medidas de seguridad de los ficheros automatizados que contengan datos de carácter personal. El documento hace especial hincapié en la política de seguridad definida por la organización para los ficheros que contienen datos de carácter personal, aunque la política de seguridad se aplica a todos aquellos ficheros y recursos, afectados por la Ley, que contengan o traten datos automatizados. Todo proyecto realizado en el marco de H2050 e InnovaSaude deberá respetar lo establecido por dicho documento de seguridad disponible en la Consellería de Sanidade. Son especialmente relevantes los siguientes documentos: • Registro de Acceso a Datos de Nivel Alto: establece las distintas opciones y la información y formato que debe tener el registro de accesos a datos de nivel alto. o LOPDS-PC-v.xx.xx-Formato_acceso_nivel_alto.doc en • Gestión de Contraseñas en las Aplicaciones: establece las normas generales de gestión de las contraseñas asociadas a usuarios de los sistemas de información de la Consellería de Sanidade y cómo se deben gestionar los usuarios de acceso a las BBDD. o LOPDS-PC-v.xx.xx-Gestion_de_contraseñas_aplicaciones.doc en • Gestión de Acceso a Fuentes de Datos: establece el procedimiento a seguir para solicitar el acceso a una fuente de datos de la Consellería de Sanidade. Estándares Desarrollo Aplicaciones Página 15 de 30 H2050-INNOVASAUDE
6. ASPECTOS FUNCIONALES 6.1. GESTIÓN DE PERFILES Se ha estandarizado el diseño técnico de la base de datos para gestionar los perfiles, así como el interfaz gráfico sobre el que se sustenta: • ARQAP-DT-v.xx.xx-Gestion_perfiles.doc En la Consellería de Sanidade existe una plataforma centralizada de aprovisionamiento de identidades y gestión de perfiles. Los proyectos enmarcados en H2050 e InnovaSaude deberán evaluar la conveniencia de integración con este sistema. 6.2. GESTIÓN DEL CICLO DE VIDA DE LA INFORMACIÓN EN LAS APLICACIONES. Las aplicaciones deben realizar, durante la fase funcional, un análisis de los datos que se van a gestionar desde dichas aplicaciones. El documento que define el estándar a seguir en este análisis de datos: • ARQAP-DT-v.xx.xx- Gestión_del_ciclo_de_vida_de_la_información_en_aplicaciones.doc 6.3. NORMATIVA ACCESIBILIDAD. El documento recoge la Normativa y Recomendaciones que en materia de Accesibilidad ha de observarse en la construcción y diseño de los Sistemas de Información corporativos de la Consellería de Sanidade. • ARQAP-DT-v.xx.xx-Legislación_Accesibilidad.doc Estándares Desarrollo Aplicaciones Página 16 de 30 H2050-INNOVASAUDE
7. ARQUITECTURA CORPORATIVA PARA EL DESARROLLO DE APLICACIONES 7.1. NORMATIVA GENERAL El desarrollo de aplicaciones para la Consellería de Sanidade debe realizarse en base a las especificaciones de plataforma, patrones arquitectónicos y de diseño, definidos en el documento de arquitecturas de aplicaciones. En el planteamiento arquitectónico de las aplicaciones, dudas y excepciones relativas al documento de referencia, se consultarán con el responsable de arquitectura del área correspondiente. • ARQAP-AT-v.xx.xx-Arquitectura_Desarrollo_Aplicaciones.doc 7.2. PROYECTOS JEE Deberán seguirse las recomendaciones indicadas en el siguiente documento: • ARQAP-DT-v.xx.xx-Desarrollo_y_despliegue_J2EE.doc 7.3. INTEGRACIÓN ENTRE APLICACIONES WEB Cuando se pretenda llevar a cabo la integración de aplicaciones web basada en redireccionar desde una aplicación a otra y sea necesario un proceso de autenticación en el sistema destino, deberá seguirse la siguiente recomendación: • ARQAP-DT-v.xx.xx-Integracion_Aplicaciones_Web_(Redirecciones-SSO).doc 7.4. APLICACIONES JAVA EN ENTORNO EXTRANET Describe la arquitectura que se ha elegido para permitir el acceso seguro desde el exterior a los servidores WebSphere situados en la Intranet y define qué es lo que deberán tener en cuenta las aplicaciones que se desplieguen de este modo. • ARQAP-DT-v.xx.xx-Aplicaciones_Java_Extranet.doc 7.5. REPOSITORIO DE COMPONENTES REUTILIZABLES La Consellería de Sanidade dispone de un almacén de componentes, funciones, librerías, utilidades, etc. que pueden ser reutilizados en los proyectos H2050 e Innovasaude. Su funcionamiento se rige por el siguiente procedimiento: • ARQAP-PC-v.xx.xx-Repositorio_Componentes.doc Estándares Desarrollo Aplicaciones Página 17 de 30 H2050-INNOVASAUDE
8. ESTÁNDARES TÉCNICOS 8.1. ACCESO A DATOS EN APLICACIONES Define la normativa y recomendaciones a seguir en cuanto al acceso a datos en las aplicaciones desarrolladas para la Consellería de Sanidade bajo el marco de H2050 e Innovasaude. Se recoge también un listado de los drivers de acceso a datos que se están usando en las diferentes aplicaciones en producción. Este documento es de obligado cumplimiento para todos los desarrollos realizados para la Consellería de Sanidade bajo el marco de H2050 e Innovasaude. La utilización en las aplicaciones de estrategias contrarias a lo especificado en el documento deberá ser autorizada por la Subdirección Xeral de Sistemas e Tecnoloxías da Información de SERGAS. • ARQAP-DT-v.xx.xx-Acceso_a_datos_en_aplicaciones.doc 8.2. ACCESO AL DIRECTORIO ACTIVO Este documento contiene una serie de indicaciones sobre cómo se deben realizar los accesos al Directorio Activo del dominio SERGAS de la Consellería de Sanidade. • ARQAP-DT-v.xx.xx-Acceso_DA.doc 8.3. GESTIÓN DE ERRORES Y LOGS EN LAS APLICACIONES Trata de establecer la forma en que las aplicaciones de la Consellería de Sanidade van a gestionar los registros de actividad e incidencia (avisos, errores, trazas, logs, etc.), es decir, todas las salidas que no sean al usuario o que no sean productos de la aplicación. • ARQAP-DT-v.xx.xx-Gestion_de_errores_y_logs_en_las_aplicaciones.doc 8.4. GENERACIÓN DE INFORMES Y DOCUMENTOS La Consellería de Sanidade dispone de un servidor de generación de informes Business Objects Enterprise XI R2 en Cluster que asegura alta disponibilidad para los servicios de impresión. No se excluyen otras posibilidades para la generación de informes de forma centralizada, pero deberán ser aprobadas por la Subdirección Xeral de Sistemas e Tecnoloxías da Información. • Generación de Informes con BOE XI: explica la arquitectura del producto y las APIs de programación disponibles. Define la normativa en cuanto a la Estándares Desarrollo Aplicaciones Página 18 de 30 H2050-INNOVASAUDE
programación de aplicaciones que utilicen BOE XI R2 para la generación de informes. o ARQAP-DT-v.xx.xx-Generacion_informes_BOE_XI_R2.doc • Generación de Informes y Documentos: recomienda los métodos que podrán incorporar las aplicaciones con el fin de poder generar informes y documentos dentro de las aplicaciones. Los métodos definidos en este documento aplican en aquellos casos de baja concurrencia que no precisen de la utilización de Business Objects Enterprise o en el caso de aplicaciones descentralizadas donde no es posible la utilización del mismo. o ARQAP-DT-v.xx.xx-Generacion_informes_documentos.doc 8.5. REDOMENDACIONES SOBRE SQL INFORMIX • ARQAP-DT-v.xx.xx-Recomendaciones_sobre_SQL-Informix.zip 8.6. OPTIMIZACIÓN DE APLICACIONES WEB En este documento se recogen una serie de normativas y recomendaciones que se deberán seguir en los desarrollos web realizados para la Consellería de Sanidade bajo el marco de H2050 e Innovasaude, en cuanto a la optimización de los tiempos de respuesta en aplicaciones web, obtenidos en la descarga del contenido desde el servidor a los clientes. • ARQAP-DT-v.xx.xx-Optimizacion_aplicaciones_web.doc 8.7. SEGURIDAD EN EL DESARROLLO Trata de establecer una serie de consejos y recomendaciones de seguridad a tener en cuenta para desarrollar aplicaciones para la Consellería de Sanidade bajo el marco de H2050 e Innovasaude. • ARQAP-DT-v.xx.xx-Seguridad_Desarrollo.doc 8.8. DESARROLLO CLIENTES RICOS EN JAVA Este documento pretende ser una guía de recomendaciones para el desarrollo de aplicaciones cliente codificadas en lenguaje Java bajo el marco de H2050 e Innovasaude. • ARQAP-DT-v.xx.xx-Recomendaciones_Cliente_Rico_Java.doc Estándares Desarrollo Aplicaciones Página 19 de 30 H2050-INNOVASAUDE
8.9. RICH INTERNET APPLICATIONS Las Rich Internet Applications (en adelante RIAs) son un nuevo tipo de aplicaciones web. Este documento detalla las características de esta tecnología y establece la normativa en cuanto a la programación de aplicaciones que la empleen dentro de la Consellería de Sanidade y el Servizo Galego de Saúde bajo el marco de H2050 e Innovasaude. Esta normativa es de obligado cumplimiento. • ARQAP-DT-v.xx.xx-Rich_Internet_Applications.doc 8.10. RECOMENDACIONES PLATAFORMA DE APLICACIONES WINTEL El documento pretende ser una referencia para que los grupos de desarrollo conozcan la plataforma en la que posteriormente se ejecutarán las aplicaciones que están desarrollando y que los grupos de sistemas conozcan las funcionalidades del desarrollo que correrán sobre las plataformas que gestionan. • WINNT-DT-v.xx.xx-Recomendaciones_plataforma_aplicaciones_wintel.doc 8.11. PERSISTENCIA DE DATOS EN APLICACIONES JEE El documento evalúa la utilización de una solución de persistencia en las aplicaciones Java EE como parte de la arquitectura. Se definen las ventajas e inconvenientes asociados y se detallan diferentes alternativas de mercado, todas ellas con licencia LGPL (Lesser General Public License). De igual modo, se indican las recomendaciones y estándares definidos por el Servizo Galego de Saúde para la implementación de una solución de persistencia en los proyectos JEE bajo el marco de H2050 e Innovasaude. • ARQAP-DT-v.xx.xx-Persistencia_de_datos_en_aplicaciones_JavaEE.doc 8.12. ARQUITECTURA DE DESARROLLO SOBRE SHAREPOINT El documento recoge una serie de recomendaciones que se deben tener en cuenta en los desarrollos que se realicen para la Consellería de Sanidade bajo el marco de H2050 e Innovasaude, sobre MOSS (Microsoft Office SharePoint Server) 2010 y aplicaciones JEE o .NET que tengan algún tipo de integración con éste. Se tratan aspectos de arquitectura de desarrollo, mejores prácticas de desarrollo, así como los procesos para el despliegue de las aplicaciones. Se hace también una descripción del entorno disponible en la Consellería de Sanidade. • ARQAP-DT-v.xx.xx-Arquitectura_de_desarrollo_sobre_Sharepoint_2010.doc 8.13. INVERSIÓN DE CONTROL E INYECCIÓN DE DEPENDENCIAS EN APLICACIONES JEE El documento detalla las características más importantes asociadas a las soluciones de inyección de dependencias en las arquitecturas de aplicaciones JEE (Java Enterprise Estándares Desarrollo Aplicaciones Página 20 de 30 H2050-INNOVASAUDE
Edition). De igual modo, define las buenas prácticas asociadas a este tipo de frameworks y describe las recomendaciones a tener en cuenta en los proyectos desarrollados dentro de la Consellería de Sanidade / Servizo Galego de Saúde bajo el marco de H2050 e Innovasaude. • ARQAP-DT-v.xx.xx-Inversion_Control_Inyeccion_Dependencias_JEE.doc 8.14. DESARROLLO BAJO EL FRAMEWORK DE PRESENTACIÓN JAVA SERVER FACES Este documento trata de realizar una descripción de la tecnología JavaServer Faces, indicando sus ventajas e inconvenientes respecto a tecnologías precedentes, especialmente Struts. • ARQAP-AT-v.xx.xx-Java_Server_Faces.doc.doc Estándares Desarrollo Aplicaciones Página 21 de 30 H2050-INNOVASAUDE
9. GUÍAS DE ESTILO Son documentos en los que se normalizan diversos aspectos dentro del proceso de desarrollo de aplicaciones informáticas. 9.1. GUÍA DE ESTILO DE BASES DE DATOS Describe las convenciones adoptadas por la SXSTI para nombrar los elementos de las bases de datos. Se describe la nomenclatura a emplear tanto en el modelo lógico como en el físico. En la elaboración de los nuevos proyectos, las bases de datos tendrán que seguir las directrices apuntadas en esta guía. • INCST-DT-v.xx.xx-Guia_de_estilo_Base_de_Datos.doc 9.2. GUÍA DE ESTILO DE PROGRAMACIÓN La razón principal de usar un conjunto coherente de convenciones de código es estandarizar la estructura y el estilo de codificación de una aplicación de forma que el autor y otras personas puedan leer y entender el código fácilmente. Las convenciones de codificación correctas dan como resultado un código fuente preciso, legible y sin ambigüedad, que es coherente con otras convenciones del lenguaje y lo más intuitivo posible. Un conjunto de convenciones de codificación de propósito general define los requisitos mínimos necesarios para conseguir los objetivos explicados anteriormente, dejando libertad al programador para crear la lógica y el flujo funcional del programa. El objetivo es hacer que el programa sea fácil de leer y de entender sin obstruir la creatividad natural del programador con imposiciones excesivas y restricciones arbitrarias. Las convenciones serán las indicadas por Oracle para los desarrollos llevados a cabo en plataforma JEE y las indicadas por Microsoft para la plataforma .NET. Convenciones de codificación Java http://programacion.com/java/tutorial/convenciones/ http://www.oracle.com/technetwork/java/codeconv-138413.html Convenciones de codificación .NET http://msdn2.microsoft.com/en-us/library/xzf533w0(vs.71).aspx Estándares Desarrollo Aplicaciones Página 22 de 30 H2050-INNOVASAUDE
9.3. GUÍA DE ESTILO DE LA INTRANET Describe el estilo aconsejado para asegurar que la información publicada sea fácil de desarrollar, utilizar y mantener. La guía de estilo de la intranet será de carácter obligatorio para todos los proyectos realizados para la Consellería de Sanidade/Servizo Galego de Saúde bajo el marco de H2050 e Innovasaude siguiendo la metodología establecida. • INCST-Guia_estilos_intranet-v.xx.xx.zip 9.4. GUÍAS DE ESTILO DE INTERFACES GRÁFICOS Pretende definir un estándar que regule el formato gráfico que deben cumplir todas las aplicaciones de la Consellería de Sanidade. Las guías de estilo de interfaces gráficos serán de referencia para todos los proyectos realizados para la Consellería de Sanidade bajo el marco de H2050 e Innovasaude siguiendo la metodología establecida. La guía de estilo de interfaz gráfica para aplicaciones cliente-servidor: • ESGUI-DT-v.xx.xx.-Estandar_grafico_aplicaciones.doc Asimismo existe una maqueta acorde a las directrices señaladas en esta guía. De igual modo existe una guía de estilo para interfaz gráfico para entornos web: • ESGUI-DT-v.xx.xx-Guia_Estilos.doc Estándares Desarrollo Aplicaciones Página 23 de 30 H2050-INNOVASAUDE
10. HERRAMIENTAS DE DESARROLLO Se recomienda el uso de las herramientas de desarrollo que se indican a continuación, para los proyectos desarrollados por la SXSTI bajo el marco de H2050 e InnovaSaude. 10.1. GESTIÓN DE PROYECTOS La herramienta que podrá utilizarse para la gestión de proyectos es Microsoft Project. Proporciona a las organizaciones una plataforma de tecnología ampliable para desarrollar con seguridad e implementar satisfactoriamente los principios de administración de proyectos de la organización. Ayuda a crear y realizar el seguimiento de planes de proyectos, administrar programaciones y recursos, y analizar la información del proyecto. 10.2. MODELADO DE DATOS. En los desarrollos los modelos de datos deberán entregarse en formatos legibles en los que se visualicen las tablas, relaciones y tipos de atributos. 10.3. DESARROLLO DE DIAGRAMAS PARA EL DESARROLLO. Para el diseño de diagramas UML la única recomendación en cuanto a la herramienta a emplear es que ésta permita exportar los trabajos al formato estándar XMI. 10.4. EMPAQUETADO DE SOFTWARE Para la generación del paquete de instalación en las aplicaciones cliente/servidor se utilizará la herramienta InstallShield Developer. 10.5. CONSTRUCCIÓN DE AYUDAS DE PROGRAMAS Para la construcción de ayudas de programas, tanto en entornos cliente/servidor como en entornos Web, se podrá utilizar cualquier software gratuito que permita la exportación a HTML, previa evaluación y aprobación por parte de la Subdirección Xeral de Sistemas e Tecnoloxías da Información de SERGAS. 10.6. ENTORNOS INTEGRADOS DE DESARROLLO Para los proyectos que se hagan dentro de la SXSTI, la herramienta corporativa recomendable para el desarrollo en plataforma .NET será Microsoft Visual Studio (2008 y 2010) y para plataforma JEE será Rational Application Developer (versión 8.x). Estándares Desarrollo Aplicaciones Página 24 de 30 H2050-INNOVASAUDE
11. CICLO DE VIDA DEL DESARROLLO DEL SOFTWARE La organización está comenzando a implantar el modelo de integración continua mediante el uso de diversas herramientas para poder mejorar la gestión del ciclo de vida. Entre los objetivos de mejora deseados se encuentran: • Detección y solución de problemas de forma anticipada • Disponibilidad constante de una build para pruebas o demos • Inmediatez y mejor registro de las pruebas unitarias • Monitorización continua de las métricas de calidad del proyecto. • Facilitar la gestión de la información generada a través de la herramienta de gestión de incidencias Las herramientas corporativas utilizadas son las siguientes: • Jenkins: para proporcionar la herramienta central de integración continua • Maven: para la gestión y construcción del proyecto • SVN: para el control de versiones del código fuente • Nexus: para el repositorio de artefactos. • Sonar: para la revisión de la calidad del código fuente. • Testlink: para la gestión de pruebas. • Redmine: para la gestión de proyectos. • Selenium: para la realización de pruebas automatizadas. Para cualquier proyecto de desarrollo abordado en la SXSTI bajo el marco de H2050 e InnovaSaude podrá utilizarse, cuando sea necesario en el ámbito del CST, la herramienta Subversion. Documentación: • ARQAP-GT-v.xx.xx-Control_versiones_codigo_fuentes_SVN.doc • ARQAP-DT-v.xx.xx-Integración_Continua.doc Estándares Desarrollo Aplicaciones Página 25 de 30 H2050-INNOVASAUDE
12. OTROS PROCEDIMIENTOS Para los equipos de desarrollo, es también importante conocer y cumplir los siguientes procedimientos: • Procedimiento de Publicación de aplicaciones en entorno WebSphere o GENSI-PC-v.xx.xx- Particularidades_tecnicas_publicacion_aplicaciones_Websphere.doc • Procedimiento de desarrollo de portales y sitios web del Servizo Galego de Saúde o GEWEB-PC-v.xx.xx-aprobacion_sitios_web_y_portales_corporativos.doc • Procedimiento de actualización de líneas base de software en PCs del Servizo Galego de Saúde o GESTI-PC-v.xx.xx-Actualizacion_Lineas_Base_Software_Equipos.doc Estándares Desarrollo Aplicaciones Página 26 de 30 H2050-INNOVASAUDE
13. OTRA DOCUMENTACIÓN 13.1. ANTIPATRONES Este documento pretende ser una breve introducción a los antipatrones de desarrollo, arquitectura y gestión que nos podemos encontrar en el desarrollo de software. • ARQAP-DT-v.xx.xx-Antipatrones.doc 13.2. SERVICIOS WEB Para acceder a la información gestionada por los sistemas de informació existe un conjunto de servicios web interoperables. Las características funcionales y técnicas de estos servicios web están documentadas para formar un catálogo de servicios SOA disponibles para todos los sistemas de información de la organización para su reutilización. 13.3. PRUEBAS DE CARGA CON OPENSTA Contiene una serie de indicaciones sobre cómo se deben realizar las pruebas de carga en las aplicaciones de la Consellería de Sanidade desarrolladas bajo el marco de H2050 e InnovaSaude. • ARQAP-DT-v.xx.xx-Pruebas_carga_web_OpenSTA.doc. 13.4. CATÁLOGO DE LÍNEAS BASE EXTENSIONES SOFTWARE PUESTO CLIENTE Este documento detalla la configuración software estándar que debe tener un puesto cliente en la Consellería de Sanidade / Servizo Galego de Saúde y organismos dependientes. • GESTI-RG-v.xx.xx- Catalogo_Lineas_Base_Extensiones_Software_Puesto_Cliente.doc Estándares Desarrollo Aplicaciones Página 27 de 30 H2050-INNOVASAUDE
14. ARQUITECTURA SIAC’S Para extraer los datos de los sistemas operacionales, transformarlos y cargarlos en los sistemas de análisis, la Consellería de Sanidade utiliza como herramienta corporativa DataStage, por lo que todo Data Mart de la Consellería de Sanidade es alimentado utilizando dicha herramienta. DataStage es un completo conjunto de componentes diseñado para gestionar los procesos de recopilación, integración, validación, organización y administración de grandes volúmenes de datos. Asimismo realiza las funciones necesarias para extraer, transformar y cargar datos de una amplia variedad de fuentes e integrarlos en data warehouses, data marts y aplicaciones analíticas. También incluye funciones de gestión de metadatos y de control de calidad de datos. El gestor de base de datos utilizado para almacenar los datos del Data Mart también es corporativo y se ha seleccionado tras un estudio de rendimiento en el que se valoraron varios productos comerciales. En cuanto a la explotación de la información se ha hecho una evaluación de la herramienta más adecuada en función de las necesidades de la Consellería de Sanidade, y se ha optado por la línea de productos de Business Objects. Una vez seleccionada dicha línea de productos, se ha implantado como herramienta corporativa. Con ello se ha conseguido que todo el personal de la organización acceda a la información a través de una interfaz común, de forma que un usuario que conozca dicha herramienta es capaz de acceder a cualquier Data Mart definido en la Consellería de Sanidade (siempre y cuando tenga los permisos correspondientes). Business Objects se orienta hacia el usuario final, es decir, es de fácil aprendizaje y manejo, no exigiendo conocimientos informáticos. La Consellería de Sanidade dispone tanto de la herramienta WebIntelligence, que permite realizar consultas, informes y análisis a través de la Web, como la herramienta cliente/servidor, que además permite al usuario construir sus propios informes de una forma simple e intuitiva. A través de Infoview se dispone de un punto de entrada común a los Data Marts y que va a permitir a nuestros usuarios tanto visualizar, como refrescar, enviar, publicar y planificar documentos en ambos entornos. Existe documentación con los estándares definidos en la Consellería de Sanidade para el desarrollo de SIACs. A continuación se comentan algunos de los estándares que se han definido en la Consellería de Sanidade con respecto a los Sistemas de Información de Análisis Complejos (SIACs). Estándares Desarrollo Aplicaciones Página 28 de 30 H2050-INNOVASAUDE
14.1. ARQUITECTURA EN BUS DE LOS SIACS DE LA CONSELLERÍA DE SANIDADE El objetivo de este documento es definir el conjunto de guías y estándares que permitirán construir el Data Warehouse de la Consellería de Sanidade como conjunto de SIACS, dotándolos de una arquitectura común, reflejando características y normativas que se deben emplear en los desarrollos e implantaciones de esos proyectos, con el fin de evitar “islas de información”, encajando todos los Data Marts de forma que se permita una visión global de cada área de negocio, a través de las dimensiones y los hechos conformados. • SASOP-DT-v.xx.xx-Arquitectura_de_referencia_SIAC 14.2. MODELADO DE DATOS EN LOS SIACS DE LA CONSELLERÍA DE SANIDADE Describe una serie de normas y estándares que debe cumplir el modelado de datos de los diferentes sistemas que conforman la arquitectura en bus de Data Mart de la Consellería de Sanidade. Pretende ser una guía que permita unificar el diseño de todos los Data Marts y que describa las soluciones a distintas problemáticas que surgen en la construcción de estos sistemas. El objetivo es definir un estándar en la elaboración de modelos para proyectos Data Warehouse para dotarlos a todos de una estructura común, reflejando características y normativas que se deben emplear en los desarrollos e implantaciones de esos proyectos, con el fin de evitar “islas de información”, encajando todos los Data Marts a través de la conformación de dimensiones y hechos comunes. • SASOP-DT-v.xx.xx-Guia_de_Estilo_Base_de_Datos 14.3. ARQUITECTURA DE PROCESOS DE EXTRACCIÓN, TRANSFORMACIÓN Y CARGA Define un estándar de nomenclatura y documentación para proyectos realizados con la herramienta DataStage, para dotar a todos los proyectos de una apariencia común y facilitar su desarrollo y mantenimiento. Se describen las convenciones adoptadas por la SXSTI para nombrar y documentar los elementos que componen cada uno de los trabajos de DataStage (herramienta de Extracción Transformación y Carga de datos empleada por dicho servicio en los proyectos de inteligencia de negocio o SIACs). • SASOP-DT-v.xx.xx-Diseño_ETL 14.4. GUÍA DE ESTILO DE BUSINESS OBJECTS DESIGNER Describe las convenciones para nombrar los elementos que componen cada uno de los trabajos de Designer, la herramienta de diseño de universos de Business Objects empleada por la Consellería de Sanidade en los proyectos de inteligencia de negocio o SIACs. Esta guía recoge las características mínimas que debe cumplir un universo para lograr rapidez y simplicidad de uso por el usuario de dicho universo. • SASOP-DT-v.xx.xx-Guia_Designer_BO Estándares Desarrollo Aplicaciones Página 29 de 30 H2050-INNOVASAUDE
14.5. ESTRUCTURA DEL SUPERVISOR DE BUSINESS OBJECTS DE LA CONSELLERÍA DE SANIDADE Describe las convenciones adoptadas para organizar a los usuarios que acceden a la información de los SIACs mediante la herramienta Business Objects. La estructura de grupos de usuarios y la política de asignación de permisos a funcionalidades e información se definen mediante la herramienta Supervisor de Business Objects. El objetivo de este documento es definir un estándar de organización para proyectos realizados con la herramienta Business Objects, para dotar a todos los proyectos de una estructura común y facilitar el mantenimiento de los permisos de acceso a usuarios. Se describen un conjunto de indicaciones acerca de cómo se deben organizar los usuarios en grupos, cuál es la política adecuada de asignación de permisos y cómo deben publicarse los recursos de Business Objects. Son normas de obligado cumplimiento para los desarrollos que empleen Business Objects. Estándares Desarrollo Aplicaciones Página 30 de 30 H2050-INNOVASAUDE
También puede leer