JAVATO: UN FRAMEWORK DE DESARROLLO JAVA LIBRE



Documentos relacionados
Evolución tecnológica del sistema de gestión de Recursos Humanos de la Comunidad Autónoma de la Región de Murcia

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

PLIEGO DE PRESCRIPCIONES TÉCNICAS PARA LA CONTRATACIÓN DE SERVICIOS DE MANTENIMIENTO DEL SISTEMA DE INFORMACIÓN ESTADÍSTICO DE LA CONSEJERÍA DE

CAPITULO VI ESTRATEGIAS DE OUTSOURCING

Sistema de Mensajería Empresarial para generación Masiva de DTE

BOLETÍN DE NOVEDADES Barcelona, enero de 2008

Análisis y gestión de riesgo

ÍNDICE 2. DIRECCIONES DE INTERÉS SOBRE TELETRABAJO Y DISCAPACIDAD BIBLIOGRAFÍA...

GUÍA DE SEGURIDAD DE LA INFORMACIÓN GUÍA GOBIERNO CORPORATIVO PARA EMPRESAS SEP

Figure 16-1: Phase H: Architecture Change Management

La publicación. Pere Barnola Augé P08/93133/01510

1 Características de Google analytics

catálogo de servicios

Curso: Arquitectura Empresarial basado en TOGAF

EL PROYECTO CREA TU PLAN DE NEGOCIO DEL MINISTERIO DE CULTURA

Unidad VI: Supervisión y Revisión del proyecto

GESTIÓN DE IDENTIDAD CORPORATIVA DE LA CC.AA. DE MURCIA

Meta4, gestión global del capital humano

1. Introducción (justificación del trabajo, contexto, experiencias previas, etc.).

Planificación de Proyectos con SAP HANA Cloud

Para llegar a conseguir este objetivo hay una serie de líneas a seguir:

Curso de Migración de Escritorios a SFA Módulo 6: Abordando la Migración. Versión: v01.02a Fecha:10/02/11

CUESTIONARIO DE AUTOEVALUACIÓN

MANUAL DE GESTIÓN: SISTEMA DE GESTIÓN DE LA CALIDAD EN LA UNIDAD de FORMACIÓN DE LA DIPUTACION DE MALAGA

Unidad I: Introducción a la gestión de proyectos

Capítulo 6: Conclusiones

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

PLIEGO DE PRESCRIPCIONES TÉCNICAS PARTICULARES QUE REGIRÁN LA REALIZACIÓN DEL CONTRATO DE LA OFICINA DE CALIDAD PARA LA

SITIO WEB DE INTERVENCIÓN PSICOSOCIAL. Un espacio para el intercambio de experiencias prácticas

ITINERARIOS PERSONALIZADOS DE INSERCIÓN

LA FUNCION INFORMATICA EN LAS ADMINISTRACIONES PUBLICAS

Gestión de la Configuración

HABILIDADES MÓDULO IE

BOLETÍN DE NOVEDADES Barcelona, enero de 2007

Por qué es importante la planificación?

La gestión n de proyectos. Planificación n y metodología. Visión, misión n y alcance.

UNA HERRAMIENTA DE GESTION CENTRALIZADA DE INDICADORES DE CALIDAD EN EUSTAT

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT

de la LOPD y del RDLOPD Cómo cumplir con la Ley sin perder operatividad y eficacia

Bloque I: Conceptos básicos y fundamentos de la Dirección de Proyectos.

Programa en Microsoft Visual Basic 6.0 para el análisis de riesgos eléctricos en oficinas y centros de cómputo. López Rosales, Juan Carlo.

Respuestas: Consulta para una Estrategia Nacional de Propiedad Industrial

Operación 8 Claves para la ISO

Guía LEGAL Conectores sociales Y "SOCIAL LOGIN"

INFORME TECNICO PREVIO DE EVALUACIÓN DE SOFTWARE N /UIE-PATPAL - FBB

Usuarios y Permisos. Capítulo 12

