BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Apache Felix OSGiコンテナに迫る

Apache Felix OSGiコンテナに迫る

Felix(サイト・英語)はOSGi(サイト・英語)Release 4仕様のApache実装である。OSGiは動作中の環境に対して長時間駆動、動的なアップデート、そして最小限の停止時間を要するシステムによる使用を目的としたJavaベースのサービスプラットフォームの仕様である。OSGiテクノロジを採用した一番最初の主要プロジェクトであったEclipse(source) IDEを含めて、ランタイム時のより良いモジュール化、動的アッセンブリを可能にするためのマイクロカーネルとプラグインアーキテクチャを作るために、たくさんの会社がOSGiを使用してきた。Apache Directory(サイト・英語)、Geronimo(サイト・英語)、Jackrabbit(サイト・英語)、Spring(サイト・英語)、JOnAS(サイト・英語)のような他のプロジェクトもまた同じく採用の方向に向かっている。

プロジェクト委員の一人であるRichard Hall氏は先月ApacheCon(サイト・英語)にてApache Felixに関するプレゼンテーション(source)を行っている。彼はOSGiアーキテクチャの外観とそのフレームワークレーヤリングと共にそのプレゼンを始めた。彼はそのアプリケーションが組み込みシステム、クライアントかもしくはサーバアプリケーションであるかに関わらず、アプリケーションは全てモジュラー性の恩恵を受ける事ができ、またその実装内においてOSGiの使用から拡張性を得ることができるのであると述べた。またRichard氏はプレゼンにおいてサンプルのSwingベースのペイントプログラム(source)を用いてFelixコンポーネントの使用を実践して見せた。

InfoQはFelixプロジェクトの目標、現在の状況、そしてどのようにフレームワークが他のApacheプロジェクトに適合するのか、特にFelixはサービス指向のコンポーネントモデルの提供を狙っているためにSOA内における上記の項目に関してRichard氏に尋ねた。

Richard氏はFelixプロジェクトはボランティアコミュニティの努力の結果であると述べた。このプロジェクトの最終的なゴールは他のプロジェクトにフレームワークを組み込ませるの簡単にすることである。また彼は現在リリースされている1.0.1はほとんどOSGi R4仕様(source)に準拠しており、またOSGi Test Compatibility Kit(TCK)でもテスト済みであることを述べた。TCKテストの結果はFelixのWebサイト(サイト・英語)に掲載されている。R4コンプライアンスに欠如している部分は次回のリリースで施されるバンドルフラグメント用のサポートである。フラグメントの良い例は異なるローカル用のトランスレーションファイルである。Felixバージョン1.0.2は近々リリースされる予定である。

FelixがどのようにServiceMixとCXFのようなApacheプロジェクトに適合するのかという疑問には、彼はServiceMix(サイト・英語)とCXF(サイト・英語)コミュニティとOSGiプラットフォームコミュニティそれぞれにおいてOSGiテクノロジに対する興味があり、OSGiプラットフォームはそのようなテクノロジを用いて実装されたサービスをデプロイ、またマネージするのに適した環境を提供すると答えた。

依存性とバージョンマネジメント、ガバナンスがSOAの利点の恩恵を最大限に受けるエンタープライズ主導性においてFelixがどのような役割果たすのだろうか?

最低限それは依存性とバージョンマネジメントを用いて、それらを補助するためモジュラー様式の中でアプリケーションをパッケージ、デプロイ、実行できるプラットフォームを提供する。効果的にOSGiテクノロジはJavaプラットフォームの欠如したモジュール性レイヤーとして機能する。それに加えてOSGiプラットフォームはOSGiベースのアプリケーションがモジュール性である事を可能にするのに加え、それがサービス指向の規則から作られるのを可能にする。

Eclipseの最新のバージョンであるEuropaはOSGiモジュールとしてバンドルされている。Apache製品(例えばTomcat)をOSGiモジュールとしてバンドルする計画はあるのだろうか?

EclipseはOSGiをプラグイン用のモジュール性メカニズムとして使用しています。Felixにおける私達のゴールは他のApacheプロジェクトがそれらの成果物をOSGiバンドルとしてパッケージさせる事です。Felix内で私達はプロセスを始めるのを補助するため、多様な共通オープンソースパッケージ用のバンドルラッパーJARファイルを作り始めました。たくさんのケースにおいてそれはメタデータを既存のJARファイルのマニフェストに付加するのを同じくらい簡単なのですが、他のケースにおいては既存のプロジェクトをOSGiテクノロジと統合するのには更なる労力が要されるのです。また私達はMaven(サイト・英語)が作り上げるJARファイル全てにメタデータを付加するのを普及させるためMavenコミュニティと協力しています。

次なるFelixのメジャーリリースはバンドルフラグメント用のサポートを備えたバーション1.2となるだろう。フラグメントサポートを伴って、 Richard氏はFelixは基本的にR4.1コンプライアンスを簡単にさせるR4コンプライアントであるべきであると述べている。

Felixは今年初旬にトップレベルのApacheプロジェクトに昇格した。というのもそのプロジェクトチームは10月にバージョン1.0.1をリリー スしている。サービスコンポーネントランタイム(SCR)ディスクリプター用のMavenプラグイン(サイト・英語)が先月リリースされた。このプラグインはアノテーションを基にしてOSGiサービスディスクリプターを生成するのに使用する事ができる。FelixにはEclipseインテグレーション(サイト・英語)サポートがあるので、デベロッパ達はFelixをEclipse内で動作する事ができる。FelixコンポーネントはApche Software License Version 2.0の下でライセンスされている(source)

さらなるOSGiの関連ニュースはここで参照して欲しい。

http://infoq.com/jp/osgi


原文はこちらです:http://www.infoq.com/news/2007/12/felix-osgi-container

この記事に星をつける

おすすめ度
スタイル

BT