OSGi tiene una nueva función, que es gran noticia para las áreas IT: la convergencia de las aplicaciones embebidas, de escritorio y servidor. Por Erik Pieczkowski
La iniciativa de gateway de servicios abiertos (OSGi, por sus siglas en inglés) constituye una gran noticia: ha madurado y tiene el potencial de cambiar el modelo de despliegue y tiempo de ejecución de las aplicaciones empresariales, trasladando servicios de un componente a otro, además de ayudar al departamento IT a instalar, desinstalar, detener, iniciar, renovar y actualizar componentes.
OSGi se inició en los 90 como un marco de peso ligero para aplicaciones embebidas. Hoy sigue habiendo una fuerte adopción en este espacio, pero el estándar lleva buen camino andado para convertirse en el primer modelo de componentes que expande aplicaciones insertas, de escritorio y de servidor hacia servidores Java empresariales.
Este estándar proporciona muchos beneficios tanto a desarrolladores de aplicaciones como a administradores IT. Para el primer grupo, el desarrollo de aplicaciones empresariales para una plataforma OSGi no se concentra en aplicaciones y portales Web individuales, sino que se enfoca en definir una interfaz de programación de aplicaciones y una interfaz de proveedor de servicios para cada componente de un sistema. Las aplicaciones empresariales se pueden ensamblar dinámicamente usando componentes que se adhieran según contratos.
Para el segundo grupo, el de los administradores IT, OSGi proporciona un nivel de control operativo que no se encuentra en otros ambientes de tiempos de ejecución de programas de nivel empresarial. Por ejemplo, OSGi provee la capacidad de desplegar múltiples versiones del mismo paquete simultáneamente, además de que brinda un despliegue “en caliente” (esto es, despliega, actualiza y elimina paquetes dinámicamente en sistemas en funcionamiento).
¿CÓMO VER A OSGI? Ya que OSGi reduce la formación de grupos de paquetes, se puede pensar en él como una plataforma de servicios; pero si se ve sólo como eso, podrían confundirse sus metas arquitectónicas. Por ejemplo, OSGi se puede usar como una tecnología subyacente para una plataforma de arquitectura orientada a servicios (SOA), que proporciona un mecanismo de extensión, de resolución de dependencias y de capacidades de registro de servicios. Pero SOA está diseñado para sistemas distribuidos y heterogéneos, mientras que OSGi es más apropiado para servicios que corren en un sistema homogéneo. Hay que pensar en OSGi como una plataforma de despliegue, un modelo de programación y un ambiente de tiempo de ejecución con suficiente potencial para mejorar las aplicaciones empresariales y SOA por igual.
Inicialmente, el perfil de OSGi estaba en los sistemas móviles o embebidos, pero hoy por hoy este estándar se usa para aplicaciones empresariales, con dos requisitos: el soporte distribuido y la compatibilidad multilenguaje. Si bien la especificación OSGi está ligada a un lenguaje específico de programación, Java es la opción preferida de implementación. Con todo, OSGi no es la solución preferida de Sun Microsystems para la modularidad Java; antes bien, Sun respalda su propia JSR 277 Java Module System, que parece que se traslapa significativamente con OSGi.
Si bien Sun no ha dado ninguna declaración oficial al respecto, parece que la empresa del Sol se inclina hacia la construcción de tecnologías que se traslapan, en vez de adoptar y mejorar OSGi.
La popularidad de OSGi irá creciendo -independientemente de si Sun cambiará o no su manera de ver- a medida que comience a soportar requisitos IT empresariales básicos. Esto se debe a que OSGi llena un importante vacío en el software empresarial y ofrece al departamento IT beneficios significativos que no se tienen en otras tecnologías.
Si bien la adopción generalizada de la iniciativa de gateway de servicios abiertos está a unos cuantos años de distancia, su impulso no se puede negar. Hay mucho potencial para el uso de OSGi en la empresa para construir un ecosistema en torno a los tiempos de ejecución, muy parecido a como su uso en la plataforma Eclipse construyó un ecosistema en torno a las herramientas de desarrollo.
ECLIPSE TOTAL
En 2003, la Fundación Eclipse comenzó a buscar la forma de modular mejor su plataforma de desarrollo abierto Eclipse. La Fundación Eclipse convergió en OSGi y resolvió usarlo como modelo de componentes de tiempo de ejecución para su entrega de Eclipse 3.0. La Fundación Eclipse desarrolló una implementación de la especificación de su marco central OSGi R4, de nombre código Equinox. Cuando Eclipse 3.0 fue liberado, en junio de 2004, OSGi se convirtió en la plataforma sobre la que miles de desarrolladores lanzarían su software. Dicho de otra forma: se formó un ecosistema en torno a las herramientas de desarrollo. La adopción de OSGi por parte de Eclipse fue un hito significativo, puesto que colocó a OSGi en el radar de muchos fabricantes de software.
Hoy, esta iniciativa se ha convertido en la plataforma de elección de muchos fabricantes de software. Por ejemplo, la mayoría de los servidores de aplicaciones de la Java Enterprise Edition soportan esta tecnología (o lo harán en breve). Además, muchas iniciativas de fuente abierta han comenzado a integrar OSGi en el ámbito de los servidores. No cabe duda de que esta tendencia facilitará la adopción de OSGi a nivel empresarial. Por primera vez podría tenerse un modelo de componentes de software que permita la convergencia de los desarrollos de software embebidos, de escritorio y empresariales. ¡Ya sería hora!
LAS TRES DE OSGI
La promesa
Al proporcionar soporte de computación distribuida y compatiblidad multilenguaje, OSGi promete convertirse en el primer modelo de componentes que abarque aplicaciones embebidas, de escritorio y empresariales. OSGi proporciona manejo de dependencia, soporte a multiversiones y administración remota para aplicaciones, además de que permite instalar componentes de software y servicios, actualizados y de separación instantánea.
Los jugadores
La Alianza OSGi fue fundada por Ericsson, IBM, Oracle y Sun Microsystems, entre otros, en marzo de 1999. En 2003, la Fundación Eclipse llevó a OSGi a la vanguardia del desarrollo de aplicaciones empresariales con su entrega de Eclipse 3.0.
Las perspectivas
OSGi continúa floreciendo en el espacio de los sistemas embebidos y ahora -calladito- sostiene muchos productos empresariales, tanto comerciales como de fuente abierta. Además, el estándar ha comenzado a ser explorado por muchos desarrolladores de aplicaciones para su adopción en las empresas.
No hay artículos relacionados
