Así que esta tarde me tomé un tiempo para finalmente sentarme y comenzar a leer el misterioso y elusivo "OSGi" y sus llamados paquetes .¿Cuáles son las diferencias fundamentales entre OSGi y Java EE?
OK, entonces yo creo Lo entiendo. Un "paquete" de OSGi es básicamente un JAR con cierta información de manifiesto adicional. Y, en lugar de implementarlo en un servidor de aplicaciones normal (u otro contenedor), lo despliega en un servidor OSGi como Apache Felix. Se ejecuta y luego proporciona servicios a usuarios/clientes.
¿Cómo es esto diferente de un EAR normal que se implementa en un servidor de aplicaciones?
OSGi parece estar en aumento (¡Me sigo topando!), Pero por mi vida no entiendo lo que ofrece (a nivel de característica) sobre cualquier cosa que pueda hacer con la empresa real servidor como GlassFish o Spring.
Sé que el mundo no se ha vuelto loco, así que obviamente me falta algo. Simplemente no he podido averiguar qué. Gracias por cualquier ayuda o visión!
Creo que si esto estuviera redactado como "¿Cuál es la diferencia fundamental entre OSGi y Java EE?", Entonces sería más útil y menos "basado en la opinión" –
En este punto uno puede decir ... OSGi es principalmente un contenedor que lo hace lo que CDI intenta resolver (inyección y resolución de dependencia) pero * no * normalmente * evita que se ejecute cuando hay errores. Proporciona una interfaz [generalmente a través de la línea de comando] que permitiría correcciones en el tiempo de ejecución. Java EE requeriría una implementación para resolver los problemas. Java EE es una pila de aplicaciones, aunque proporciona servicios de contenedor, solo está dentro del alcance de la aplicación (aunque puede recibir inyecciones de un servidor) Tenga en cuenta que los servidores Java EE grandes ahora están basados en OSGi. –