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

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

Embed Size (px)

Citation preview

Page 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

Septiembre 27 a Octubre 01 de 2005Bogotá, Colombia

Arquitecturas flexibles y adaptables: ¿hacia dónde vamos?

Jorge A. [email protected]

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 20052

+“No hay nada permanente,

excepto el cambio”

+- Heráclito -

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 20053

Motivación

+ La manera como se espera que

evolucione el software ha evolucionado

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 20054

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–…

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 20055

Motivación

+ Es un problema de hoy, con muchos

frentes abiertos de trabajo …

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 20056

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).

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 20057

Agenda

+Evolución = mantenimiento+Arquitecturas flexibles+Adaptación+Aplicaciones dinámicas+Auto-adaptación+Integración y evolución+Conclusiones

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 20058

Evolución = mantenimiento

desarrollo

mantenimiento 80%

evolución: el iceberg

Una lección aprendida

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 20059

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

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200510

Propiedades deseables

+ Localización: dado un elemento del problema, se puede localizar su representación en el programa

mundo M

mundo M

Requerimientosfuncionales

programa

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200511

Propiedades deseables

+Aislamiento: un cambio en un elemento del programa tiene una frontera de impacto conocida (predecible)

programa

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200512

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

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200513

Arquitecturas rígidas

mundo M

mundo M

Requerimientosfuncionales

programa

implementación

construcción

instalación

arranque

ejecuciónanálisis

diseño

Las decisiones arquitecturales se toman en la etapa de diseño, y hacen referencia a elementos computacionales concretos

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200514

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

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200515

Agenda

+Evolución = mantenimiento+Arquitecturas flexibles+Adaptación+Aplicaciones dinámicas+Auto-adaptación+Integración y evolución+Conclusiones

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200516

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”

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200517

“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

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200518

Arquitecturas flexibles

programa

implementación

construcción

instalación

arranque

ejecución

diseño

Cómo?

Aplazando decisiones para utilizar información de lasetapas posteriores del ciclo de vida

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200519

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?

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200520

La gran limitación?

+Las posibles evoluciones deben estar

previstas desde la arquitectura abstracta

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200521

Agenda

+Evolución = mantenimiento+Arquitecturas flexibles+Adaptación+Aplicaciones dinámicas+Auto-adaptación+Integración y evolución+Conclusiones

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200522

Motivación

+“Maneras parecidas de hacer cosas parecidas”

cliente-1

cliente-2

cliente-3

adaptación

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200523

“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

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200524

Adaptación

+Dos aproximaciones distintas al problema

proceso y herramientas

arquitectura

generación, aprovechando la flexibilidad

frameworksplug-insnuevos elementosnuevos mecanismosnuevas tecnologías

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200525

Dos aproximaciones distintas

proceso y herramientas

arquitectura

más simple y directomenos riesgomás limitado

más compleja la arquitecturamás difícil de diseñarmás general

Arquitecturas adaptables

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200526

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

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200527

Agenda

+Evolución = mantenimiento+Arquitecturas flexibles+Adaptación+Aplicaciones dinámicas+Auto-adaptación+Integración y evolución+Conclusiones

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200528

Motivación

cliente

“Evolución y adaptación

en ejecución”

adaptacióndinámica

aplicaciones que no pueden detenerse para cambiar

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200529

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

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200530

Adaptación y evolución dinámica

arquitectura

plug-ins (Eclipse > 3.0 sobre OSGI)JBoss / JMXcoordinación en lugar de composicióncomponentes & servicios especializadosnuevas tecnologías y estilos de arquitectura

nuevos problemas en el diseño

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200531

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

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200532

Agenda

+Evolución = mantenimiento+Arquitecturas flexibles+Adaptación+Aplicaciones dinámicas+Auto-adaptación+Integración y evolución+Conclusiones

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200533

Auto-adaptación dinámica

Arquitecturas reactivas: muchas formas disponibles.

El sistema es capaz de seleccionar la forma adecuada, dependiendo del contexto

auto-adaptacióndinámica

cliente

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200534

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

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200535

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

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200536

Agenda

+Evolución = mantenimiento+Arquitecturas flexibles+Adaptación+Aplicaciones dinámicas+Auto-adaptación+Integración y evolución+Conclusiones

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200537

Integración y evolución

EAI

Empresas virtuales en tiempo realSistemas altamente volátiles

Arquitecturas flexibles y adaptables de integración

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200538

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

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200539

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

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200540

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

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200541

Integración y evolución

+El gran problema:

– Falta de correspondencia semántica: conceptos similares,

pero diferentes

Problema abierto

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200542

Agenda

+Evolución = mantenimiento+Arquitecturas flexibles+Adaptación+Aplicaciones dinámicas+Auto-adaptación+Integración y evolución+Conclusiones

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200543

Conclusiones

+Evolución+Flexibilidad+Adaptación+Adaptación dinámica+Auto-adaptación+Integración

nuevos retos y problemas para el arquitectonuevas tecnologíasnuevas arquitecturasnuevas metodologíasnuevas herramientascrecimiento exponencial de la complejidad

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200544

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

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

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 200545

Preguntas?