我想深入了解在开发和部署基于OSGi的系统时工业中使用的生命周期。
在开发阶段创建版本化和打包捆绑包之后,我主要关注部署阶段。具体测试可能执行的程序和集成方法
具有一些低级细节的高级帐户将非常有用
谢谢。
答案 0 :(得分:1)
OSGi捆绑包可以在运行的OSGi引擎(无论是Equinox,Felix,dmServer等)中组合在一起。与其他代码一样,可能依赖于特定于平台的行为(例如,仅在Windows上使用c:\ style文件引用的代码),与JNI一起使用的代码,仅对x86平台有效,依此类推。在这些情况下,OSGi无助于或阻碍软件测试。
它可以增加复杂性的地方在于运行捆绑包的纯粹组合爆炸。与可以在单个单片CLASSPATH上运行的Java应用程序不同,您往往不会在以后发现错误(例如,在尝试加载JDBC驱动程序时类似于ClassNotFoundException)。 OSGi在这方面有所帮助,确保您必须至少拥有捆绑包的必需包导出;但即使这样,一些软件包也可以是可选的,因此最终会遇到同样的问题。
作为OSGi捆绑包,您确实需要测试:
在认证一组捆绑包以便彼此协作时,您需要考虑的其他内容。理想情况下,您可以运行in-OSGi VM测试 - 这就是Eclipse的JUnit插件测试的运行方式。
答案 1 :(得分:0)
你可以学习Eclipse,因为它是我所知道的最大的基于OSGi的系统之一。他们有许多文档讨论版本控制以及它们如何在eclipse平台中使用测试。
答案 2 :(得分:0)
我建议您阅读Getting Started Guide for dmServer或查看SpringSource.org dmServer site中的其他信息。
“入门指南”介绍了一个名为 GreenPages 的小型Web应用程序,该应用程序是从骨架项目结构分阶段构建的。最终实现是一个模块化的多包应用程序。在此过程中,单元和集成测试在Eclipse中展示,以及独立(Maven)构建。
尽管Eclipse很大,并且是一个有用的示例,但我不认为它是典型的OSGi模块化系统,我也不了解开发过程生命周期的解释。