在我上一篇文章之后,许多人一直在询问转向 OSGi Web 容器将对 dm Server 产生什么影响。最常见的问题是
- 添加了什么?
- 什么保持不变?
- 什么正在改变?
- 我如何保持最新?
我将分别回答这些问题。如果您有任何其他问题,请随时发表评论。
添加了什么?
与 Web 容器 RI 集成将使 dm Server 能够访问 OSGi Web 容器标准的所有功能。这包括处理 WAR 的标准模型、对 webbundle URL 方案的支持以及对 Web 容器扩展器的支持。
我正在探索 RI 的一些不错的增值功能,包括使用 ConfigAdmin 进行动态配置、用于检查已部署的 Web 捆绑包的综合 MBean 接口以及用于监视生命周期事件的 EventAdmin 集成。所有这些功能都将添加到 dm Server 和 RI 中。
什么保持不变?
您会很高兴地知道,您在 dm Server 中学到的关于 Web 应用程序的大部分知识都保持不变。
使用 dm Server 部署器
除了支持 webbundle URL 之外,WAR 文件仍然可以使用 dm Server 部署器进行部署。部署器的所有路径都受支持,包括 pickup 目录、部署器 MBean 和管理控制台。
使用 dm Server 部署器部署时,WAR 文件依赖项将从配置的存储库链中可用的捆绑包自动安装。
WAR 部署模式
程序员指南中提到的所有 WAR 类型都保留了下来——事实上,它们是 Web 容器标准的一部分。
系统包导入
使用 dm Server 部署的 WAR 将自动导入所有配置的系统包,即使此功能未纳入标准。如果使用 webbundle URL 部署,您可以使用 URL 参数触发系统包导入。我希望该规范能在此领域包含一些标准行为
什么正在改变?
我们旨在在 dm Server 中保持大部分功能不变,但转向 Web 容器确实需要进行一些更改。同时,我们正在利用代码重构来集成我们从用户那里看到的一些更受欢迎的功能请求。
Web 模块正在被移除
最大的变化是移除了Web 模块。我们的偏好是支持基于标准的方法,现在我们已经能够与 OSGi 联盟合作,为 OSGi 上的 Web 应用程序创建基于标准的方法,我们正在转向它,而不是 dm Server 特定的解决方案。
对于今天使用 Web 模块的您,我非常想听听您最喜欢哪些功能以及会因为失去它们而感到难过。重要的 Web 模块功能完全可以基于 Web 容器 Web 捆绑包进行重构。
切换到 Tomcat 配置格式
在 1.0.x 版本中,dm Server 中嵌入的 Tomcat 实例使用 JSON 配置文件格式进行配置。我们的许多用户都要求我们切换回使用 Tomcat 的 XML 格式。Web 容器 RI 使用标准的 Tomcat 格式,当 dm Server 切换到 Web 容器时,它也会切换配置文件格式。
我仍在最终确定配置文件将存储在哪里的具体细节。我希望能够使用占位符参数化 Tomcat 配置文件,这些占位符可以从 ConfigAdmin 填充
我如何保持最新?
了解进展的最简单方法是跟踪 Web 容器和 dm Server Web 的 SVN 仓库。您可以通过以下 URL 访问这些仓库
我将在此处定期发布博客,您可以在 Twitter 上通过 #osgi 和 #dmserver 关注进展。