La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Septiembre 27 a Octubre 01 de 2005 Bogotá, Colombia Arquitecturas flexibles y adaptables: ¿hacia dónde vamos? Jorge A. Villalobos

Presentaciones similares


Presentación del tema: "Septiembre 27 a Octubre 01 de 2005 Bogotá, Colombia Arquitecturas flexibles y adaptables: ¿hacia dónde vamos? Jorge A. Villalobos"— Transcripción de la presentación:

1 Septiembre 27 a Octubre 01 de 2005 Bogotá, Colombia Arquitecturas flexibles y adaptables: ¿hacia dónde vamos? Jorge A. Villalobos jvillalo@uniandes.edu.co

2 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 2 + No hay nada permanente, excepto el cambio + - Heráclito -

3 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 3 Motivación + La manera como se espera que evolucione el software ha evolucionado

4 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 4 Motivación + Algunos retos para un arquitecto: – Aplicaciones de alta disponibilidad – Arquitecturas reactivas – Aplicaciones con un alto volumen de usuarios – Fábricas de software y líneas de producción – Arquitecturas de integración – …

5 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 5 Motivación + Es un problema de hoy, con muchos frentes abiertos de trabajo …

6 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 6 Motivación + Una inquietud vieja: – R.S. Fabry : How to design a system in which modules can be changed on the fly, Proc. 2nd lnt. Conf. on Soft. Eng., (1976).

7 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 7 Agenda + Evolución = mantenimiento + Arquitecturas flexibles + Adaptación + Aplicaciones dinámicas + Auto-adaptación + Integración y evolución + Conclusiones

8 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 8 Evolución = mantenimiento desarrollo mantenimiento 80% evolución: el iceberg Una lección aprendida

9 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 9 Evolución + Visión clásica del mantenimiento: – algo cambia en el problema – se modifica el programa (algo monolítico) – se remplaza el programa anterior por el nuevo – si hay necesidad se reestructuran los datos + Requerimientos sobre la arquitectura: – localización – aislamiento

10 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 10 Propiedades deseables + Localización: dado un elemento del problema, se puede localizar su representación en el programa mundo M Requerimientos funcionales programa

11 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 11 Propiedades deseables + Aislamiento: un cambio en un elemento del programa tiene una frontera de impacto conocida (predecible) programa

12 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 12 El reto de la época + Buscar una buena manera de estructurar una aplicación: – funciones (descomposición funcional) – objetos + En la búsqueda de buenas metodologías, lenguajes y herramientas + Se producen arquitecturas rígidas, pero mantenibles

13 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 13 Arquitecturas rígidas mundo M Requerimientos funcionales programa implementación construcción instalación arranque ejecución análisis diseño Las decisiones arquitecturales se toman en la etapa de diseño, y hacen referencia a elementos computacionales concretos

14 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 14 Arquitecturas rígidas + Y qué pasó? – En algunos casos es suficiente con una arquitectura rígida, pero fácil de mantener – En otros casos es insuficiente: El problema cambió Aparecieron los requerimientos no funcionales Insuficientes las funciones y los objetos Las expectativas de los clientes cambiaron La evolución sucede cada vez más rápido

15 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 15 Agenda + Evolución = mantenimiento + Arquitecturas flexibles + Adaptación + Aplicaciones dinámicas + Auto-adaptación + Integración y evolución + Conclusiones

16 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 16 Motivación + Se puede hacer evolucionar un programa, sin cambiar su código + Distintas maneras de hacer lo mismo + Se debe poder utilizar información de etapas posteriores al diseño para definir la arquitectura + Una familia de arquitecturas posibles

17 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 17 Distintas maneras de hacer lo mismo + Ejemplos: – Balanceo de carga – Aplicaciones basadas en web services – Plug and play – Jini – Servidores de nombres – Archivos de configuración – … – El caso Dassault Systèmes

18 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 18 Arquitecturas flexibles programa implementación construcción instalación arranque ejecución diseño Cómo? Aplazando decisiones para utilizar información de las etapas posteriores del ciclo de vida

19 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 19 En la búsqueda de flexibilidad + Qué implica? – Arquitectura abstracta – Mecanismos de concretización – Distintas arquitecturas concretas, dependiendo del contexto + Usando qué? – Programas no monolíticos – Componentes – Servicios – Contenedores – … + Cuál es el reto para el arquitecto?

20 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 20 La gran limitación? + Las posibles evoluciones deben estar previstas desde la arquitectura abstracta

21 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 21 Agenda + Evolución = mantenimiento + Arquitecturas flexibles + Adaptación + Aplicaciones dinámicas + Auto-adaptación + Integración y evolución + Conclusiones

22 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 22 Motivación + Maneras parecidas de hacer cosas parecidas cliente-1 cliente-2 cliente-3 adaptación

23 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 23 Maneras parecidas de hacer cosas parecidas + Cómo crear aplicaciones de una familia, como una evolución de un núcleo básico? + Cuál es la estructura de dicho núcleo básico? Cómo se diseña? Con qué mecanismos se adapta? + Fábricas de software y líneas de producción + Ejemplo: – El caso APEL

