Spring Dynamic Modules 1.0 publicado
SpringSource ha anunciado la publicación de la versión 1.0 de Dynamic Modules, un framework que está enfocado a facilitar construcción de módulos que puedan ejecutarse dentro de un contenedor OSGi como Felix de Apache o Equinox de Eclipse.
El desarrollo de esta herramienta lleva ya 18 meses y entre sus comitters hay (además de los desarrolladores de SpringSource) desarrolladores de BEA y Oracle, empresas que hacen uso de Dynamic Modules dentro de sus productos.
Adrien Colyer da una breve semblanza del funcionamiento de Dynamic Modules:
"Las aplicaciones construidas usando Spring Dynamic Modules y ejecutándose dentro de una OSGi Service Platform constan de un conjunto de Application Contexts de Spring (uno por bundle o módulo OSGi) interactuando a través del Servicio de Registro de OSGi. Es una arquitectura orientada a servicio, pero totalmente local dentro de tu VM, usando referencias normales Java para acceder a los servicios. Los beneficios de las aplicaciones construidas de esta forma incluyen:
- Gran modularidad: Lo interno de cada módulo permanece privado y solamente los paquetes y beans (servicios) que elijas exponer se hacen disponibles públicamente a otros módulos.
- Ciclo de vida dinámico de los módulos: puedes instalar, desintalar, iniciar, detener y actualizar cada módulo (application context) de forma independiente usando las facilidades del OSGi Service Platform. Spring Dynamic Modules provee de una gestión inteligente de las referencias a un servicio que atraviesa los límites de un módulo de tal forma que puedas seguir trabajando con una referencia constante incluso cuando un el módulo que te provee del servicio está siendo actualizado.
- Soporte para gestionar las versiones de los módulos. Es posible desplegar múltiples versiones de los mismos paquetes Java (y librerías) de forma concurrente. La plataforma OSGi se encarga de relacionar a los usuarios de las librerias a la versión apropiada y de asegurar que solo ves los servicios que implementan interfaces compatibles con tu versión.
- Vista operacional de los módulos instalados, los servicios y paquetes que importan y exportan y de como los módulos se acoplan en tiempo de ejecución"
Solo quiero agregar que OSGi es una gran alternativa al uso tradicional de jars (no más classpath hell, actualización de dependencias en tiempo de ejecución) e incluso al nuevo sistema de dependencias que preparan en el JSR 277 (Java Module System), con esta nueva librería de Spring su uso puede expandirse.
Reader Comments