OSGi和应用程序服务器

时间:2012-09-25 12:11:02

标签: osgi application-server

我无法理解这两个平台的不同之处? 两者似乎都提供了部署和管理应用程序的环境。 首先,我认为应用程序服务器使用OSGi,我现在不这么认为,但我看到大型AS(jboss,glassfish,websphere等)使用OSGi。 什么是大局?

谢谢

1 个答案:

答案 0 :(得分:12)

(在某种程度上)“应用程序”一词的重载。

OSGi是模块化 Java应用程序的运行时环境(和开发模型)。在这种情况下,术语“应用程序”可能非常非常低。例如,应用程序服务器可以被视为“应用程序”。

应用程序服务器也是Java应用程序的运行时环境(和开发模型)。然而,在这种情况下,术语“应用”通常是指更高级别的应用类型(例如,web应用)。应用程序服务器通常包含一组丰富的更高功能和编程API,用于构建Web应用程序(Servlet),将数据持久保存到数据库(JPA)和群集功能。如今,大多数应用程序服务器都由模块组成(例如,核心,servlet引擎,EJB容器等)。一些应用程序服务器使用OSGi。其他人有自己的模块化运行时环境,也提供OSGi功能。

但是,也可以仅使用OSGi运行时环境直接开发更高级别的应用程序(例如Web应用程序)。但是,OSGi框架本身不包含任何其他功能。它必须自己组装。有一些“发行版”包括一个框架和几个模块。