24 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 24 Adaptación + Dos aproximaciones distintas al problema proceso y herramientas arquitectura generación, aprovechando la flexibilidad frameworks plug-ins nuevos elementos nuevos mecanismos nuevas tecnologías

25 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 25 Dos aproximaciones distintas proceso y herramientas arquitectura más simple y directo menos riesgo más limitado más compleja la arquitectura más difícil de diseñar más general Arquitecturas adaptables

26 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 26 El reto del arquitecto + Diseño de la arquitectura del framework de base + Diseño de los mecanismos de adaptación + Diseño de los mecanismos y herramientas de generación + Incorporación de nuevos elementos, estructuras y tecnologías

27 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 27 Agenda + Evolución = mantenimiento + Arquitecturas flexibles + Adaptación + Aplicaciones dinámicas + Auto-adaptación + Integración y evolución + Conclusiones

28 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 28 Motivación cliente Evolución y adaptación en ejecución adaptación dinámica aplicaciones que no pueden detenerse para cambiar

29 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 29 Aplicaciones dinámicas: motivación + Algunos ejemplos: – sistemas 24/24 – sistemas críticos – sistemas altamente dinámicos – sistemas embebidos – sistemas altamente distribuidos – recuperación ante fallas – gran volumen de usuarios – sistemas que se adaptan al contexto

30 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 30 Adaptación y evolución dinámica arquitectura plug-ins (Eclipse > 3.0 sobre OSGI) JBoss / JMX coordinación en lugar de composición componentes & servicios especializados nuevas tecnologías y estilos de arquitectura nuevos problemas en el diseño

31 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 31 El reto del arquitecto + Cómo diseñar una arquitectura de una aplicación cuya evolución se debe hacer mientras se está ejecutando? + Una mezcla de nuevas tecnologías, elementos de diseño, metodologías, herramientas. + La limitación: implica la intervención de una persona para hacer la evolución

32 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 32 Agenda + Evolución = mantenimiento + Arquitecturas flexibles + Adaptación + Aplicaciones dinámicas + Auto-adaptación + Integración y evolución + Conclusiones

33 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 33 Auto-adaptación dinámica Arquitecturas reactivas: muchas formas disponibles. El sistema es capaz de seleccionar la forma adecuada, dependiendo del contexto auto-adaptación dinámica cliente

34 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 34 Auto-adaptación dinámica + Aparecen nuevos elementos en la arquitectura: – sensores – actuadores – modelos y lenguajes para expresar la adaptación políticas reglas sincronización recuperación … – tecnologías de soporte – … + Nuevos problemas en el diseño

35 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 35 El reto del arquitecto + Diseñar una arquitectura abstracta adaptable y dinámica + Diseñar un modelo abstracto de su evolución + Diseñar la manera de integrar esos dos modelos + Incorporar nuevas tecnologías y elementos

36 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 36 Agenda + Evolución = mantenimiento + Arquitecturas flexibles + Adaptación + Aplicaciones dinámicas + Auto-adaptación + Integración y evolución + Conclusiones

37 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 37 Integración y evolución EAI Empresas virtuales en tiempo real Sistemas altamente volátiles Arquitecturas flexibles y adaptables de integración

38 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 38 El reto del arquitecto + Cómo diseñar una arquitectura para integrar aplicaciones, sabiendo que: – Los requerimientos sobre la integración pueden ser volátiles – Las aplicaciones van a evolucionar – Nuevas aplicaciones van a llegar – Las aplicaciones son heterogéneas

39 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 39 Integración y evolución + Objetivo: – Poner a trabajar juntas aplicaciones que no fueron hechas para trabajar juntas – Crear una arquitectura que le permita evolucionar + EAI – clásico: dificultad de evolución de los adaptadores AA A A

40 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 40 Integración y evolución + Coordinación más que composición + Arquitecturas guiadas por los procesos empresariales (BPM) + Elementos: – Orquestación – Servicios y web-services – Workflows – Buses de eventos – Sistemas de reglas – … A A AA A A AA coordinación

41 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 41 Integración y evolución + El gran problema: – Falta de correspondencia semántica: conceptos similares, pero diferentes Problema abierto

42 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 42 Agenda + Evolución = mantenimiento + Arquitecturas flexibles + Adaptación + Aplicaciones dinámicas + Auto-adaptación + Integración y evolución + Conclusiones

43 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 43 Conclusiones + Evolución + Flexibilidad + Adaptación + Adaptación dinámica + Auto-adaptación + Integración nuevos retos y problemas para el arquitecto nuevas tecnologías nuevas arquitecturas nuevas metodologías nuevas herramientas crecimiento exponencial de la complejidad

44 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 44 Conclusiones + Los nuevos requerimientos en las aplicaciones se traducen en arquitecturas basadas en elementos distintos, con propiedades distintas + Un tema abierto de trabajo + Más información en: + http://agamenon.uniandes.edu.co/~jvillalo

45 XXV Salón de Informática Arquitecturas Empresariales de Software Septiembre 28-Octubre 01 de 2005 45 Preguntas?


Descargar ppt "Septiembre 27 a Octubre 01 de 2005 Bogotá, Colombia Arquitecturas flexibles y adaptables: ¿hacia dónde vamos? Jorge A. Villalobos"

Presentaciones similares


Anuncios Google