LA PLANIFICACIÓN ESTRATÉGICA EN MATERIA TIC EN EL ÁMBITO DE LA AGE

ESPECIFICACIONES TÉCNICAS DEL PROCESO DE ATENCIÓN AL CIUDADANO

MARCO DE COOPERACIÓN CON LAS UNIDADES DE INFORMÁTICA DISTRIBUIDAS

SEMINARIO SOBRE LA CALIDAD DEL SOFTWARE Y LA MEJORA DE PROCESOS

GUÍA TÉCNICA. Desarrollo de Proyectos en Plataforma Liferay en el Gobierno de Extremadura

Ganar competitividad en el mercado con los sistemas adecuados: SAP ERP y SAP CRM

GUÍA TÉCNICA. Desarrollo de Sistemas de Información la plataforma Business Intellingence Pentaho

Nota de Información al cliente ISO/IEC Proceso de auditoría

Manual para Empresas Prácticas Curriculares

Plan de voluntariado. Rosario [Escribir el nombre de la compañía] [Seleccionar fecha]

Módulo III. Aprendizaje permanente Tema 4: Aprendizaje de actividades laborales Entrevista. El papel de las familias como impulsoras del empleo

NORMALIZACIÓN Y CALIDAD: DE LA TEORÍA A LA PRÁCTICA

III ED PREMIOS EMPRENDEDOR UCM

ANTECEDENTES POR ELLO

Unidad II. ERP s Definición de ERP s.

Departamento de Informática. IES Los Cerros.

RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU

IAP ENTORNOS INFORMATIZADOS CON SISTEMAS DE BASES DE DATOS

Gestión del equipo de trabajo del almacén

CONEIX PROJECT KNOWLEDGE MANAGEMENT.

Informe de Seguimiento. Graduado o Graduada en Administración y Dirección de Empresas. Empresas de la Universidad de Cádiz

Plantilla para Casos de Éxito

KAIZEN, CONCEPTOS, ALCANCES Y PROCESO KAIZEN

PROGRAMA DE REFUERZO EDUCATIVO EN PRIMARIA

Sesión No. 2. Contextualización: Nombre de la sesión: Paquetería ASPEL - COI PAQUETERÍA CONTABLE

GESTIÓN Y CONTROL DEL DESARROLLO E IMPLANTACIÓN DE APLICACIONES

Deberemos escoger de nuestro equipo humano un responsable de la implementación (si no queremos hacerlo personalmente).

Consolidación de los grados tras la primera promoción

Estrategia para empresas, administraciones

5.8. REGISTRO DE FACTURAS.

EJEMPLO DE REPORTE DE LIBERTAD FINANCIERA

PARA COMERCIANTES Y AUTÓNOMOS. INFORMACIÓN SOBRE TARJETAS DE CRÉDITO.

Acción de obligado cumplimiento 2 -Adaptación de PROA a la modalidad semipresencial entre septiembre y diciembre de 2015.

Introducción. La diferenciación positiva de las empresas de APROSER

LAS NUEVAS METODOLOGIAS DIDACTICAS BASADAS EN INTERNET COMO FACTOR CLAVE PARA EL DESARROLLO DE LA TELEFORMACION

La gestión de contenidos en el nuevo Portal del Ministerio de Hacienda

PLIEGO DE PRESCRIPCIONES TÉCNICAS QUE HA DE REGIR EL PROCEDIMIENTO DE CONTRATACIÓN PARA EL SUMINISTRO DE UN SISTEMA INTEGRAL DE GESTIÓN DOCUMENTAL Y

ACUERDOS POR LA SOLIDARIDAD DOCUMENTO DE POSICION ACUERDO POR LA SOLIDARIDAD DOCUMENTO DE POSICIÓN

FORMACIÓN CONSULTORÍA. PROYECTOS I+D+i

Programa 18 Eficiencia en la gestión académica

Aplicación de la metodología de las 5 S al diseño de tarjetas de

Fundación Accenture. Guía de buenas prácticas en formación para el empleo

Módulo 2. Inicio con Java

ISO 17799: La gestión de la seguridad de la información

VALORES CORPORATIVOS GRIFOLS

DIGITALIZACIÓN DE DOCUMENTOS: PROYECTO DIGISAN

PEEPER PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERIA CARRERA DE INGENIERIA DE SISTEMAS. Mayo Versión 2.1 OSCAR IVAN LÓPEZ PULIDO

MANUAL DE PROCEDIMIENTOS DE SOLICITUD DE TRABAJO Y CUENTAS PRESUPUESTARIAS

Gestión documental y archivado electrónico. Universidad de Murcia

Software libre aplicado al desarrollo de aplicaciones corporativas. Proyecto gvhidra.

Informe Anual de Actividades Comité de Auditoría y Cumplimiento de Vocento, S.A.

Sistemas de Información Empresarial. Prof. Iván Mayorga Paredes ICI

PROCESO DE UN TRATADO DE LA ONU SOBRE EMPRESA Y DERECHOS HUMANOS

Orientación Diseño Industrial Asignatura: DIRECCION DE PROYECTOS 6 año

Transcripción:

JAVATO: UN FRAMEWORK DE DESARROLLO JAVA LIBRE Jefe de Servicio de Integración de Aplicaciones Corporativas Dirección General de Informática (Comunidad Autónoma Región de Murcia) Técnico Responsable Dirección General de Informática (Comunidad Autónoma Región de Murcia) Técnico Responsable Dirección General de Informática (Comunidad Autónoma Región de Murcia) 1

Palabras clave Framework desarrollo. Java. Software libre. MÉTRICA 3. Patrón MVC. Resumen de su Comunicación Se describe un framework desarrollado en la DGI de la CARM para el desarrollo en Java. Dicho framework consta tanto de una metodología (basada en METRICA 3) como de un conjunto de librerías y módulos comunes a todos los proyectos. Su objetivo es múltiple: homogeneizar los desarrollos que se realizan internamente por distintos equipos de trabajo de la propia Consejería, homogeneizar los desarrollos que se subcontratan a empresas, y ofrecerlo al resto de Centros Directivos de la Comunidad Autónoma de Murcia para conseguir un estándar de desarrollo útil para todos. Además, JAVATO se licencia como software libre, tanto para el uso por parte de cualquier proveedor que quiera trabajar para la CARM como para desarrollos para otros clientes. 2

JAVATO: UN FRAMEWORK DE DESARROLLO JAVA LIBRE 1. Antecedentes La Dirección General de Informática (DGI) tiene numerosas experiencias en la implantación de entornos de desarrollo productivos, siendo los principales los dedicados a las aplicaciones corporativas de la Comunidad Autónoma de la Región de Murcia (CARM). Dichos entornos se han apoyado en metodologías, técnicas y herramientas, implantadas de manera progresiva, conforme se crecía en el número de usuarios, técnicos, programas y riesgos. La incorporación de empresas y agentes externos al ciclo de vida de las aplicaciones ha obligado a unas normas y controles aún más exhaustivos. En el panorama tecnológico actual, las tecnologías basadas en Java y productos open source, si bien son un recurso necesario en todos los proyectos, requieren de un modo de trabajo diferente. Los nuevos modelos de desarrollo, implican importantes cambios conceptuales para los equipos de desarrollo tradicional complicando considerablemente la gestión de la configuración y aumentando considerablemente los riesgos. Los problemas derivados de una configuración deficiente, pueden o no afectar a los objetivos funcionales de un proyecto, pero pasarán factura tarde o temprano en otros aspectos esenciales como la seguridad, costes de mantenimiento, número de defectos, incumplimiento de especificaciones, etc. Según Gartner Group un alto porcentaje de proyectos Java fracasa principalmente por dos razones: Aunque los desarrolladores conocen el lenguaje Java, no tienen habilidades suficientes sobre las arquitecturas técnicas y desarrollos orientado a objetos. No incorporan una gestión de la configuración adecuada que abarque todo su ciclo de vida. Muy pocos proyectos son terminados completamente, no hay métodos definidos, no se saca todo el provecho de las herramientas y hay poca o ninguna cultura de Ingeniería de Software. Esto provoca una desconfianza en los productos software, en las herramientas e incluso en los profesionales. La disciplina tecnológica y administrativa dedicada a la producción de sistemática de productos de programación, es un principio básico a aplicar de una manera rigurosa, y aún más en sistemas que interaccionen directamente con el ciudadano. 2. Descripción JAVATO es un framework para entornos Web, basado en tecnología J2EE, que permite la creación y desarrollo de proyectos Java de una forma controlada y metódica. El código fuente y toda la documentación asociada serán publicitados en Internet por la Administración, total o parcialmente, bajo cualquier licencia que considere oportuna, incluidas las disponibles en http://www.opensource.org/licenses. 3

