Soy bastante nuevo en el mundo de Java y OSGi y tengo problemas para entender el sistema ecológico de una aplicación web OSGi.Problemas para comprender todo el sistema ecológico web OSGi
Para ser más precisos estoy en este momento tratando de entender cómo todas las partes del sistema ecológico están relacionados entre sí:
- marco OSGi (por ejemplo Apache Felix, Equinox, Knoplerfish)
- OSGi Runtime (por ejemplo, primavera DM Server, Pax Runner, Apache Karaf)
- Extender web (por ejemplo, Pax web Extender, Spring web Extender)
- contenedor web (por ejemplo Apache Tomcat, embarcadero)
para darle una representación visual de mi comprensión real de su relación echa un vistazo a esta imagen:
alt text http://img253.imageshack.us/img253/1631/osgiwebenvironmentschem.png
Por lo que yo sé el marco OSGi es una implementación de la especificación OSGi. El tiempo de ejecución es una distribución que agrega funcionalidad adicional sobre la especificación OSGi, como el registro, por ejemplo. Dado que parece haber algunas diferencias en el mecanismo classpath de OSGi y contenedores web como Tomcat, necesitas algún tipo de traductor. Esta parte es manejada por el "Web Extender".
¿Podría aclarar todo esto por mí? ¿Estoy entendiendo todo correcto?
Gracias por su respuesta rápida repudio. Si le entiendo correctamente, el extensor web toma los archivos WAR, que normalmente se implementarían en un contenedor web como tomcat, y los haría funcionar en el tiempo de ejecución de OSGi. El OSGi HttpService los pondría a disposición "en la web" a través del protocolo HTTP. ¿Correcto? En conclusión: ¿No necesitaría un contenedor web como Tomcat? – Jens
Sí, exactamente a la perfección sobre cómo encaja. Sus servicios estarán disponibles a través del servicio http OSGi. Sin embargo, en la práctica, el extensor web usa un contenedor web para desplegar la GUERRA de todos modos. El beneficio que obtienes es que la GUERRA se puede iniciar con tus scripts de inicio normales del marco OSGi, y los WAR pueden tomar parte en la administración de dependencia normal del marco OSGi (es decir, puedes confiar en WAR: s, y WAR: s puede depender de otros paquetes OSGi). –
Y todos los servlets se registrarán en el servicio http OSGi. –