Buscar
Social
Ofertas laborales ES
« GWT.create 2015 | Main | Reunión del grupo de usuarios de Cassandra Madrid »
miércoles
sep102014

Que es OSGi y por qué deberia considerarlo en mis proyectos

Cuerpo : El 12 y 13 de septiembre en el MobileWorldCentre tendremos una charla y un workshop sobre OSGi donde nos mostraran las bondades de esta tecnología sobre modularidad dinámica en Java viendo las especificaciones de OSGi y trabajando con un contenedor : Apache Karaf. Apache Karaf es actualmente uno de los contenedores OSGi más populares. Provee un potente y ligero contenedor “enterprise ready”, permitiendo fácil y rápidamente desplegar aplicaciones, especialmente las OSGi. También tendremos una visión sobre Apache Cellar, una solución de clustering para Apache Karaf powered por Hazelcast.

La presentación estará a cargo de Jean-Baptiste Onofré. Es un miembro y commiter de la Apache Software Foundation en Apache Karaf, Apache ServiceMix, Apache ACE, Apache Camel, Apache Archiva, Apache Kalumet, Apache Falcon, Apache Syncope y mentor en Apache Sirona. También es autor del libro "Learning Apache Cellar" . Registrate .... http://www.barcelonajug.org/2014/08/osgi-jean-baptiste-onofre.html.

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments (5)

Pregunta para los entendidos.

En su día anduve informándome sobre OSGi y si no recuerdo mal ni me equivoco dos de las conclusiones que saqué fueron que el aprendjizaje es costoso y que Jigsaw (cierto es, el día que salga si es que sale) cubriría las funcionalidades de OSGi. ¿Sigue siendo esto válido?

En cualquier caso, si el aprendizaje sigue siendo costoso, ¿que tipo de proyectos y qué cantidad de proyectos puede haber que justifiquen el costo de aprender esta tecnología?

Gracias y saludos.

septiembre 10, 2014 | Unregistered CommenterIngantosan

Luego de utilizar OSGi - Karaf en varios proyectos, puedo dar fe que es una herramienta ideal para proyectos "embedded". Los patrones de programación definidos en OSGI (aka bundlke,Servicios, etc) permiten un desarrollo altamente modular, lo que definitivamente permite un ahorro considerable de esfuerzo al tener ya definida la arquitectura de la aplicación.

Como otras herramientas, hay que usarla para poder dominarla. OSGi+Karaf son herramientas que recomendamos.

Saludos

septiembre 10, 2014 | Unregistered CommenterCésar García

Hola.

Intentare dar mi punto de vista.....pero tan solo llevo unos meses practicando y leyendo sobre OSGi.

1. Aprendizaje costoso
--> bajo mi experiencia me ha sido mucho mas sencillo de lo que esperaba. Sobre todo usando el plugin de Maven ( basado en las BND tools ), aunque se pueden usar las BND Tools en Eclipse que lo hacen mas facil aun. De hecho convertir un jar en un bundle es cuestion de 2 segundos modificando el MANIFEST.
--> usando Karaf como contenedor , es en el que tengo un poquito de experiencia, puedes empaquetar incluso librerias no OSGi para que sean usables dentro del container de forma super sencilla.

2. Parecido a Jigsaw
--> por lo que se Jigsaw aun no es una realidad, pero cuando lo sea parece que su principal objetivo es la modularizacion del JRE, aunque cierto es que tambien puede que se destine a la modularizacion de nuestro app. Pero en cualquier caso es una modularizacion estatica, que en tiempo de ejecucion se usan unos jar u otros como simples librerias. En OSGi esa modularidad es dinamica y ademas nos permite tener esos modulos "vivos" corriendo, en diferentes versiones, inyectables ..... Podemos tener un CDI ( al estilo de Spring u otros ) dandole vida a esos modulos para todas las aplicaciones en el contenedor los compartan.....teniendo en cuenta su version. Nos brinda un sistema genial ( a mi modo de ver ) de tener servicios y verdaderas aplicaciones SOA. Ademas viene con montones de "utilidades" que nos permiten por ejemplo usar Cellar y tener nuestra aplicacion distribuida por N maquinas inyectando servicios sin tan siquiera saber en que maquina residen.

3. Que cantidad de proyectos justifican el uso
--> desde dos de los principales IDEs ( Eclipse y Netbeans ) como aplicaciones escalables con "plugins" ( bundles ) asi como verdaders aplicaciones SOA empresariales.

La presentacion de hoy podra verse en streaming por nuestro canal de Youtube :
https://www.youtube.com/watch?v=5UHr3IVMoKs

Os lo recomiendo :)

septiembre 12, 2014 | Unregistered CommenterJonathan

Muchas gracias por responder. Lo tendré en cuenta.

Un saludo.

septiembre 16, 2014 | Unregistered CommenterIngantosan

Hola,
al igual que Jonathan también me parece un marco ideal para desarrollar aplicaciones. No sé desde que punto de vista se comenta que es una tecnología complicada, desde luego no me parece más complicada que cualquier arquitectura orienta al servicio y/o componentes (por decirlo de alguna manera).

Nosotros estamos usándolo para desarrollar aplicaciones de empresa y tenemos bastantes casos de éxito montados en producción con dos orientaciones:
- Como contenedor de Batch´s, en combinación con Spring batch, y sustituto de sistemas tradicionales.
- Como sistema transaccional. En general lo usamos para implementar lógica de negocio de aplicativo que en otros casos iría en un App. Server.

Si tengo que ponerle pegas todas irían enfocadas a deficiencias en la gestión de la producción:
- Clustering.
- Seguridad.
- HA
- Monitorización.
- Empaquetado de aplicaciones.
- Resiliencia: Como en cualquier JVM si un componente usa todo los recursos puede llegar a tirar toda la plataforma completa y no hay forma de controlarlo.

Aunque debo reconocer que estoy bastante esperanzado con lo que esta haciendo la gente de Apache Karaf!

Un saludo a todos

septiembre 18, 2014 | Unregistered Commenterjoseluis

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>