Primeros pasos con OSGi

Hace unos días Jesús (el tutor del proyecto) me recomendó que le echara un ojo a OSGi, que a la gente de su departamento les estaba dando muy buen resultado y habían conseguido utilizarlo con éxito en un sistema empotrado que habían desarrollado. Me pasó un manual que he estado mirando este fin de semana y, no sólo me ha encantado lo que he visto, sino que pienso que será uno de los puntos fuertes del sistema.

En resumen, lo que proporciona OSGi es algo de lo que carece Java de serie, pero que gracias a la flexibilidad de la plataforma han podido implementar otras personas: la abstracción de módulo en tiempo de ejecución.

Java proporciona algunos mecanismos para organizar la estructura de un programa, pero no llega a ofrecer las ventajas de un verdadero sistema de módulos dinámicos. Y, aunque podemos dividir las partes de un programa a base de JARs, la máquina virtual no tiene conocimiento de ellos en tiempo de ejecución. Sólo conoce una lista de clases que forman un único classpath.

OSGi permite, a grandes rasgos:

  • Una verdadera abstracción de módulos (bundles)  en Java, con capacidad para configurar la visibilidad de los mismos, sus dependencias, etc.
  • Facilitar la reutilización de código.
  • Minimizar los errores del tipo ClassNotFoundException y los conflictos de nombres entre clases.
  • Añadir o quitar módulos en tiempo de ejecución de forma dinámica

De momento se me ha ocurrido cómo sacarle un gran provecho tanto en el software de la placa (si finalmente lo hago con Java) como en Oolong, pero por ahora estoy haciendo los primeros ejemplos con Felix y Eclipse.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: