OSGi no es otro buzzword | el holgazán

miércoles 27 de agosto de 2008

OSGi no es otro buzzword

Estamos de acuerdo en que OSGi va a cambiar nuestra forma de desarrollar, que la "orientación a servicios" va a ser algo más que otro buzzword (SOA).

Algunas plataformas de orientación a servicios OSGi, que permiten instalar, iniciar, detener, desinstalar, etc. los llamados "bundles" (módulos):

Spring Dynamic Modules facilita el desarrollo con plataformas OSGi.

Un ejemplo de servicio OSGi "Hola mundo":
  • Un bundle servidor HelloServiceImpl implementa y exporta la interfaz HelloService. Además, implementa la interfaz BundleActivator, de forma que la plataforma OSGi ejecute los métodos start y stop cuando la plataforma inicie o detenga el bundle. En este método start el objeto puede registrarse como servicio en la plataforma.
  • Un bundle cliente HelloConsumer usa e importa el servicio HelloService. Siendo también un BundleActivator, en el método start obtiene el contexto de la plataforma OSGi, a partir del cual puede obtener el servicio y utilizarlo.
Algunas ventajas de estos sistemas de módulos dinámicos:
  • Desarrollo e instalación más modular.
  • Mejor gestión de las dependencias.
  • Módulos con gestión de versiones.
  • (Re)Despliegue individualizado y dinámico de los módulos.
  • Control de activación/desactivación de los módulos.
Aunque el debate entre OSGi (JSR 291) y la JSR 277 continúa...