Esquema de aplicaciones sobre JAVATO Con el desarrollo y/o adaptación de este framework se pretendía, tanto para la Consejería de Economía y Hacienda como para el resto de organismos autónomos y Consejerías, que: todos los proyectos Java desarrollados siguieran la misma estructura y comportamiento compartir y reutilizar código entre proyectos compartir y reutilizar funcionalidad entre proyectos facilitar el mantenimiento y extensión de los proyectos agilizar los desarrollos aumentar la productividad encapsular ciertas funcionalidades críticas para los desarrolladores Facilitar la integración de aplicativos desarrollados por múltiples proveedores distintos. Núcleo de JAVATO Con el desarrollo del Núcleo de JAVATO, se consiguen los siguientes objetivos: Ofrecer servicios comunes y repetitivos entre todos los proyectos Aislar y/o encapsular ciertas tareas o funcionalidades Garantizar sistemas de seguridad y confidencialidad Asegurar la realización correcta de ciertas tareas El núcleo no se ha desarrollado como un todo desde su origen, sino como algo evolutivo, de manera que con el paso del tiempo aumentará su funcionalidad. Definición de especificaciones La otra parte importante del desarrollo o adaptación de un framework es el conjunto de especificaciones desarrolladas que deben ser aplicadas de forma estricta. Las especificaciones permiten definir: la forma de trabajar en la arquitectura las restricciones, normas y reglas a seguir la nomenclatura y disposición de los elementos las relaciones entre los módulos 4

3. Requisitos de JAVATO Estructura física y lógica fundamentada en entorno Web y basada en el patrón Modelo - Vista - Controlador (MVC) Utilización de sistemas abiertos (Open Source): Se usan, en la medida de lo posible, elementos del mercado de libre distribución que están suficientemente probados y estables como para ser incluidos en un entorno de estas características. Utilización de tecnología Java (J2EE) tanto para el desarrollo de Javato, como para los proyectos que se creen sobre esta plataforma. Desarrollo de una metodología que cubre las siguientes necesidades: Documentación técnica del núcleo Nomenclatura de los elementos (clases, paquetes, tablas, vistas...) Estructura y distribución de las aplicaciones en los servidores Estilos de programación Documentación de los proyectos Metodología (Métrica V3) a seguir y entregables en cada fase Definición de pruebas Definición de roles y asignación de tareas Aseguramiento de la calidad Entorno de traspaso de código: desarrollo de un sistema que permite el traspaso de código entre Desarrollo - Pruebas - Producción Control de la configuración Utilización de un sistema de control de versiones en el repositorio de código y documentación de los proyectos (incluyendo el propio JAVATO) Integración con otros sistemas: JAVATO permite la integración con los siguientes sistemas: SAP, plataforma de Administración Electrónica de la CARM y portal web de la CARM. Guía de estilos: Se ha desarrollado una guía de estilos para definir aspectos comunes a todos los proyectos creados sobre JAVATO. Se han abordado las siguientes funcionalidades propias de la plataforma y comunes para todos los proyectos desarrollados sobre JAVATO: Auditoría de clientes Caché de objetos de negocio Control de acceso y seguridad Control de errores Gestión de doble clic, refresco y submit Gestión de excepciones Gestión de beans Gestión de sesiones Lógica de negocio en Base de Datos Multi-idioma 5

