08 April 2009

OSGI

Creado en Marzo de 1999. Acrónimo de Open Services Gateway Initiative. Tubo como principal impulsor a Sun Microsystems, y entre otros también IBM que no termina en decidirse en ser el siguiente propietario de Sun (cosas de la vida).

Esta orientado principalmente a la plataforma Java y permite:

  1. Gestionar la carga dinámica de componentes
  2. Soportar versionado de componentes
  3. Gestionar los ciclos de vida de servicios en forma de paquetes (o componentes)


Un paquete es poco más que un fichero .jar, con sus interfaces, implementaciones y un fichero manifiesto. Dicho componente se puede definir por cierta meta-información en su manifest el cual especifica los servicios exportados y los permisos necesarios para poder ser reutilizados por otros componentes.

Permite la gestión del ciclo de vida del software (instalación, parada, redespliegue, arranque o desinstalación de paquetes) comprobando las dependencias existentes para el/los paquetes tratados y evitando conflictos de ejecución.

Permite también la gestión de versiones de los paquetes, permitiendo la coexistencia de distintas versiones según necesidades y dependencias establecidas.

Permite un modelo de Programación Orientado a Servicios, ya que (al contrario de EJB o RMI que necesita definir interfaces remotas) los servicios son publicados y registrados en el contenedor automáticamente durante la carga de los mismos.

Actualmente empresas como BEA/Oracle, IBM, JBoss estan adoptando este modelo como parte de las estrategias en el lado del servidor de aplicaciones (que es donde OSGi puede sacar su mayor potencial para solucionar muchos de los problemas que existen actualmente en los servidores de aplicaciones (empaquetado, abstracción de los paquetes, carga dinámica de los mismos, dependencias, gestión del ciclo de vida, versionados, etc…)).

[Quien alguna vez no ha tenido problemas instalando mas de una libreria de log4j, axis o xfire, en un servidor de aplicaciones? bien es sabido que dependiendo de que versiones se utilizen pueden resultar incompatibles entre ellos; pues bien con este modelo esos problemas desaparecen]

Como nota adicional cabe mencionar que el sector de la telefonía (Nokia, Motorola y Ericsson) prepara la siguiente generación de teléfonos inteligentes basados en OSGi.

La serie 5 de BMW incluye OSGi en su plataforma de comunicaciones, los fabricantes de software como IBM ya tienen versiones de servidores de aplicaciones (Websphere) con esta tecnología, Apache con Felix y Eclipse.


Enlaces relacionados :

En la wikipedia
OSGI en pocas palabras
Enterprise OSGi - "Not List"
Spring and OSGi - A Perfect Match?
Power Combination: SCA, OSGi and Spring
IBM, BEA and JBoss adopting OSGi
Oracle : An Introduction to OSGi on the Server Side


- FIN -

No comments: