InfoQ

News

Apache Felix OSGiコンテナに迫る

作者 Srini Penchikala, 翻訳者 編集部 投稿日 2007年12月11日 午後12時7分

コミュニティ
Java
トピック
デプロイ/データセンター
タグ
デプロイ,
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

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。

Agile2008 チーム参加レポート - カンファレンス参加編

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。