Framework Atlas Introducción Septiembre de 2013 Unidad de Arquitectura y Soporte de Aplicaciones Área de Aplicaciones Especiales y Arquitectura de Software DIAS
INDICE INTRODUCCIÓN QUÉ ES ATLAS PORTAL DE CONOCIMIENTO TECNOLOGÍAS BÁSICAS EJEMPLO: APLICACIÓN DE COMPONENTES CICLO DE VIDA DE UN PROYECTO ATLAS SIGUIENTES PASOS Framework Atlas Página 2
INTRODUCCIÓN: Qué es ATLAS? ATLAS es una forma de hacer las cosas: Es la forma en que se deben desarrollar aplicaciones en Java para la Comunidad de Madrid. ATLAS NO es sólo un conjunto de librerías ATLAS es un Framework de Desarrollo de Aplicaciones, y algo más ATLAS define cómo hacer aplicaciones en lenguaje Java (aplicaciones principalmente Web) ATLAS también define el proceso de desarrollo de una aplicación, el ciclo de vida desde que se comienza a implementar código hasta que la aplicación está en producción y se transcurre su mantenimiento. Framework Atlas Página 3
INTRODUCCIÓN: Qué es ATLAS? ATLAS Incluye: Normativa: Qué se debe hacer (normas) Cómo se debe hacer (procedimientos) Librerías (jars): Utilidades para hacer las cosas según la normativa: Seguridad, Configuración, Trazas, etc. Módulos de integración con otras aplicaciones (Servicios Web, Documentum, BO, ControlM, etc.) Plantillas de partida: Arquetipos (aplicación web, librería jar, aplicación batch, web service, etc.) Herramienta para Validación Automática de la normativa Herramienta para Generación Automática de Código Portal de conocimiento y soporte a proveedores, que incluye: Documentación detallada Transparencias y Videos de los cursos de formación Aplicaciones de Ejemplo con código fuente Posibilidad de recibir Soporte por parte de Arquitectura Framework Atlas Página 4
INDICE INTRODUCCIÓN QUÉ ES ATLAS PORTAL DE CONOCIMIENTO TECNOLOGÍAS BÁSICAS EJEMPLO: APLICACIÓN DE COMPONENTES CICLO DE VIDA DE UN PROYECTO ATLAS SIGUIENTES PASOS Framework Atlas Página 5
INTRODUCCIÓN: PORTAL DE CONOCIMIENTO http://intranet.madrid.org/arquitecturasw/ Framework Atlas Página 6
INDICE INTRODUCCIÓN QUÉ ES ATLAS PORTAL DE CONOCIMIENTO TECNOLOGÍAS BÁSICAS EJEMPLO: APLICACIÓN DE COMPONENTES CICLO DE VIDA DE UN PROYECTO ATLAS SIGUIENTES PASOS Framework Atlas Página 7
INTRODUCCIÓN: TECNOLOGÍAS BÁSICAS Framework Atlas Página 8
INDICE INTRODUCCIÓN QUÉ ES ATLAS PORTAL DE CONOCIMIENTO TECNOLOGÍAS BÁSICAS EJEMPLO: APLICACIÓN DE COMPONENTES CICLO DE VIDA DE UN PROYECTO ATLAS SIGUIENTES PASOS Framework Atlas Página 9
INTRODUCCIÓN: EJEMPLO http://desarrollo.madrid.org/atlas_componentes/ Framework Atlas Página 10
INDICE INTRODUCCIÓN CICLO DE VIDA DE UN PROYECTO ATLAS ANÁLISIS DE REQUISITOS DISEÑO DESARROLLO RECEPCIÓN + QA PASO A PRODUCCIÓN + ESTABILIZACIÓN MANTENIMIENTO SIGUIENTES PASOS Framework Atlas Página 11
CICLO DE VIDA: ANÁLISIS DE REQUISITOS Análisis de Requisitos Diseño Codificación Recepción + QA Paso a Producción + Estabiliz. Mantenim. PARA EL ANÁLISIS DE REQUISITOS ES NECESARIO: CONOCER EL CATÁLOGO DE SOLUCIONES DE ICM CONOCER LOS COMPONENTES BÁSICOS DE ATLAS CONOCER LAS FACILIDADES DE INTEGRACIÓNDE ATLAS CONOCER LA NORMATIVA DE ATLAS A ALTO NIVEL MANOS A LA OBRA: NORMATIVA DE ATLAS Framework Atlas Página 12
CICLO DE VIDA: DISEÑO Análisis de Requisitos Diseño Codificación Recepción + QA Paso a Producción + Estabiliz. Mantenim. ATLAS PROPORCIONA PLANTILLAS DE PARTIDA Y EJEMPLOS PARA DOCUMENTOS DE DISEÑO FUNCIONAL Y DISEÑO TÉCNICO ORIENTADO A OBJETOS: DIAGRAMAS UML, CASOS DE USO, ETC. Framework Atlas Página 13
CICLO DE VIDA: DISEÑO Análisis de Requisitos Diseño Codificación Recepción + QA Paso a Producción + Estabiliz. Mantenim. NUEVA NORMATIVA PARA EL DISEÑO DEL MODELO DE DATOS UTILIZANDO ERWIN 7 La normativa incluye normas y buenas prácticas, sin dar lugar a ambigüedades, y explica cómo utilizar la herramienta correctamente. Incluye procedimiento para comparar un modelo ERWIN con la base de datos real, y genera automáticamente los scripts de actualización. Incluye una modificación sustancial en los procedimientos internos de instalación de modelos de datos (ya no se reciben scripts SQL). Supone algunos cambios en la forma de modelar: Obligación de mantener integridad referencial Claves únicas numéricas que se obtienen de secuencias Framework Atlas Página 14
CICLO DE VIDA: CODIFICACIÓN Análisis de Requisitos Diseño Codificación Recepción + QA Paso a Producción + Estabiliz. Mantenim. Entorno ICM Portal de Conocimiento Artifactory Arquetipos Artefactos Entorno Desarrollador (Disponible en DVD) Eclipse + plugin Maven 4. Nutre Maven Repositorio Local Framework Atlas Página 15
CICLO DE VIDA: CODIFICACIÓN Análisis de Requisitos Diseño Codificación Recepción + QA Paso a Producción + Estabiliz. Mantenim. ARQUETIPOS: Plantillas de Partida para Proyectos Primero hay que generar un módulo de tipo proyecto Dentro de este, se generan todos los módulos que sean necesarios proyecto Aplicación Web Arquetipos Aplicación Batch Librería (jar) Servicio Web Aplicación Documentum MANOS A LA OBRA: Generación de una Aplicación Web Framework Atlas Página 16
CICLO DE VIDA: CODIFICACIÓN Análisis de Requisitos Diseño Codificación Recepción + QA Paso a Producción + Estabiliz. Mantenim. DESARROLLO DIRIGIDO POR LAS PRUEBAS: Tipo de Pruebas Normalizadas: Pruebas Unitarias: Junit, Pruebas de aceptación: Selenium, Pruebas de servicios web: SoapUI, Pruebas de rendimiento: Jmeter Ejecución de las pruebas automatizada mediante maven Cobertura de las pruebas HERRAMIENTA DE VALIDACIÓN DE LA NORMATIVA Comprobación automática del grado de cumplimiento -> Informes PDF Disponible en el entorno del desarrollador (ejecutar periódicamente) MANOS A LA OBRA: Site generado para una aplicación Framework Atlas Página 17
CICLO DE VIDA: CODIFICACIÓN Análisis de Requisitos Diseño Codificación Recepción + QA Paso a Producción + Estabiliz. Mantenim. HERRAMIENTA DE GENERACIÓN AUTOMÁTICA DE CÓDIGO Disponible en las últimas versiones de ATLAS (1.2.0 y 1.2.1) Partiendo del modelo de datos, genera automáticamente código Java y pantallas para administración de catálogos. MANOS A LA OBRA: Generación de código para un modelo de datos Framework Atlas Página 18
CICLO DE VIDA: RECEPCIÓN + QA Análisis de Requisitos Diseño Codificación Recepción + QA Paso a Producción + Estabiliz. Mantenim. PROCEDIMIENTO Y ESTRUCTURA DE ENTREGA REGULADOS: Estructura de una entrega: División en módulos técnicos Nueva Ficha de Entrega Unificada para todos los entornos Rellenar una ficha por cada módulo técnico a instalar Framework Atlas Página 19
CICLO DE VIDA: RECEPCIÓN + QA Análisis de Requisitos Diseño Codificación Recepción + QA Paso a Producción + Estabiliz. Mantenim. PROCEDIMIENTO PARA LA REALIZACIÓN DE UNA ENTREGA: Nuevas aplicaciones realizadas fuera de ICM: FTP Nuevas aplicaciones realizadas en ICM: Subversion Aplicaciones existentes: Subversion Framework Atlas Página 20
CICLO DE VIDA: RECEPCIÓN + QA Análisis de Requisitos Diseño Codificación Recepción + QA Paso a Producción + Estabiliz. Mantenim. PROCEDIMIENTO DE RECEPCIÓN DE UNA ENTREGA: SQL -> ERWIN 7 STARTEAM -> Subversion EMPAQUETADO WAR/EAR -> Recepción del Código Fuente ASEGURAMIENTO DE LA CALIDAD (QA): Comprobación del cumplimiento de la Normativa: Más ágil, ya se ha ido comprobando durante el desarrollo. Pruebas de Rendimiento: JMeter Framework Atlas Página 21
CICLO DE VIDA: PASO A PRODUCCIÓN+ ESTABILIZACION Análisis de Requisitos Diseño Codificación Recepción + QA Paso a Producción + Estabiliz. Mantenim. PROCEDIMIENTO DE PASO A PRODUCCIÓN DE UNA ENTREGA: Similar al Procedimiento de Recepción Sólo se reciben entregas de Subversion (no FTP) Ficha Única de Entrega para cualquier entorno Aplicación GPAP Compilación del Código y Generación del WAR en función del entorno (Maven) Framework Atlas Página 22
CICLO DE VIDA: PASO A PRODUCCIÓN+ ESTABILIZACION Análisis de Requisitos Diseño Codificación Recepción + QA Paso a Producción + Estabiliz. Mantenim. FASE DE ESTABILIZACIÓN DE LA APLICACIÓN: Sucesivas entregas para estabilización a través de Subversion: Creación de TAGs: Estructura del Repositorio de Subversion Guía de Uso de Subversion Framework Atlas Página 23
CICLO DE VIDA: MANTENIMIENTO Análisis de Requisitos Diseño Codificación Recepción + QA Paso a Producción + Estabiliz. Mantenim. ESTRUCTURA DE UN PROYECTO environment.properties: Variables específicas del entorno Directorio war/zip: Configuración para diferentes entornos application.properties: Configuración común para cualquier entorno pom.xml: Versionado del framework y de la aplicación MANOS A LA OBRA: VISUALIZACIÓN DE LA ESTRUCTURA DE UN PROYECTO Framework Atlas Página 24
CICLO DE VIDA: MANTENIMIENTO Análisis de Requisitos Diseño Codificación Recepción + QA Paso a Producción + Estabiliz. Mantenim. DESPLIEGUE DE UN PROYECTO EN ENTORNO DE ENTREGAS (DESARROLLO): IMPORTANTE: Ejecución de la herramienta de Validación de la Normativa, y Pruebas Unitarias. Despliegue usando Maven desde Eclipse Manos a la Obra: Descarga de una entrega de Subversion y Despliegue en Weblogic de Entregas CREACIÓN DE UNA ENTREGA PARA INSTALACIÓN EN CUALQUIER ENTORNO: IMPORTANTE: Versionado Guía de Uso de Subversion Manos a la Obra: Creación de un TAG en Subversion Framework Atlas Página 25
CICLO DE VIDA: Análisis de Requisitos Diseño Codificación Recepción + QA Paso a Producción + Estabiliz. Mantenim. CONSULTA DE LOS LOGS DE UNA APLICACIÓN: MULO http://desarrollo.madrid.org/mulo_web Framework Atlas Página 26
INDICE INTRODUCCIÓN CICLO DE VIDA DE UN PROYECTO ATLAS SIGUIENTES PASOS RENOVACIÓN TECNOLÓGICA GENERACIÓN AUTOMÁTICA DE CÓDIGO SUBVERSION Y USO SIMULTÁNEO AUTOFORMACIÓN Framework Atlas Página 27
SIGUIENTES PASOS: RENOVACIÓN TECNOLÓGICA Proceso de Renovación Tecnológica en Marcha Conocimiento por parte de los proveedores de las tecnologías base: JSF, Spring, Hibernate Productización del Framework: Backward Compatibility a partir de la versión 1.2.0 A partir de la versión 1.2.4 se pueden desplegar las aplicaciones ATLAS en Tomcat Framework Atlas Página 28
SIGUIENTES PASOS: GENERACIÓN AUTOMÁTICA DE CÓDIGO Herramienta de Generación de Código muy potente, puede ahorrar mucho tiempo de desarrollo Genera código Java y pantallas para administración de catálogos Soporta generación de código para Vistas de base de datos (no editables) Soporte para campos de tipo BLOB y CLOB Exportación de Listados a Excel y PDF Framework Atlas Página 29
SIGUIENTES PASOS: SUBVERSION Y USO SIMULTÁNEO Nueva normativa para desarrollo de varias líneas paralelas con Subversion: La normativa define normas y roles claros para asignar responsabilidades Permite realizar un evolutivo y un correctivo a la vez, incluso por distintos proveedores Se apoya en el uso de la herramienta Subversion y el plugin Subclipse Framework Atlas Página 30
SIGUIENTES PASOS: AUTOFORMACIÓN Vídeos para la auto-formación disponibles en el Portal Framework Atlas Página 31
Algunos Enlaces de la presentación Aplicación de Componentes ATLAS (usuario_ok/usuario_ok) : http://desarrollo.madrid.org/atlas_componentes/ Portal para el Desarrollo de Aplicaciones (acceso libre): http://www.madrid.org/arquitecturasw Arquetipo Web (usuario_ok/usuario_ok): http://desarrollo.madrid.org/arquetipoweb/ Repositorio Subversion para el proyecto XXXX: https://subversion01:8443/svn/xxxx Framework Atlas Página 32