IBM®
本文へジャンプ
    Japan [変更]    ご利用条件
 
 
検索範囲検索:    
    ホーム    製品    サービス & ソリューション    サポート & ダウンロード    マイアカウント    
skip to main content

developerWorks Japan  >  Open source | Java technology  >

Apacheの戦士Geronimoが持つ実力: 第1回 勇気を出してジェロニモとお近づきになってみる

developerWorks
ページオプション

JavaScript を要するドキュメントオプションは表示されません


レベル: 初級

万仲龍樹・中山清喬・杉田直哉・津田嘉孝, 日本アイ・ビー・エム システムズエンジニアリング株式会社

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に統合されているオープンソースプロジェクト
プロジェクト概要
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>」と表記します。

コラム1:WebSphere Application Server Community Edition(WAS_CE)

WAS_CEはGeronimoをベースとしたアプリケーションサーバで、米IBMが2005年10月25日に発表したものです。Geronimoと同じようにApacheやそのほかの数多くのオープンソースのソフトウェアを統合し、J2EE1.4に準拠しています。

WebSphere Application Server Community Edition

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・オープンソースソフトウェア等々の先進技術分野での支援も展開しています。




記事の評価


サイト改善のため、ご意見をお寄せください。こちらのフォームからお願いいたします。



 


 


不充分・不完全である大変素晴らしい
 


この記事を共有する

del.icio.us del.icio.us newsing newsing FC2ブックマーク FC2ブックマーク
Choix! Choix! ニフティクリップ ニフティクリップ Yahoo!ブックマーク Yahoo!ブックマーク
MM/memo MM/memo CZブックマーク CZブックマーク livedoorクリップ livedoorクリップ
はてなブックマーク はてなブックマーク Buzzurl(バザール) Buzzurl(バザール)




上に戻る


本記事は、オープンソースマガジン2006年5月号「注目のJ2EEサーバー Apacheの戦士Geronimoが持つ実力」を再構成したものです。

Copyright© 2007 ITmedia, Inc. All Rights Reserved.

    日本IBMについて プライバシー お問い合わせ