OSGi: Primeros pasos

4 junio 2008 at 8:46 pm 1 Comentario

Tras los anuncios de varios proyectos importantes (Eclipse, GlassFish, SpringSource Application Platform) de su paso a OSGI, parece que estas siglas están bastante de moda dentro del mundo Java. En esta entrada intento dar una visión resumida y fugaz de lo que es OSGi. Quizás la mejor definición y la más concisa es la que aparece en la cabecera de la web de OSGi: Sistema de módulos dinámicos para Java. Básicamente lo que aporta OSGi o mejor dicho OSGi Service Platform (el estándar que publica la OSGi Alliance) es un contenedor sobre el que corren distintos módulos, con sus versiones, sus paquetes exportados (utilizables por otros módulos) y sus dependencias. Existen distintas implementaciones de dicho estándar, siendo las más conocidas Equinox (de Eclipse) y Felix (de Apache). Para esta entrada voy a utilizar Felix, pero sin ninguna razón de peso para su elección. Descargamos el zip desde su sitio web y descomprimimos en el directorio de nuestra elección. Podemos encontrar una estructura bastante típica con su bin, config y doc. Para lanzarlo, necesitamos una consola situada en el directorio raíz de Felix y ejecutar java -jar bin/felix.jar.

Arranque de Felix

Lo primero que se nos pregunta es un nombre de perfil. Podemos poner cualquier cosa. Felix persiste bajo ese nombre y en nuestro directorio personal algunos datos como los módulos cargados. Esto es propio de Felix y Equinox por ejemplo no nos pedirá ningún perfil.

Si en la consola que se nos presenta introducimos help, nos mostrará un listado de los comandos disponibles, como por ejemplo ps (de qué me sonará a mí) que nos muestra el estado de los módulos en ejecución.

Ayuda y ps en Felix

Hay que destacar que tampoco esos comandos son estándares y en Equinox en lugar de ps tendremos que ejecutar ss.

De cara a implementar nuestro primer módulo, debemos conocer las características que tenemos que cumplir para que nuestro módulo pueda funcionar en Felix (o Equinox, que esto ya es parte del estándar) .

  • Tener una clase activadora. Será una clase que implemente BundleActivator (en el ejemplo veremos sus métodos que os adelanto no son demasiado complicados).
  • Definir en el MANIFEST.MF (el descriptor de un jar) algunas propiedades que serán utilizadas por nuestra plataforma OSGi para instalar el módulo.

Bueno, pues aunque pensaba incluir en esta primera entrada la realización del primer módulo, lo dejaré para una posterior (aunque pretendo que no tengáis que esperar mucho).

Actualización: Segunda parte

Advertisement

Entrada archivada en:Java. Etiquetas:, , .

Presentando CakePHP OSGi: Primeros pasos (y 2)

1 comentario Añade el tuyo

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Trackback este articulo  |  Suscríbete a los comentarios vía RSS Feed


Mi perfil

View Miguel Orbegozo's profile on LinkedIn

Entradas recientes

Feedjit

Feeds

Otros…

BlogESfera Directorio de Blogs Hispanos - Agrega tu Blog

Bitacoras.com

Add to Technorati Favorites


Seguir

Get every new post delivered to your Inbox.