Apache Karafは、本日、Apacheのトップレベルプロジェクトとして一周年を迎えた。Karafは、OSGiフレームワーク(EquinoxもしくはFelix)、コマンドシェル(Felix Gogo)およびデフォルトで組み込まれた数多くの便利なユーティリティからなる実行時パッケージだ。
FelixとEquinoxは、そのままでも利用可能なのだが、Karafは便利なOSGiユーティリティを組み合わせて、はじめから利用可能な状態を提供することを目的としている。例えば、Karafは設定可能なロギングシステムを含んでいたり(裏側ではLog4Jを利用しているが、一般的な多くのロギングシステム用のアダプタも用意している)、SSHによるリモートアクセスを提供していたり、ConfigAdminを使った設定(etc
ディレクトリにあるファイルにより提供される)や、組込のJAASサポートなども提供している。これだけでなく、Pax URLのMVNプロトコルがインストールされており、Maven centralリポジトリ(必要であれば、自動的にバンドルとしてラッピングしてくれる)から、バンドルをインストールすることが可能である。
それに加えて、Karafはfeaturesという考えも提供しており、これは、グループとしてOSGi実行環境にインストールできるバンドルの組み合わせだ。featuresは、obr
、jetty
、spring
のサポートをはじめから提供している。これにより、多くのバンドルをインストールする必要があるが、それらの間に厳密な実行時の依存性がないようなケースで、デプロイメントの作業を単純にしてくれる。
Karafは、Apache Felixプロジェクトとの統合の前は元々ServiceMix Kernelであり、最終的にApacheのトップレベルプロジェクトとなった。Karafは、Eclipse VirgoやEclipseRTパッケージなどと連携して、事前設定済みのフレームワークや便利なOSGiバンドルを提供し、OSGi実行環境への取組みを以前にないほど簡単にしてくれる。