我对整个 Java 和 OSGi 世界还很陌生,我很难理解 OSGi Web 应用程序的生态系统。
更准确地说,我目前正试图了解生态系统的所有部分是如何相互关联的:
- OSGi 框架(例如 Apache Felix、Equinox、Knoplerfish)
- OSGi 运行时(例如 Spring DM Server、Pax Runner、Apache Karaf)
- Web Extender(例如 Pax Web Extender、Spring Web Extender)
- Web 容器(例如 Apache Tomcat、Jetty)
为了让您直观地了解我对他们关系的实际理解,请查看这张图片:
据我所知,OSGi 框架是 OSGi 规范的实现。运行时是一个发行版,它在 OSGi 规范之上添加了额外的功能,例如日志记录。由于 OSGi 和 Web 容器(如 Tomcat)的类路径机制似乎存在一些差异,因此您需要某种翻译器。这部分由“Web Extender”处理。
请您为我澄清这一切好吗?我理解的一切正确吗?