2012-09-25 12 views
11

¿Tengo problemas para dejar de ver la diferencia en ambas plataformas? Ambos parecen ofrecer un entorno para implementar y administrar aplicaciones. Primero pensé que los servidores de aplicaciones usan OSGi bajo el capó, no lo creo ahora, pero veo que AS grande (jboss, glassfish, websphere, etc.) usan OSGi. ¿Cuál es el panorama general?OSGi y servidores de aplicaciones

Gracias

Respuesta

10

existe (en cierta medida) una sobrecarga del término "aplicación".

OSGi es un entorno de ejecución (y modelo de desarrollo) para modular aplicaciones Java. El término "aplicación" en este caso puede ser realmente, realmente bajo nivel. Por ejemplo, un servidor de aplicaciones se puede considerar como una "aplicación".

Los servidores de aplicaciones también son un entorno de ejecución (y modelo de desarrollo) para aplicaciones Java. Sin embargo, el término "aplicación" en este caso se refiere típicamente a un tipo de aplicación de nivel superior (por ejemplo, aplicaciones web). Los servidores de aplicaciones suelen incluir un amplio conjunto de API de mayor funcionalidad y programación para crear aplicaciones web (Servlets), datos persistentes en bases de datos (JPA) y capacidades de clúster. La mayoría de los servidores de aplicaciones actualmente están compuestos por módulos (por ejemplo, núcleo, servlet motor, contenedor EJB, etc.). Algunos servidores de aplicaciones usan OSGi bajo las cubiertas. Otros tienen su propio entorno de tiempo de ejecución modular que también ofrece capacidades OSGi.

Pero también es posible desarrollar aplicaciones de nivel superior (como aplicaciones web) directamente utilizando solo el entorno de ejecución OSGi. Sin embargo, un marco OSGi en sí mismo no incluye ninguna de las funcionalidades adicionales. Tiene que ser montado usted mismo. Hay algunas "distribuciones" que incluyen un marco y varios módulos.

+2

En otras palabras, OSGi es el bare metal (acero premium) y los servidores de aplicaciones son herramientas de metal (a veces hechas de acero de primera calidad). ;) – Gunnar

+1

En caso de buscar un entorno de contenedor tipo "servidor de aplicaciones" para OSGi, eche un vistazo a Apache Karaf o Eclipse Virgo –

Cuestiones relacionadas