実行環境としてのEclipse

はじめてEclipseを使ったとき、優れたJava開発環境だと感じることでしょう。次に、Eclipseプラグインアーキテクチャに基づいていることを知り、プラグインを開発することで、独自の開発環境を構築可能だとわかります。さらに、自分にとって不要なプラグインをはぎ取りデスクトップアプリケーションに仕立てることができるRCP(Rich Client Platform)という側面を知ると、Eclipseは高機能なデスクトップアプリケーションを開発するためのプラットフォームであることもわかります。他にも、SWT/JfaceやEMF等がスタンドアロンJavaでも利用可能であるため、Eclipseプロジェクトは様々な有用なライブラリを提供している、と言うこともできると思います。

そして、こんぴろさんの指摘にもあるように、OSGiへの準拠を皮切りに、Server-side OSGi、そしてなんと言ってもRAPの登場によって、Eclipseは単なるIDEから実行環境へと進化しつつある、と言えます。

以下のリンクにおいて、Eclipseを実行環境へと進化させているプロジェクトの一覧がまとめられています。

http://wiki.eclipse.org/Eclipse_as_a_Runtime_Catalog

上記一覧によれば、ECF(Eclipse Communication Framework)Net4jといった、通信環境を提供するプロジェクトも"Eclipse as a Runtime"として捉えられていることがわかります。また、興味深いプロジェクトとして、Rienaも一覧に含まれています。まだプロポーザルの段階ですが、OSGiのバンドルをクライアント側とサーバ側に配置でき、位置透過に開発できる仕組みを提供することを目指しているようです。RAPはクライアント側は薄いJavaScriptのUIで残りはサーバ側ですが、Rienaの場合にはクライアント側もサーバ側もOSGiバンドル(Java)ですね。

Eclipseが単体マシン上で動くIDEからエンタープライズシステムの実行環境へと進化しはじめましたね。上記プロジェクトの今後の動向が非常に楽しみです。