Secretaría Ejecutiva de Consejo de Ministros de Salud de Centroamérica y República Dominicana, SE-COMISCA “Plan de trabajo y especificaciones técnicas del Sistema Informático de Monitoreo y Evaluación a adaptar para el seguimiento del plan estratégico del sector salud de panamá” Febrero/2012 Página 1 de 14 Final Bulevar Cancillería, Distrito El Espino, Ciudad Merliot, El Salvador, Centroamérica. Secretaría Ejecutiva de Consejo de Ministros de Salud de Centroamérica y República Dominicana, SE-COMISCA Implementación del Sistema Informático de Monitoreo en Panamá Página 2 de 14 Final Bulevar Cancillería, Distrito El Espino, Ciudad Merliot, El Salvador, Centroamérica. Secretaría Ejecutiva de Consejo de Ministros de Salud de Centroamérica y República Dominicana, SE-COMISCA Implementación del Sistema Informático de Monitoreo en Panamá Introducción: El presente documento contiene el Plan de trabajo y especificaciones técnicas del Sistema Informático de Monitoreo y Evaluación a implementar para el seguimiento del Plan Estratégico del Sector Salud de panamá. Se inicia haciendo una descripción de cada una de las actividades a realizar durante la ejecución del proyecto, y luego se muestra su programación en el tiempo, finalmente se describen las metodologías y tecnologías utilizadas en el desarrollo de la aplicación informática. Página 3 de 14 Final Bulevar Cancillería, Distrito El Espino, Ciudad Merliot, El Salvador, Centroamérica. Secretaría Ejecutiva de Consejo de Ministros de Salud de Centroamérica y República Dominicana, SE-COMISCA Implementación del Sistema Informático de Monitoreo en Panamá Objetivo Apoyar al Ministerio de Salud de Panamá trasladando la experiencia del Sistema Informático desarrollado por la Secretaría Ejecutiva del COMISCA para el Monitoreo y Evaluación del Plan de Salud de Centroamérica y República Dominicana, al Plan Estratégico del Sector Salud de Panamá. Plan de Trabajo A continuación se presenta el detalle de actividades y su programación en el tiempo para la adecuación e implementación del Sistema de Monitoreo y Evaluación en Panamá. Página 4 de 14 Final Bulevar Cancillería, Distrito El Espino, Ciudad Merliot, El Salvador, Centroamérica. Secretaría Ejecutiva de Consejo de Ministros de Salud de Centroamérica y República Dominicana, SE-COMISCA Implementación del Sistema Informático de Monitoreo en Panamá Lista de actividades Secretaría Ejecutiva del Consejo de Ministros de Salud de Centroamérica, SE-COMISCA Adecuación e implementación del sistema informático de Monitoreo y Evaluación del Plan de Salud para el monitoreo y evaluación del Plan Estratégico del Sector Salud de Panamá Plan de Trabajo No Fase Levantamiento del requerimiento 01 Ajustes al sistema informático 02 03 Validación del requerimiento Instalación configuración y 04 pruebas del sistema Actividad Descripción Definición de las necesidades del sistema a Realizar un levantamiento de las características del implementar. modelo de monitoreo implementado en Panamá. Esta actividad permitirá identificar los aspectos a modificar en el sistema informático de monitoreo de COMISCA para ajustarlo a las necesidades especificas de Panamá. Durante esta actividad también se recopilarán todos los catálogos de datos e instrumentos de monitoreo. Adecuación del sistema informático basado En esta actividad se realizaran todos los ajustes en en el requerimiento definido en la etapa el diseño de la base de datos y codigo del sistema anterior. para adaptarlo a las necesidades de monitoreo de Panamá. También se incorporarán los catálogos de datos utilizados en el modelo de monitoreo del Plan Estratégico del Sector Salud de Panamá. Responsables Cristian Rodríguez, SECOMISCA Validación de las modificaciones realizadas al sistema informático. Dirección de Planificación, MINSA Panamá/Cristian Rodríguez, SECOMISCA Instalación y Configuración del sistema en los servidores del Ministerio de Salud de Panamá. Se revisará la funcionalidad del sistema informático, el cual deberá de estar acorde al requerimiento definido en la primera actividad de este plan. El objetivo de esta actividad es dejar funcionando el sistema desde las localidades del Ministerio de Salud de Panamá. Cristian Rodríguez, SECOMISCA Dirección de Informática, MINSA Panamá/Cristian Rodríguez, SECOMISCA Página 5 de 14 Final Bulevar Cancillería, Distrito El Espino, Ciudad Merliot, El Salvador, Centroamérica. Secretaría Ejecutiva de Consejo de Ministros de Salud de Centroamérica y República Dominicana, SE-COMISCA Implementación del Sistema Informático de Monitoreo en Panamá Secretaría Ejecutiva del Consejo de Ministros de Salud de Centroamérica, SE-COMISCA Adecuación e implementación del sistema informático de Monitoreo y Evaluación del Plan de Salud para el monitoreo y evaluación del Plan Estratégico del Sector Salud de Panamá Plan de Trabajo No Fase Actividad Capacitación a Capacitación a administradores del usuarios y sistema. 05 administradores Capacitación a usuarios finales del sistema. Se realizarán capacitaciones a todos los involucrados en el proceso de monitoreo y evaluación del Plan Estratégico del Sector Salud de Panamá. 06 Implementación Puesta en marcha. 07 Capacitación técnica 08 Descripción Responsables Se realizará una capacitación para las actividades Dirección de Planificación, de configuración y seguridad a los administradores Dirección de Informática, del sistema. MINSA Panamá/Cristian Rodríguez, SECOMISCA Capacitación técnica del sistema. Base de datos y herramientas de desarrollo. Esta actividad es la culminación de todo el proceso y consiste en la puesta en marcha real del sistema. Durante esta fase se brindará apoyo técnico ante cualquier problema que pueda presentar el sistema y que no fue detectado en las etapas de validación previas. Esta actividad es la culminación de todo el proceso y consiste en la puesta en marcha real del sistema. Durante esta fase se brindará apoyo técnico ante cualquier problema que pueda presentar el sistema y que no fue detectado en las etapas de validación previas. Dirección de Planificación, Dirección de Informática, MINSA Panamá/Cristian Rodríguez, SECOMISCA Dirección de Planificación, Dirección de Informática, MINSA Panamá/Cristian Rodríguez, SECOMISCA Se dará una inducción técnica en cuanto al diseño de la base de datos y herramientas utilizadas para el desarrollo del sistema. Página 6 de 14 Final Bulevar Cancillería, Distrito El Espino, Ciudad Merliot, El Salvador, Centroamérica. Secretaría Ejecutiva de Consejo de Ministros de Salud de Centroamérica y República Dominicana, SE-COMISCA Implementación del Sistema Informático de Monitoreo en Panamá Cronograma de actividades Secretaría Ejecutiva del Consejo de Ministros de Salud de Centroamérica, SE-COMISCA Adecuación e implementación del sistema informático de Monitoreo y Evaluación del Plan de Salud para el monitoreo y evaluación del Plan Estratégico del Sector Salud de Panamá Plan de Trabajo No Fase Actividad Levantamiento del 01 requerimiento Definición de las necesidades del sistema a implementar. Ajustes al sistema 02 informático Adecuación del sistema informático basado en el requerimiento definido en la etapa anterior. Validación del 03 requerimiento Validación de las modificaciones realizadas al sistema informático. Instalación configuración y 04 pruebas del sistema Instalación y Configuración del sistema en los servidores del Ministerio de Salud de Panamá. 05 Capacitación 06 07 Implementación Capacitación técnica 08 Capacitación a administradores del sistema. Capacitación a usuarios finales del sistema. Puesta en marcha. Capacitación técnica del sistema. Base de datos y herramientas de desarrollo. MES MARZO MES ABRIL MES MAYO MES JUNIO S1 S2 S3 S4 S1 S2 S3 S4 S1 S2 S3 S4 S1 S2 S3 S4 Página 7 de 14 Final Bulevar Cancillería, Distrito El Espino, Ciudad Merliot, El Salvador, Centroamérica. Secretaría Ejecutiva de Consejo de Ministros de Salud de Centroamérica y República Dominicana, SE-COMISCA Implementación del Sistema Informático de Monitoreo en Panamá Plataforma Tecnológica Aplicación Web. La aplicación será implementada en un Contenedor de Servlet o un servidor de aplicaciones como Glassfish o JBoss y XUL/XHTML (Tomcat1 Open Origen Application Server). También se desarrolló como una aplicación distribuida basada en Internet, utilizando tecnologías JavaEE (Java Enterprice Edition) antes J2EE de Sun Microsystem y patrones de diseño; los Core J2EE Patterns2 para mayor referencia consultar [CJ2EE]. Su arquitectura esta basada en el patrón MVC (Model-View-Controller), Modelo, Vista, Controlador por sus siglas en inglés. El objetivo principal de esta arquitectura es separar, de la forma más limpia posible las distintas capas de la aplicación, con especial atención a permitir un modelo de domino limpio, facilidad de mantenimiento y evolución de la aplicación. Otros elementos importantes son la facilidad del despliegue y el empleo de las tecnologías disponibles en la actualidad. El patrón MVC nos ayuda a desacoplar la lógica de negocios de la interfaz de usuario, MVC separa los conceptos de diseño, y por lo tanto reduce la duplicación de código. MVC también ayuda a los desarrolladores con diferentes capacidades a enfocarse en sus habilidades principales y a colaborar a través de interfaces claramente definidas. Para cada una de las capas se han implementado patrones de diseño específicos, entre los que podemos mencionar: Capa de vista, SeriveLocator, Servlet Filter, Capa modelo, DAO (Data Access Object), VO ó DTOs (Data Transfers Object). La figura siguiente, muestra la Arquitectura de desarrollo y tecnologías propuestas para aplicación a desarrollar. 1 2 Sitio Web, https://glassfish.dev.java.net/ Sitio Web, http://java.sun.com/blueprints/corej2eepatterns/ Página 8 de 14 Final Bulevar Cancillería, Distrito El Espino, Ciudad Merliot, El Salvador, Centroamérica. Secretaría Ejecutiva de Consejo de Ministros de Salud de Centroamérica y República Dominicana, SE-COMISCA CAPA VISTA Implementación del Sistema Informático de Monitoreo en Panamá Controlador (ZKEngine) ZK Backing Beans XUL/XHTML (Vista) Ajax CAPA MODELO Interfaces de servicios Beans de Servicios SPRING FRAMEWORK CAPA INTEGRACION Manejo declarativo de transacciones Objetos de lógica de negocio Integración con Hibernate Data Access Object HIBERNATE XML Mapeos Clases Persistentes SERVIDOR DE WEB SERVIDOR DE JEE Base de Datos Página 9 de 14 Final Bulevar Cancillería, Distrito El Espino, Ciudad Merliot, El Salvador, Centroamérica. Secretaría Ejecutiva de Consejo de Ministros de Salud de Centroamérica y República Dominicana, SE-COMISCA Implementación del Sistema Informático de Monitoreo en Panamá Transacciones Las transacciones se han implementado utilizando características de programación orientada a aspectos, proporcionadas por SpringFramework3 según [Spring2]. Este se encargará de hacer un manejo declarativo de todas las transacciones que se realicen en la aplicación. Seguridad El sistema implementa mecanismos de seguridad basados en el principio del acceso mínimo requerido. La aplicación implementa autenticación a través de: Autenticación: A través de usuario y contraseña para acceder al sistema. Autorización: acorde al perfil del usuario. Campos de auditoría: Para todas las tablas de movimiento se guardará el usuario y fecha de inserción y modificación de registros. La autenticación y autorización para la aplicación se implementa a través de un ServletFilter4, este monitoreará cada petición que el usuario realice a la aplicación y sólo concederá el recurso si este usuario está en un grupo que tenga acceso a éste. Persistencia La persistencia de datos se maneja utilizando un ORM (Object to Relational Mapping), para casar el mundo de objetos de Java con la base de datos relacional. Se utilizará Hibernate5 como ORM y MS SQL Server 2008 como gestor de base de datos, en la Figura 3, se muestra en alto nivel, el funcionamiento del motor de persistencia Hibernate. 3 Sitio Web, http://www.springframework.org Sitio Web, http://java.sun.com/products/servlet/Filters.html 5 Sitio Web, http://www.hibernate.org/ 4 Página 10 de 14 Final Bulevar Cancillería, Distrito El Espino, Ciudad Merliot, El Salvador, Centroamérica. Secretaría Ejecutiva de Consejo de Ministros de Salud de Centroamérica y República Dominicana, SE-COMISCA Implementación del Sistema Informático de Monitoreo en Panamá APLICACION OBJETOS PERSISTENTES HIBERNATE Clases Persistentes usando Annotations SENTENCIAS SQL BASE DE DATOS Figura 3. Funcionamiento de alto nivel en Hibernate. Página 11 de 14 Final Bulevar Cancillería, Distrito El Espino, Ciudad Merliot, El Salvador, Centroamérica. Secretaría Ejecutiva de Consejo de Ministros de Salud de Centroamérica y República Dominicana, SE-COMISCA Implementación del Sistema Informático de Monitoreo en Panamá Tecnologías Utilizadas Para el desarrollo del sistema se utilizan las siguientes tecnologías: ZK Framework 3.6.4, Spring Framework 2.5, Hibernate 3. Estas se describen con mayor de talle a continuación. ZK Framework. ZK es un marco de trabajo de componentes de interfaces de usuario del lado del servidor para aplicaciones Web basadas en Java. Este framework posee un mecanismo conducido por eventos basado en AJAX, sustentado sobre componentes XUL y XHTML, y un lenguaje de marcación para diseñar interfaces de usuario. Las páginas de la aplicación utilizan componentes XUL/XHTML ricos en características, y son manipuladas con eventos disparados por la actividad del usuario final. Es similar al modelo de programación encontrado en las aplicaciones basadas en GUI de escritorio. Figura 4, Arquitectura ZK Framework Página 12 de 14 Final Bulevar Cancillería, Distrito El Espino, Ciudad Merliot, El Salvador, Centroamérica. Secretaría Ejecutiva de Consejo de Ministros de Salud de Centroamérica y República Dominicana, SE-COMISCA Implementación del Sistema Informático de Monitoreo en Panamá Spring Framework El Spring Framework (también conocido simplemente como Spring) es un framework de código abierto de desarrollo de aplicaciones para la plataforma Java. Entre sus posibilidades más potentes está su contenedor de Inversión de Control (Inversión de Control, también llamado Inyección de Dependencias, es una técnica alternativa a las clásicas búsquedas de recursos vía JNDI. Permite configurar las clases en un archivo XML y definir en él las dependencias. De esta forma la aplicación se vuelve muy modular y a la vez no adquiere dependencias con Spring). Entre las características de Spring utilizadas se incluyen: Manejo de Beans con contexto de aplicación. Spring puede organizar de forma efectiva nuestros objetos de la capa central y manejar las conexiones por nosotros. Spring puede eliminar la proliferación de singletons y facilita unas buenas prácticas de programación orientada a objetos, por ejemplo utilizando interfaces. Manejo de Transacciones Declarativo. Spring utiliza AOP (aspect-oriented programming) para ofrecer manejo de transacciones declarativas sin utilizar un contenedor EJB. De esta forma, el control de transacciones se puede aplicar a cualquier POJO. Integración con Hibernate. Se integra bien con marcos de trabajo de mapeo O/R, especialmente con Hibernate. Spring ofrece un manejo seguro y eficiente de sesiones Hibernate, maneja la configuración de la SessionFactory de Hibernate. Hibernate Hibernate es un motor de persistencia de código abierto. Permite mapear un modelo de clases a un modelo relacional, que evita la necesidad de utilizar el API JDBC. Hibernate soporta la mayoría de los sistemas de bases de datos SQL, proporciona un puente elegante entre los mundos objeto y relacional. Hibernate ofrece facilidades para recuperación y actualización de datos, control de transacciones, repositorios de conexiones a bases de datos. Página 13 de 14 Final Bulevar Cancillería, Distrito El Espino, Ciudad Merliot, El Salvador, Centroamérica. Secretaría Ejecutiva de Consejo de Ministros de Salud de Centroamérica y República Dominicana, SE-COMISCA Implementación del Sistema Informático de Monitoreo en Panamá Herramientas utilizadas para el Desarrollo Para el desarrollo de la aplicación informática se han utilizado las siguientes herramientas: NOMBRE DESCRIPCION Power Designer Herramienta para modelado de sistemas. NetBeans El IDE NetBeans es un IDE - una herramienta para programadores pensada para escribir, compilar, depurar y ejecutar programas. Está escrito en Java. El IDE NetBeans es un producto libre y gratuito sin restricciones de uso. iReport 4.5.0 iReport es un diseñador gratuito y de código abierto para JasperReports. Crea diseños muy sofisticados que contienen gráficos, imágenes, subinformes, tablas de referencias cruzadas y mucho más. Puede acceder a datos a través de JDBC, TableModels, JavaBeans, XML, Hibernate, CSV, y fuentes personalizadas y luego publicar estos informes en formato PDF, RTF, XML, XLS, CSV, HTML, XHTML, texto, DOCX, u OpenOffice. Estándares de Desarrollo En esta sección se describe los patrones de desarrollo utilizados para la construcción de la aplicación, se detallan tanto los estándares para el desarrollo de interfaces de usuario y los estándares de codificación. Interfaces de Usuario Las interfases de usuario se desarrollaron utilizando estándares, los cuales indican que para un mantenimiento de una tabla u operación CRUD (Create, Read, Update, Delete) se requieren básicamente de tres páginas ZUL. nombreTablaList: Esta página sirve para realizar búsquedas filtradas por los campos que los usuarios consideren necesarios, a partir de ella se puede ver el detalle de un registro, borrar un registro y cargar un registro en modo de edición al formulario del mantenimiento de la tabla. nombreTablaForm: Esta página es utilizada para insertar o modificar un registro en la base de datos, por lo tanto podrá ser accedido en modo de inserción y/o edición, Base de Datos Para la gestión de los datos será implementado sobre el gestor de bases de datos SQL Server 2008, ya que es la misma sobre la que corre el sistema de monitoreo de la SE COMISCA, y el Ministerio de Salud de Panamá ya cuenta con el licenciamiento de esta herramienta. Página 14 de 14 Final Bulevar Cancillería, Distrito El Espino, Ciudad Merliot, El Salvador, Centroamérica.