Gestión de parámetros de configuración Gestión de plantillas Pool de conexiones Refresco de campos en pantalla Sistema de log Gestión de transacciones y bloqueos Sistema de validación en cliente Sistema de validación en servidor Se han desarrollado los siguientes módulos dentro de JAVATO: Desarrollo de componentes Gestión de la configuración Gestor de impresión Formularios maestro-detalle Motor de búsqueda Procesos demonio Publicación para servicios Web Traspaso de código 4. Herramientas Toda metodología ha de apoyarse en un conjunto de herramientas que faciliten su implantación. En la DGI se ha buscado como primera opción herramientas basadas en fuentes abiertas. Así se están utilizando: 1. Eclipse como framework de desarrollo. 2. Linux Red Hat 3.0 como sistema operativo. 3. Apache como servidor Web. 4. Axis, para servicios web. 5. Tomcat como servidor de apicaciones. 6. Hibernate como motor de persistencia. 7. Java, como lenguaje de programación. 8. JSF para la implementación del patrón MVC. 9. Spring para la capa de negocio. 10. ANT para el traspaso de código entre entornos. 11. CVS como repositorio para control de versiones. 12. Lenguaje XML, plantillas, etc. 13. Fop, para formatear objetos En la parte de metodología en estos momentos se están evaluando productos de Rational Rose, para aquellas actividades en las que se ve su necesidad. 5. Modelo a seguir Uno de los problemas más importantes con el que ya nos hemos encontrado en otras ocasiones, en las que la DGI ha creado algo que después se extiende es el mantenimiento de las versiones. Cada Organismo tiene su propia independencia y se debe establecer el modelo que permita que JAVATLO crezca como consecuencia de las mejoras que la propia DGI introduzca, como de las mejoras que se incorporen desde otros Centros Directivos y empresas. 6

Así, se crea un Centro de Competencia en el que existirá un equipo de personas con las siguientes funciones: 1. Un grupo destinado a mejorar JAVATO y a depurar la integración entre herramientas, con nuevas funcionalidades que vayan ampliando tanto su facilidad de uso como su alcance. 2. Un grupo destinado a identificar elementos susceptibles de integrar en Javato, comunes a múltiples desarrollos y que son los que indican al equipo de desarrollo las nuevas funcionalidades de JAVATO. 3. Un equipo destinado a revisar el uso de Javato, a crear un conjunto de buenas prácticas y re visar los proyectos de Javato con objeto de mejorarlos y garantizar que cumplen con las especificaciones dadas, desde un punto de vista constructivo. 6. Experiencias Se ha llevado a cabo un proyecto ya finalizado con el framework Javato y el resultado ya ha sido muy positivo. Los tiempos de desarrollo se han reducido y ha transmitido mucha seguridad tanto el equipo de desarrollo como a la dirección del proyecto. Ahora mismo se están realizando dos proyectos pilotos: Inventario de equipamiento informático de la CARM. Se está abordando desde su fase inicial para probar toda la metodología asociada a JAVATO. Publicación de anuncios de contratación pública de la CARM. Ya existe un sistema informático que da soporte a esta publicación, así que en este segundo piloto se parte de un catálogo de requisitos ya existente y se está probando el núcleo de JAVATO. Y ya se han puesto a trabajar con el framework el 30% de los Centros Directivos de la Comunidad Autónoma de Murcia. Una vez finalizados estos proyectos y depurado tanto el framework como la metodología, iniciaremos los pasos para incluir desarrollos más grandes y comprometidos, en los que la ausencia de metodología o la utilización de una de una empresa concreta puede ser en sí mismo un factor de riesgo. 7. Conclusiones JAVATO era necesario, y una vez que estamos en ello nos preguntamos y se preguntarán porqué no lo habíamos hecho antes. Lo importante es que consideramos que estamos en el camino correcto, que estamos consolidando nuestras plataformas de desarrollo, y que todo lo que hacemos lo ponemos a su disposición si lo consideran de interés. 7