1

私は現在、Knopflerfish、Equinox、およびFelixがOSGi4.2にどの程度準拠しているかを示すマトリックスを作成しています。

これまでのところ、Knopflerfishのドキュメント(リンク1リンク2)を見て、コアとCompendiumの仕様が実際にどの程度実装されているかを把握しました。

セキュリティレイヤー宣言的サービスについて一貫性のないステートメントがいくつかありますが、コア仕様は完全に実装されているようです。

私が不思議に思うのは、すべてのCompendium仕様のどれだけが実装されているかです。

  • リモートサービス
  • ログサービス
  • Httpサービス
  • デバイスアクセス
  • 構成管理サービス
  • メタタイプサービス
  • プリファレンスサービス
  • ユーザー管理サービス
  • ワイヤー管理サービス
  • IOコネクタサービス
  • 初期プロビジョニング
  • UPnPデバイスサービス
  • 宣言型サービス
  • イベント管理サービス
  • 展開管理者
  • 自動構成
  • アプリケーション管理者
  • DMT管理サービス
  • 管理サービスの監視
  • 外国出願アクセス
  • ブループリントコンテナ
  • トラッカー
  • XMLパーサーサービス
  • ポジション
  • 測定と状態
  • 実行環境

詳細については、Knopflerfishのソースコードをダウンロード(ダウンロードページ)して見てみました。仕様の一部は、OSGi Alliance(org.osgi。*)によって提供される「元の」フレームワークを介して実装されているようです。

1つの例はUPnPパッケージです。

代替テキストhttp://img6.imageshack.us/img6/5853/screenshot20100403at212.png

これは、Knopflerfishによって直接実装されていない欠落部分が、「元の」OSGiフレームワークを介して追加されることを意味しますか?

そして、これはFelixやEquinoxのような他のフレームワークにも当てはまりますか?

4

1 に答える 1

1

OSGi仕様のほとんどは、サービスのインターフェースクラスを定義しています。これらのクラスは、仕様とともにOSGiAllianceのWebサイトから直接ダウンロードできます。

Knopflerfishな​​どの実装は、基本的な機能を提供する必要があります。たとえば、例で説明したUPnPサービス管理者の実際の実装です。一部のインターフェイスクラスは、BundleActivatorなどのユーザーサービスの開発者が実装する必要のあるインターフェイスも提供します。

OSGiに準拠していると主張するすべてのフレームワークは、これらのインターフェースの実装を提供する必要があります。「元の」OSGiフレームワークはありません(もちろん、リファレンス実装のほかに)。インターフェイスは実装を提供しません。

于 2010-04-05T12:18:40.053 に答える