BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース OSGi リリース5の仕様にリポジトリとVersion Rangeを追加

OSGi リリース5の仕様にリポジトリとVersion Rangeを追加

原文(投稿日:2012/06/14)へのリンク

OSGi Allianceは、OSGiという名前を持つフレームワークのリリース5の仕様を発表した。リリース5では、OBRとして知られるOSGiバンドルリポジトリの標準化、ジェネリックスのCapabilityとRequirementのモデリング、VersionRangeクラスによるプログラムからのアクセスなどが定義されている。この仕様はダウンロード可能であり、Apache Felix 4.0と同じく、6月にリリースされるEquinox 3.8で実装される予定だ。

バージョン番号はOSGiのメジャーな変更であることを示しているが、実際には変更は比較的マイナーなものだ。実装されたが仕様に入らなかった機能のために、バージョンを変更しなければならなかったのだ。以前、InfoQで取り上げたように、OSGi R5には–SNAPSHOTハンドリングが含まれていない。

2011年のOSGi 4.3で紹介されたジェネリックス要求と共に、Enterprise OSGi R5の仕様には、OBRサービスやOSGiバンドルリポジトリの仕様が含まれる。OBRは、何年も前から利用可能で、元々はOscarと名付けられたOscarバンドルリポジトリであった。Oscarは、後にApache Felixになった。しかし、最終的な仕様がなく、外部に対してそれほど影響を与えられなかった。Eclipse P2は同様の解決策を提供するが、当時、P2はEclipseランチャなどのOBRリポジトリに直接置けないOSGi以外のコンポーネントにサポートを提供していた。これらのコンポーネントは、Require-CapabilityとProvide-Capabilityの出現により、P2とOBRが同レベルのサービスを提供できる追加情報を十分に提供している。

P2からのEclipse更新サイトはずっと幅広く受け入れられているようにみえるのに対して、OSGiバンドルリポジトリの過去の成功は限られたものだった。これはIDEと他の製品のプラットフォームの両方でEclipseの人気があるためだが、OBRの正式な基準が欠けているために制限されているという一面もある。SpringSourceのEnterprise Bundle RepositoryKnopflerfishのようなバンドルリポジトリは使われなくなる一方で、Apache Karafのようなランタイムを可能にしたOBRは良く使われている。

幸運なことに、解決策を埋め込むことはずっと簡単になり、OSGi Resolverサービスは要求セットを解決する標準化された方法を提供している。このため、ランタイムをブートストラップで起動して、バンドル一覧を定義したり、現在、Eclipseの更新サイトで行われているように、既存のランタイムにオンデマンドでこれらのバンドルをインストールしたりできる。

その他の改善として、分離されたサービス供給のためにOSGi以外のアプリケーションで使われるServiceLoaderクラスや、OSGiランタイムのマルチテナント方式を提供するSubsystemsServiceが利用可能だ。

これらの機能は、概要のドキュメントの中で、JTAやJPAなどの前回リリースされた仕様を合わせた、2012年5月リリースのOSGi Compendium 4.3やOSGi Residential 4.3に追加されている。住宅に関する仕様は初めてであり、以下のように述べられている。

このResidential仕様のサービスは、住宅市場を念頭において設計されました。この環境のための要求や管理のプロトコルは、Home Gateway Initiative (HGI)やBroadband Forum (BBF)、UPnP Forumのような共同体によって、仕様の中で定義されています。これらの仕様には、居住環境を管理するプロトコルと同様に、顧客端末 (CPE) や他の顧客デバイスの中の実行環境のための要求が記述されています。

Eclipse Equinox 3.8とApache Felix 4.0は、数週間以内にOSGi R5に準拠したものがリリースされるだろう。

この記事に星をつける

おすすめ度
スタイル

BT