J2EEアプリケーションサーバ「Apache Geronimo」が静かにブレイクの兆しを見せている。本連載では、このGeronimoの魅力に迫っていく。まず、Geronimoの導入ポイントと、Eclipse+Web Tools Platformを使った開発の流れを紹介しよう。
2006年1月Apacheのプロジェクトとして、J2EEアプリケーションサーバApache Geronimo 1.0がリリースされた。Apache HTTP Serverの開発が一段落したいま、活発に開発が行われているプロジェクトである。Geronimoの魅力に迫る本連載では、Geronimoの理解を深めるために、その構造とRubyを使った応用事例を解説していこう。まず、今回と次回の2回では、Geronimoの導入ポイントと、Eclipse+Web Tools Platformを使った開発の流れを紹介する。
Apache Geronimo(以下、Geronimo)は、Apache Licenseの下で使用できるオープンソースのJ2EEアプリケーションサーバです。
Geronimoは、2003年8月にApache Incubatorで開発が始められました。2005年10月に発表されたリリース1.0 Milestone5(M5)以降のバージョンは、Sun MicrosystemsのJ2EE 1.4サーバとしての認定も受けています。
Geronimoの大きな特徴は、さまざまなオープンソースプロジェクトを集合させているという点が挙げられます。Apache Software Foundation(ASF)での多くのJavaに関するプロジェクトを利用しているほか、今日入手できるオープンソースソフトウェアを再利用しています。例えば、ASFからはWebアプリケーションサーバとして有名なTomcatが使われています。また、オープンソースのJMS*1.1プロバイダーであるActiveMQなども含まれます(表1)。なお、ActiveMQについてはこちらの記事が参考になります。
もう1つの特徴は、これらのさまざまなオープンソースソフトウェアを統合する方法にあります。GeronimoではGeronimo Bean、ないしはGBeanと呼ばれるソフトウェアコンポーネントとしてTomcatなどのコンテナやビジネスロジックを実装したJ2EEアプリケーションを管理します(GBeanの詳細については今後解説予定)。またこのメカニズムを使用して独自の機能を組み込むことも可能です。そういう意味では、GeronimoはJ2EEアプリケーションサーバという側面と同時に、さまざまなソフトウェアコンポーネントを統合するカーネルであるとも言えます。
また、GBeanをサーバにデプロイする際に、デプロイメントプランというXMLベースの構成ファイルを使用します。J2EEアプリケーションもGeronimoではGBeanとして管理されているため、アプリケーションのデプロイにもデプロイメントプランを使用するという特徴があります。
Geronimoをインストールするに当たっては、Sun JDK 1.4.2以上が必要です。JDKがすでにインストールされている場合は、Geronimoが提供するスクリプトを実行できるように、OSの環境変数にJAVA_HOMEを設定しておくと便利です。
バイナリイメージは、こちらからダウンロードできます。現在、Windows、Linux、Mac OS X、UNIX環境で稼働することがテストされています。ダウンロードできるイメージには2種類あります。WebコンテナとしてTomcatを使用しているものとJettyを使用しているものです。ここでは、Windows版のTomcatを使用したVersion 1.1.1のバイナリイメージを基に紹介していきます。
次に、ダウンロードしたgeronimo-tomcat-j2ee-1.1.1.zipを展開します。ここではC:\に展開させます。するとC:\geronimo-1.1というディレクトリができます。以下ではこのディレクトリを「
WAS_CEはGeronimoをベースとしたアプリケーションサーバで、米IBMが2005年10月25日に発表したものです。Geronimoと同じようにApacheやそのほかの数多くのオープンソースのソフトウェアを統合し、J2EE1.4に準拠しています。
http://www.ibm.com/software/webservers/appserv/community/
Java Message Service。Javaプログラム同士でネットワークを介してデータを送受信する際のAPI。
例えば、「C:\Sun\AppServer\jdk」など。
Copyright © ITmedia, Inc. All Rights Reserved.