Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ndice
Introduccin y objetivos
Modelo inicial centrado en dar servicio al usuario La evolucin de estos ltimos 20 aos supone un cambio Autocrtica y evolucin hacia un modelo ms profesional La calidad y la reutilizacin son los nuevos objetivos Motor del cambio para el rediseo de las TI
Introduccin y objetivos
Para conseguir todo esto es necesario:
La definicin de una nueva arquitectura Un nuevo framework tecnolgico que guie el desarrollo Cambio de paradigma. Adopcin de metodologas giles Evaluacin y adopcin de herramientas abiertas que cubran las nuevas necesidades que aparecern Implantacin de un entorno de desarrollo, pre-produccin y produccin automatizados Definicin de mtricas de calidad del software, buenas prcticas de desarrollo y un entorno que garantize la integracin y mejora contnua
4
ndice
Interoperabilidad. Tanto a nivel de formatos como de comunicacin entre aplicaciones. Cumplimiento de estndares. Garanta de unicidad y no replicacin de datos. Garantizar una excelente experiencia de usuario. Aplicaciones para mltiples dispositivos y despliegues. Evitar ser dependientes de una nica tecnologa Tender a soluciones sencilla y escalables
7
Capa ligera de comunicacin REST Soporte para mltiples formatos: JSON, ATOM, OData, RDF Facilita la integracin desde cualquier origen
Volcar el conocimiento del negocio en la capa del modelo Exponer este modelo en forma de API orientada a servicios Cada integrador puede desarrollar un UI alternativo Creacin de interfaces altamente usables: Cliente rico
10
Gestin integral de la configuracin Despliegue automatizado Patrones de diseo Aplicaciones modulares, independientes y distribuibles Testing de aplicaciones a todos los niveles
Frameworks como Spring pueden ayudar a reducir la complejidad de este tipo de desarrollos:
11
Buscar una mejor experiencia de usuario. Homogeneizar interfaces mediante unas pautas bsicas de diseo y usabilidad Generar aplicaciones ms dinmicas y flexibles
12
Gran cantidad de componentes grficos de gran potencia Soporte independiente del navegador Integracin con REST Diponibilidad de herramientas de diseo visual Soporte para internacionalizacin
13
ndice
14
Entorno de desarrollo
Elementos del ecosistema de desarrollo gil:
Gestin de proyectos e incidencias Herramientas de documentacin y gestin del conocimiento Sistema de control de versiones Herramientas de construccin Integracin contnua Repositorio de artefactos Herramientas de anlisis esttico del cdigo IDE para el desarrollo y generadores de cdigo
15
Entorno de desarrollo
Gestin de proyectos e incidencias
Bugs, tareas y mejoras. Definicin de los productos. Versionado de los distintos productos. Planificacin de iteraciones y soporte a las metodologas empleadas. Propuesta: Atlassian JIRA
16
Entorno de desarrollo
Sistema de control de versiones
Repositorio unificado. Versionado de los proyectos. Herramientas de acceso, gestin, revisin, comparacin y trazabilidad de cambios. Propuesta: Subversion / Git
17
Entorno de desarrollo
Herramientas de construccin
Evitar proceso manual para evitar errores. Facilitar el despliegue por cualquiera. Mantener la independencia del IDE. Gestionar de forma automtica las dependencias. Integracin de herramientas auxiliares (despliegue, documentacin, anlisis esttico del cdigo, tests unitarios, etc). Propuesta: Maven
18
Entorno de desarrollo
Integracin contnua
Requisitos:
Construccin, revisin e integracin contnua de los mdulos desarrollados. Independiente del lenguaje de programacin. Existencia de plugins que permitan adaptarse a cualquier requisito de despliegue. Punto nico de generacin de artefactos, documentacin, informes de test, despliegues de pre-produccin, etc.
Herramienta propuesta:
Jenkins: http://jenkins-ci.org/
19
Entorno de desarrollo
Resumen de herramientas seleccionadas:
JIRA: Gestin de proyectos e incidencias. Confluence: Documentacin y gestin del conocimiento. Subversion: Control de versiones. Maven: Herramienta de construccin. Jenkins: Herramienta de integracin continua. jUnit: Pruebas unitarias. Nexus: Repositorio de artefactos. Sonar: Anlisis esttico del cdigo. ExtJS Designer: Creacin de interfaces de forma visual. Eclipse (SpringSource Tool Suite): Herramienta integradora.
20
ndice
Introduccin y objetivos Metodologa Arquitectura bsica del sistema Entorno de desarrollo Conclusiones
21
Conclusiones
Entorno altamente integrado y cohesionado Ecosistema propuesto basado en herramientas de alta adopcin en la industria Todos los productos son gratuitos para proyectos de cdigo abierto Modelo probado: Colaboracin UJI Ministerio de Presidencia para el cliente @firma
22
Conclusiones
Dnde y cmo coordinar el trabajo en la forja? Bajo qu licencias publicar los trabajos? Interoperabiliad Qu formatos y estndares utilizar? Es posible hacer uso de PaaS? Cloud Foundry, Amazon Elastic Beanstalk, DotCloud, Heroku, Podra dar servicios en este entorno RedIris?
23
Gracias
Preguntas?
24