我目前正在创建一个矩阵,显示Knopflerfish,Equinox和Felix在OSGi 4.2中的合规程度。
到目前为止,我查看了Knopflerfish文档(Link 1,Link 2),以了解实际实现了多少Core和Compendium规范。
核心规范似乎已完全实现,但有关安全层和声明性服务的一些不一致的陈述。
令我惊讶的是,所有纲要规范的实施程度是多少:
要了解更多我下载的(Download page)Knopflerfish的源代码,并查看了它。看起来规范的某些部分是通过OSGi Alliance(org.osgi。*)提供的“原始”框架实现的。
一个例子是UPnP包:
alt text http://img6.imageshack.us/img6/5853/screenshot20100403at212.png
这是否意味着通过“原始”OSGi框架添加了未由Knopflerfish直接实现的缺失部分?
这是否也适用于其他框架,如Felix或Equinox?
答案 0 :(得分:1)
大多数OSGi规范定义了服务的接口类。您可以直接从OSGi Alliance的网站下载这些类和规范。
Knopflerfish等实现必须提供基本功能,例如:您在示例中提到的UPnP服务管理员的实际实现。一些接口类还提供必须由用户服务的开发者实现的接口,例如,用户服务的开发者。 BundleActivator。
声称符合OSGi标准的所有框架都必须提供这些接口的实现。没有“原始”OSGi框架(当然,除了参考实现之外)。接口不提供实现。