BT

OSGiがリリース5のアーリーアクセス版を提供

| 作者: Alex Blewitt フォローする 4 人のフォロワー , 翻訳者 徳武 聡 フォローする 0 人のフォロワー 投稿日 2012年4月1日. 推定読書時間: 2 分 |

原文(投稿日:2012/03/26)へのリンク

本日OSGi DevConでOSGiアライアンスはOSGiコアエンタープライズの仕様のリリース5のアーリーアクセス版を発表した。OSGi R5の最終リリースは今年の夏の後半に予定されている。

OSGi R5は何が新しいのか

OSGi R5コアの仕様には一般的な要件機能を定義するのに使えるResource APIが追加されている。これは、既存のImport-PackageExport-Packageの要件の一般化であり、バンドルを記述する方法を提供する。この要件と機能の定義はCapabilityクラスとRequirementクラスを通じて、アクセスできる。バンドル館のコネクションには、既存のBundleWiringクラスからアクセスできる。このクラスはbundle.adapt(BundleWiring.class)経由でBundleのアダプタとして動作する。

この要件/機能モデルは新しいOSGi Bundle Repository (OBR)のフォーマットで公開される。このフォーマットはバンドルの情報を記録し、バンドル間の依存性を表現する。このフォーマットはEclipseのP2フォーマットに似ているが、OSGiランタイム用にこの要件と機能の定義を表現する新しい方法を提供する(OBRの以前のバージョンは存在はしていたが、APIを標準化した仕様としてはOSGi R5が初めてだ)。要件は依存性を分類するnamespaces上で構築される。namespacesにはJavaランタイムの種類を表すosgi.eeやバンドル間の依存関係を表すosgi.wiring.packageosgi.bundle.bundleがある。

また、JavaのServiceLoaderをフックする新しいAPIもある。ServiceLoaderは複数のクラスローダがあると動作しない。この新しいAPIはロードされたバンドルを調整し、時にはバイトコードを書き直して、ServiceLoaderの動きをOSGiが認識できるスタブの呼び出しにマップして、正しいスレッドのローカルクラスローダの準備が整った後に、その呼び出しを転送する。加えて、バンドルのワイヤリングやサービスのワイヤリングやフレームワークのフックも適切に設置されているので、実行環境(Eclipse Virgoのような)はバンドルの間に仮想的なパーティショニングの枠組みを設定できる。エンタープライズ仕様では、SubsystemサービスとしてこのAPIにアクセスできる。

また、JMXインターフェイスのようなサービスに対しても小さな改善も積み重ねられている。JMXはバンドルのワイヤリングの仕組みで公開されている情報をより詳しく提供できるようになっている。

Eclipse Equinoxはすでにこれらの仕様を提供している。Apache Felixも同様だ。しかし、これらの仕様はまだ公式にはリリースされていないので、保証はされていない。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT