Aplicaciones "estranguladoras"

MF Bliki: StranglerApplication

Martin Fowler comenta en este post de su "bliki" cómo en algunos casos, la mejor manera de reescribir viejas aplicaciones es ir añadiendo funcionalidades "alrededor" del sistema antiguo, hasta que, casi sin darnos cuenta, ya no existe, ha sido "estrangulada".

La ventaja fundamental sobre el enfoque clásico de "cortar y reescribir" es la minimización del riesgo. Creo que, sin embargo, conlleva un coste asociado de previsión de tiempos.

Existe una serie de estrategias asociadas a la estrangulación:

- EventInterception: la idea básica es la intercepción por parte de la aplicación "estranguladora" de los eventos que deben ser recibidos por la aplicación propietaria. Esta información puede almacenarse en una base de datos para realizar un uso más avanzado, o tomarse una a una inmediatamente.
- AssetCapture: otra idea sencilla.- plantearse una aplicación como un "gestor de activos". Entonces, lo que tiene que hacer la nueva aplicación es preocuparse de ir gestionando ella misma, y poco a poco, esos activos -utilizando en muchos casos la estrategia anterior de intercepción de eventos-. También suele utilizar un Patrón de Integración de aplicaciones, llamado "Content-based Router", para evitar que la aplicación antigua reciba eventos que ya está gestionando la "estranguladora" -¡al final me voy a acostumbrar a este nombrecito! ;) -.

Comments