前回は、Geronimoの導入と、アプリケーション開発環境となるEclipseとWeb Tools Platform(WTP)をインストールしました。今回は、WTPを使用して簡単なWebアプリケーションを開発する方法を紹介します。
前回は、Geronimoの導入と、アプリケーション開発環境となるEclipseとWeb Tools Platform(WTP)をインストールしました。今回は、WTPを使用して簡単なWebアプリケーションを開発する方法を紹介します。まずWebアプリケーションのベースとなるDynamic Web Projectを作成*します。ここで重要なのは、Target runtimeにGeronimoが入っていること(図1)、およびProject FacetにGeronimo Deployment Plansが含まれていることです(図2)。
Geronimo Deployment Plansが含まれている場合、Webアプリケーションのプランファイルであるgeronimo-web.xmlが生成されます。これはGeronimoにアプリケーションをデプロイする際に非常に重要な役割を果たします。
Webアプリケーションのプランファイルには、そのWebアプリケーションのコンテキストルートやクラスローダーのロード順序(サーバからロードするか、アプリケーションからロードするか)、J2EEのリソース参照やWebアプリケーションが依存するJAR、セキュリティなどを設定できます。初期状態では、Dynamic Web Projectの名前から生成されたコンテキストルートとクラスローダーのロード順序のみが記述されています(geronimo-web.xml)。
プランファイルはXMLファイルとしてテキストエディタから編集可能なだけでなく、GUIベースのエディタでXMLのタグを意識することなく編集することも可能になっています(図3)。
後はServletやJSPなどのWebアプリケーションのコンポーネントを開発し、必要に応じてweb.xmlを記述することでWebアプリケーションが完成します。Eclipseからは、先ほど定義したGeronimoサーバに対して、Dynamic Web Projectを追加することで、アプリケーションがデプロイでき、そのままテスト可能です。
Geronimoではデプロイに関する情報をプランファイルというXMLファイルに記述します。これはGeronimo版のJ2EEデプロイメントディスクリプタとも言えます。プランファイルそのものをJ2EEモジュールに組み込んで配置することもできますし、別途プランファイルを指定することもできます。プランファイルのXMLスキーマは
最後にGeronimoが提供するDeployerツールを使用してWebアプリケーションをデプロイします。このツールはdeployer.jarに含まれるJavaアプリケーションで、
>java -jar deployer.jar deploy
このとき、Geronimo管理コンソールにアクセスするときと同じUsernameとPasswordが求められます。
アプリケーションを除去するには次のように実行します。
>java -jar deployer.jar undeploy
このときに注意しなくてはいけないのは、undeployの後ろに指定するアプリケーションの名前で、プランファイルに記述しているConfig_IDを指定する必要があります。Config_IDは現在デプロイされているモジュールを表示するコマンドで調べられます。
>java -jar deployer.jar list-modules
2回にわたって、GeronimoのJ2EEアプリケーションサーバとしての側面を見てきました。GeronimoはさまざまなオープンソースソフトウェアをGBeanというアーキテクチャーによって統合したJ2EEアプリケーションサーバです。Geronimo上で稼働するJ2EEアプリケーションはEclipseとWTPプラグイン、Geronimoプラグインによって開発することが可能です。
[File]-[New]-[Project]から「Web」の中にある「Dynamic Web Project」を選択。
本記事は、オープンソースマガジン2006年5月号「注目のJ2EEサーバー Apacheの戦士Geronimoが持つ実力」を再構成したものです。
日本アイ・ビー・エム システムズエンジニアリング株式会社
万仲龍樹・中山清喬・杉田直哉・津田嘉孝
日本アイ・ビー・エム システムズ・エンジニアリング株式会社(ISE)は、日本アイ・ビー・エムグループにおけるSE技術者の専門家集団として1992年7月に設立された。
発足以来、IBM製品を中心とした難易度の高い複雑なシステム構築や先進技術の適用場面において、卓越したITスキルによりお客様と開発現場を支援してきた。
近年は、仮想化技術・グリッドコンピューティング・Web 2.0・オープンソースソフトウェア等々の先進技術分野での支援も展開している。
Copyright © ITmedia, Inc. All Rights Reserved.