目次


Apacheの戦士Geronimoが持つ実力

第1回 勇気を出してジェロニモとお近づきになってみる

Comments

コンテンツシリーズ

このコンテンツは全#シリーズのパート#です: Apacheの戦士Geronimoが持つ実力

このシリーズの続きに乞うご期待。

このコンテンツはシリーズの一部分です:Apacheの戦士Geronimoが持つ実力

このシリーズの続きに乞うご期待。

はじめに

2006年1月、Apacheのプロジェクトとして、J2EEアプリケーションサーバApache Geronimo 1.0がリリースされました。Apache HTTP Serverの開発が一段落したいま、活発に開発が行われているプロジェクトです。Geronimoの魅力に迫る本連載では、Geronimoの理解を深めるために、その構造とRubyを使った応用事例を解説していきましょう。まず、Geronimoの導入ポイントと、Eclipse+Web Tools Platformを使った開発の流れを紹介していきます。

Apache Geronimoとは

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. Apache Geronimoに統合されているオープンソースプロジェクト
プロジェクト概要
JettyServlet2.4、JSP2.0をサポートするWebアプリケーションサーバー
Apache TomcatServlet2.4、JSP2.0をサポートするWebアプリケーションサーバー
Apache DerbyJDBCをサポートする軽量なRDBMS
Apache AxisSOAP実装の1つで、WebサービスとWS-Iをサポートする
Apache DSLDAP実装の1つ
TranQL永続化メカニズムのフレームワーク
OpenEJBEJBコンテナ
MX4JJMXおよび、JMX Remote API(JSR160)の実装
ActiveMQJMSプロバイダー
Spring framework軽量のDIコンテナ、ないしは、IoCコンポーネントによってJ2EEアプリケーションの構築を行うためのフレームワーク

もう1つの特徴は、これらのさまざまなオープンソースソフトウェアを統合する方法にあります。GeronimoではGeronimo Bean、ないしはGBeanと呼ばれるソフトウェアコンポーネントとしてTomcatなどのコンテナやビジネスロジックを実装したJ2EEアプリケーションを管理します(GBeanの詳細については今後解説予定)。また、このメカニズムを使用して独自の機能を組み込むことも可能です。そういう意味では、GeronimoはJ2EEアプリケーションサーバという側面と同時に、さまざまなソフトウェアコンポーネントを統合するカーネルであるとも言えます。

また、GBeanをサーバにデプロイする際に、デプロイメントプランというXMLベースの構成ファイルを使用します。J2EEアプリケーションもGeronimoではGBeanとして管理されているため、アプリケーションのデプロイにもデプロイメントプランを使用するという特徴があります。

Geronimoのインストールと稼働

Geronimoをインストールするに当たっては、Sun JDK 1.4.2以上が必要です。JDKがすでにインストールされている場合は、Geronimoが提供するスクリプトを実行できるように、OSの環境変数にJAVA_HOMEを設定しておくと便利です。

  • Windowsの場合
    set JAVA_HOME=%JDK_INSTALL_DIR%  *
  • Linuxの場合
    $ export JAVA_HOME=/JDK_INSTALL_DIR/

ダウンロードとインストール

バイナリイメージは、こちらからダウンロードできます。現在、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というディレクトリができます。以下ではこのディレクトリを「<Geronimo_HOME>」と表記します。

Geronimoサーバの起動

サーバを起動するには<Geronimo_HOME>\bin以下にある、startup.batというバッチファイルを実行します。バッチファイルの実行にはJAVA_HOMEの設定が必要です。また、スクリプトを利用せず、「java -jar server.jar」というコマンドでもサーバを起動できます。

コマンドを実行すると、別コンソールが立ち上がってロードされたコンポーネントなどが表示され、サーバが起動します。

Geronimo管理コンソールの起動

サーバが起動したことを確認するために、Geronimo管理コンソールを起動してみましょう。これはWebアプリケーションで作られているツールです。サーバが起動した状態で、次のURLをブラウザに入力します(図1)。

http://localhost:8080/console/

図1. Geronimo管理コンソールのログイン画面
図1. Geronimo管理コンソールのログイン画面
図1. Geronimo管理コンソールのログイン画面

ログインするためには、ユーザー名とパスワードが必要です。デフォルトでは、Usernameに「system」、Passwordに「manager」と入力し、[Login]ボタンをクリックします(図2)。

図2. Geronimo管理コンソール
図2. Geronimo管理コンソール
図2. Geronimo管理コンソール

Geronimoサーバの停止

サーバを停止するには、Geronimoが起動しているコンソールでCtrl+Cキーを入力します。これはサーバの起動をstartupバッチファイルで行った場合も、javaコマンドから行った場合でも同じです。

また、スクリプトで停止させることも可能です。<Geronimo_HOME>\binにある、shutdown.batというバッチファイルを実行すると、UsernameとPasswordを聞かれます。Geronimoコンソールにログインするときと同じものを入力すると、起動しているGeronimoサーバを自動で検出し、停止シグナルを送ります。

開発環境の構築

次にGeronimoで稼働するアプリケーション開発環境を整えましょう。ここではEclipseとWeb Tools Platform(WTP)を利用します(コラム2参照)。

2007年3月時点でのEclipseとWTPの最新バージョンはそれぞれ3.2.2、1.5.3です。WTPにはAll-in-oneとRuntimeのアーカイブがあり、All-in-oneには、Eclipseも同梱されています。WTPのダウンロードはこちらから行えます。

EclipseからGeronimoをテストサーバとして使用可能にするには、もう1つプラグインを追加する必要があります。このプラグインを追加することで、Geronimoの起動/停止、アプリケーションのデプロイ/アンデプロイなどをEclipse上から行えるようになります。

入手方法として一番簡単なのは、Eclipseからの導入です。WTPプラグインを組み込んだ状態でEclipseを起動し、J2EEパースペクティブに切り替え(メニューからは[Window]-[Open Perspective]-[Other...]-[J2EE])、画面下部のサーバビューで右クリックメニューの[New]-[Server]を選択します。このとき表示される画面で「Don't see your server listed? Click here」をクリックします(図3)。すると、Geronimo用のプラグインが表示されますので、選択して[Finish]ボタンをクリックすると、自動でダウンロードとインストールが開始されます。インストールが終わったら、Eclipseを再起動することでGeronimoサーバをEclipse上から使用できます。

図3. サーバー選択の画面で右上の「Don't see your server listed? Click here」をクリック
図3. サーバー選択の画面で右上の「Don't see your server listed? Click here」をクリック
図3. サーバー選択の画面で右上の「Don't see your server listed? Click here」をクリック

Eclipseが再起動したら、サーバの定義を作成しておきます。同様にJ2EEパースペクティブのサーバビューで、[New]-[Server]と選択し、今度は「Apache Geronimo v1.1 Server」をサーバに選びます。次にポートや管理用のユーザーIDなどを入力できます。ここではデフォルト値を受け入れます。[Finish]ボタンをクリックするとテストサーバが定義できたことになります。

このページで出てきた専門用語

JMS
Java Message Service。Javaプログラム同士でネットワークを介してデータを送受信する際のAPI。
%JDK_INSTALL_DIR%
例えば、「C:\Sun\AppServer\jdk」など。

ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Open source, Java technology
ArticleID=249457
ArticleTitle=Apacheの戦士Geronimoが持つ実力: 第1回 勇気を出してジェロニモとお近づきになってみる
publish-date=05252007