OSGi R5 Enterprise版本包含子系统规范。OSGi子系统可以取代Eclipse功能吗?
- OSGi子系统是否包含Eclipse功能的所有功能?
- 工具是否存在?
该映射的目的是重用现有的eclipse
特征。 felix
或bnd
/bndtools
为基础的基础设施。
OSGi R5 Enterprise版本包含子系统规范。OSGi子系统可以取代Eclipse功能吗?
该映射的目的是重用现有的eclipse
特征。 felix
或bnd
/bndtools
为基础的基础设施。
是的...种。子系统功能强大,但比Eclipse功能更复杂。
功能只是一组软件包。您可以将多个功能部件安装到单个OSGi框架中,并且每个功能部件中的功能部件可以相互交互。通过导入包或绑定服务。这使得他们很难测试和推理,因为与其他功能一起安装的功能可能无法正常工作。
子系统也是一组包,但它还包括一定程度的隔离。您可以控制一个子系统的软件包,服务和其他功能是否对任何其他子系统的成员可见。因此他们更可预测。
不幸的是,构建一个子系统是一个非常复杂的任务,而且我并不知道这个任务的具体工具。我们没有在bnd/Bndtools中做任何事情来帮助解决这个问题。但嘿它是开源的...捐款欢迎;-)
子系统和功能实际上是两个正交的东西。 Eclipse功能是一组可以安装到OSGi运行时的软件包。实际上,在需要安装它们的情况下,具有很多Require-Bundle
元素的捆绑软件和某个功能之间几乎没有区别。
另一方面,OSGi子系统是允许嵌套OSGi运行时的建议方式。然而,在OSGi规范的最终版本中,它们被替换为更一般的布线结构;但无论如何,他们做的是完全不同的事情。
你能提供这些语句的一些来源吗?以我的理解,SubSystem实际上是Eclipse特性的标准化:http://coderthoughts.blogspot.ch/2013/04/osgi-subsystems.html – Puce
不;功能安装到同一实例中,而osgi子系统是一组分区的软件包,无法在同一OSGi运行时查看其他软件包。它更类似于同一个tomcat容器中的不同webapps。无论如何,它们在后来的规范中被修改为简单的布线/隐藏协议,而不是嵌套框架。 – AlBlue
@AlBlue除此之外还有更多。是的,*核心*被最小化地更新以包括接线滤波器......但是也有子系统服务规范(OSGi企业规范,第134章)建立在这些滤波器上以创建具有作用域区域的完整子系统概念等。 –
感谢投入和我想我会试一试。我认为如果可以通过OSGi子系统直接使用“Eclipse Feature”,使用bnd/Bndtools的“纯粹”OSGi社区可能会受益。 –