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社區可能會受益。 –