レベル: 初級 万仲龍樹・中山清喬・杉田直哉・津田嘉孝, 日本アイ・ビー・エム システムズエンジニアリング株式会社
2007年 5月 25日 J2EEアプリケーションサーバ「Apache Geronimo」が静かにブレイクの兆しを見せています。本連載では、このGeronimoの魅力に迫っていきます。まず、Geronimoの導入ポイントと、Eclipse+Web Tools Platformを使った開発の流れを紹介しましょう。
はじめに
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に統合されているオープンソースプロジェクト
| プロジェクト | 概要 |
|---|
| Jetty | Servlet2.4、JSP2.0をサポートするWebアプリケーションサーバー | | Apache Tomcat | Servlet2.4、JSP2.0をサポートするWebアプリケーションサーバー | | Apache Derby | JDBCをサポートする軽量なRDBMS | | Apache Axis | SOAP実装の1つで、WebサービスとWS-Iをサポートする | | Apache DS | LDAP実装の1つ | | TranQL | 永続化メカニズムのフレームワーク | | OpenEJB | EJBコンテナ | | MX4J | JMXおよび、JMX Remote API(JSR160)の実装 | | ActiveMQ | JMSプロバイダー | | 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管理コンソールのログイン画面
ログインするためには、ユーザー名とパスワードが必要です。デフォルトでは、Usernameに「system」、Passwordに「manager」と入力し、[Login]ボタンをクリックします(図2)。
図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」をクリック
Eclipseが再起動したら、サーバの定義を作成しておきます。同様にJ2EEパースペクティブのサーバビューで、[New]-[Server]と選択し、今度は「Apache Geronimo v1.1 Server」をサーバに選びます。次にポートや管理用のユーザーIDなどを入力できます。ここではデフォルト値を受け入れます。[Finish]ボタンをクリックするとテストサーバが定義できたことになります。
 |
コラム2:Web Tools Platform
Web Tools Platformは、EclipseのWeb Tools Platform Projectにて開発されているWebアプリケーションの開発を行うためのプラグインです。このプロジェクトは3つのサブプロジェクトから構成されています。1つはWeb Standard Tools(WST)です。WSTがカバーする範囲は、HTMLやWebサービス、SQLなどの開発です。2つ目はJ2EE Standard Tools(JST)です。JSTがカバーする範囲はJ2EE1.4準拠のサーバーをターゲットにしたJ2EEアプリケーションの開発環境です。3つ目にJavaServer Faces Tools(JSF)があります。JSR127のJSF用の開発環境として開発されています。WTP1.5ではJSTの一部となる予定です。
|
|
このページで出てきた専門用語
-
JMS
- Java Message Service。Javaプログラム同士でネットワークを介してデータを送受信する際のAPI。
-
%JDK_INSTALL_DIR%
- 例えば、「C:\Sun\AppServer\jdk」など。
参考文献
著者について  | |  | 万仲龍樹・中山清喬・杉田直哉・津田嘉孝
日本アイ・ビー・エム システムズエンジニアリング株式会社
日本アイ・ビー・エム システムズ・エンジニアリング株式会社(ISE)は、日本アイ・ビー・エムグループにおけるSE技術者の専門家集団として1992年7月に設立されました。発足以来、IBM製品を中心とした難易度の高い複雑なシステム構築や先進技術の適用場面において、卓越したITスキルによりお客様と開発現場を支援してきました。近年は、仮想化技術・グリッドコンピューティング・Web 2.0・オープンソースソフトウェア等々の先進技術分野での支援も展開しています。 |
記事の評価
|