viernes, 9 de mayo de 2008

Introducción a OSGi


Con el lanzamiento de SpringSource Application Platform y el creciente interés de los fabricantes de servidores de aplicaciones JEE en este framework (junto con la popularidad ya ganada de Eclipse como plataforma basada en OSGi) el interés por conocer y aprender los fundamentos detrás de esta tecnología es cada vez mayor.

Pero ¿qué es OSGi exactamente? Bueno, para decirlo en muy pocas palabras:

OSGi is a [component] framework for Java in which units of resources called bundles can be installed. Bundles can export services or run processes, and have their dependencies managed, such that a bundle can be expected to have its requirements managed by the container. Each bundle can also have its own internal classpath, so that it can serve as an independent unit, should that be desireable. All of this is standardized such that any valid OSGi bundle can theoretically be installed in any valid OSGi container.

Para este fin, recomiendo estos dos breves pero útiles artículos sobre el tema:

El primer artículo (del cual extraje la definición) introduce, mediante ejemplos concretos, los principales conceptos de este framework, con código cuya ejecución es demostrada en los contenedores Equinox y Apache Felix, mientras que el segundo explica los conceptos de OSGi dentro del contexto de Eclipse y su utilidad del lado del servidor.

2 comentarios:

Anónimo dijo...

Hola, podrías decirlo en pocas palabras pero en Español? Gracias :)

Kyara

Gustavo Quiroz dijo...

Claro... mas o menos va así

OSGi es un framework de componentes para Java, el cual permite instalar bundles (paquetes). Estos bundles pueden exportar servicios o ejecutar procesos, y asumir que sus requerimientos son administrados por el contenedor. Además, un bundle puede tener su propio classpath (librerías), de modo que puede brindar servicios como unidad independiente, si es lo que se desea. Todo esto se estandariza de tal manera, que cualquier bundle OSGi válido puede ser instalado, en teoría, sobre cualquier contenedor OSGi válido.