レベル: 初級 Tim Francis (francis@ca.ibm.com), Senior Technical Staff Member, WebSphere Application Integration Middleware, IBM
2005年 5月 10日 これまで数年間、Eclipseプロジェクトはオープンソース・コミュニティーに対して、高品質で拡張性の高い統合開発環境を提供してきています。Apache Geronimoサーバー用の新しいEclipseプラグインを使って、Webアプリケーションを開発し、デプロイするための方法を学びましょう。IBMのシニア技術スタッフ・メンバーであるTim Francisが、その詳細を、順を追って説明します。
プラグインがEclipseに機能を追加する
多くの開発者がEclipseプラットフォームに魅力を感じるのは、追加機能によって、Eclipseのコア機能を拡張できるからです。Eclipseには、こうした機能拡張のために、よく定義された機構が用意されています。Eclipseのあらゆる側面は『プラグイン』の中に含まれています。そしてプラグインは、他のプラグインを動的に拡張できるだけではなく、他のプラグインによってプラグインを拡張できるようにする『エクステンション・ポイント』を定義することもできるのです。プラグイン自体は、こうしたエクステンションを通して提供される機能のタイプを定義するのであり、基本的なEclipseインフラを定義するわけではありません。例えばエクステンションとしては、ポップアップ・メニューへの新しいエントリーのような簡単なものの場合もあれば、全く新しいタイプのプロジェクトや、一連のエディターやビューなど、非常に包括的なものの場合もあります。
Eclipseがベースとしてサポートするものの中には、完全なJava開発環境を提供するJDT(Java Development Tool)が含まれています。しかし昨年、J2EE™ Webアプリケーションを開発するために必要なベース機能を提供するという目標の下に、WTP(Web Tools Platform)という新しいEclipseツール・プロジェクトが発表されました。IBMはこのプロジェクトのために、大量のコードを寄贈しました。そして他の数社も、このプロジェクトの開発のために協力しています。WTPの最初のリリースは、2005年7月29日に入手可能となる予定です。
WTPプロジェクトには、最近の、商用の統合開発環境(IBM Rational® Application Developerなど)に見られるような高度な開発機能や使いやすさはありませんが、基礎となる必要な構造を定義するための、一般的なオープンソース・ベースが用意されています。このベースには、ベース・プロジェクト・タイプの定義や構造が含まれており、また、様々な成果物を修正するために使用できる基本的なエディターが含まれています。そして、アプリケーション・サーバーを定義して対話動作を行なえるようになっています。(EclipseとWTPについての詳しい情報は、この記事の後の方にある参考文献を見てください。)
WTP(Web Tools Platform)とApache Geronimo
WTPプロジェクトは現在、オープンソースのWebアプリケーション・サーバーの幾つか(Apache Tomcatサーブレット・コンテナーも含まれています)にプロジェクトをデプロイできるようになっています。現在開発中の新しいオープンソース・プロジェクト(つまりApache Geronimo)は、完全なアプリケーション・サーバーを提供します。つまり単なるサーブレット・コンテナーではなく、メッセージングや、JDBCコネクターを含めたデータベース、ポータル・フレームワークなどまで提供するのです。現在、WTP用の新しいプラグインが開発されつつあり、eclipse.orgのWebサイトから入手することができます。このプラグインは、WTPとApache Geronimoの間を統合するものです(このプラグインへのリンクについては参考文献を見てください)。また、このプラグインのおかげで、Geronimoアプリケーションの作成、デプロイ、デバッグのための非常に基本的な開発環境として、WTPが利用できるようになるのです。
ベースWTPプロジェクトをデプロイする
この記事の執筆時点では、WTPプロジェクトのM4マイルストーンがちょうどリリースされ、ダウンロードできるようになったところです(参考文献)。このプロジェクトの概要はeclipse.orgで解説されていますが、WTPをインストールするためには幾つかの前提条件が必要であり、WTPをインストールする前にダウンロードしてインストールしておく必要があります。これらの前提条件には、基本的なEclipseドライバーの他に、GEFやEMF、Java EMFモデルなどのためのドライバーも含まれています。これらのファイルの、適切なバージョンへのリンクはeclipse.orgに用意されています。(参考文献)。
ベースWTPプロジェクトとGeronimoプラグインをダウンロードして解凍する
これらの前提条件をダウンロードし、ベースWTPプロジェクトと最新のWTPマイルストーン・ビルドを解凍したら、Geronimoプラグインをダウンロードします。将来のWTPビルドには、このプラグインが含まれるはずですが、WTP M4ドライバーと組み合わせて使う場合には、プラグインだけをダウンロードします(参考文献)。このプラグインを、eclipse/plugins/org.eclipse.jst.server.geronimo.core_1.0.0 に解凍します。
Eclipseを起動する
準備プロセスの最後は、Eclipseを起動することです。新しいプラグインを確実に認識するように、初めて起動する時には、?cleanオプションを使いますEclipseが起動すると、次のような起動画面が見えるはずです。
図1. Eclipseの起動画面
Eclipseを起動したら、次のステップは、環境の中でGeronimoサーバーを定義することです。File > New file wizardを選択して、新しいサーバーを作ります。このウィザードの2番目のページで、サーバー・タイプを選択するように促されたら、Apache Geronimoを選択します(図2)。
図2. 新しいサーバーを定義する
次に、Apacheサーバーをインストールした場所と、開発プロジェクトのクラスパスのために必要なjarの位置を見つけるために使われるルート・ディレクトリーを入力するように促されます。その次のページでは、サーバーに関する追加情報を定義します。特に重要な情報は、Geronimoをインストールした際に指定した管理者ユーザーIDとパスワードです。ウィザードの最終ページでは、既存のプロジェクトをサーバーに追加することができます。ここでは、まだプロジェクトを何も作成していないので、単にFinishを選択します。
これで、Eclipse内からGeronimoサーバーを起動停止するために充分な情報を入力したことになります。サーバーの状態を見るために最も簡単なのは、J2EEパースペクティブに行くことです。Window > Open Perspective > Otherメニューを選択し、次に、表示されるダイアログからJ2EEパースペクティブを選択します。このパースペクティブには、画面の右下にServerビューがあります(図3)。
図3. J2EEパースペクティブでのServerビュー
このビューの中に見えているGeronimoサーバーを選択し、ポップアップ・メニューからStartを選択します。これによってサーバーが起動し、コンソール・ウィンドウに出力が表示されます。あるいは、この同じビューから、デバッグ・モードでサーバーを起動することもできます。
プロジェクトとモジュール定義を作成する
サーバーが実行するようになったので、次のステップは、その上で実行するアプリケーションを作ることです。WTPサポートのおかげで、単一のEclipseプロジェクト内に複数のWebモジュールを持つことができます。そこで今度は、プロジェクトとモジュール定義の両方を作らなくてはなりません。J2EEナビゲーターからDynamic Web Projectsアイコンを選択し、そのポップアップ・メニューからCreate a new J2EE Webを選択します。できあがるウィザード上では、既存のプロジェクトを選択するか、あるいは、このWebモジュールを含む新しいプロジェクトを選択することができます。これは空のワークスペースなので、Newを選択して新しいプロジェクトを作ります。New projectダイアログでプロジェクト名を入力し、ターゲット・サーバーとしてGeronimoを選択します。このウィザードを終了したら、作成すべき新しいWebモジュールの名前を入力します。この、新モジュールを作るウィザードを終了すると、新しく作成したプロジェクトとモジュールが、Dynamic Web projectsアイコンの下に見えるようになります(図4)。
図4. 新たに作成されたプロジェクトとモジュール
Webプロジェクトを作成し、デプロイする
ナビゲーター・ビューで、このプロジェクトとモジュールのノードを展開し、WebContentフォルダーを見つけます。このフォルダーには、できあがるWebアプリケーションの中に置くべきファイルが含まれています。このアイコンのポップアップ・メニューから、新しいHTMLファイルを作ります。ファイル名は自由につけることができるので、エディターが表示されたら、何か簡単なHTMLテキストを入力します。ナビゲーター・ビューで、新しく作成されたファイルを選択してポップアップ・メニューを表示させ、Run As > Run on serverを選択します。ダイアログが現れたら、Geronimoサーバーが選択されていることを確認し、このプロジェクトのデフォルトとしてGeronimoを設定するようにチェックボックスにチェックを入れてから、Finishを選択します。これでWebアプリケーションが作成され、実行しているGeronimoサーバーにデプロイされました。そしてWebブラウザーが開き、たった今作成したファイルが表示されます。もし皆さんが、外部ブラウザーが開いているのが気に入らなければ、Eclipseは埋め込みのウィンドウの中にあるブラウザーを使用することができます。どちらにするかを設定するには、Open window > Preferences > General > Web browserを選択します。
Eclipseでアプリケーションをデバッグする
これで、Webプロジェクトが無事にデプロイできたので、Eclipseの中で、様々な方法でアプリケーションをデバッグすることができます。デバッグで一番簡単なのは、新たに作成されたWebアプリケーションに対してJSPファイルを追加することです。
そのための最初のステップは、Navigatorビューに戻り、ポップアップ・メニューを使って、WebContentフォルダーの中に新しいJSPファイルを作ることです。そうするとJSPエディターが開くので、埋め込みのJavaコードの幾つかを含めて、非常に基本的な内容を、幾つかJSPに追加します。この例を図5に示します。これで、適当なラインの左の列をダブルクリックすると、そのJavaコードにブレークポイントを設定できるようになりました。
次に、Geronimoサーバーをデバッグ・モードで起動します。このアクションは、WTPプロジェクトが終了すれば自動的に行われますが、ここでは、サーバーを「Debug」モードで、手動で再起動する必要があります。右下にあるペイン(pane)のServersタブを選択し、ポップアップ・メニューからGeronimoサーバーを停止し、その後で「Debug」モードで再起動します。今度は、作成した新しいJSPを選択し、そのポップアップ・メニューからDebug as > Debug on serverを選択します。新たに作成したJSPがコンパイルされ、アプリケーションがサーバーに再デプロイされ、ブレークポイントを設定したラインでデバッガーが停止します。これで、JSPをステップ毎に追うことができ、そうしながら変数の値を見たり変更したりすることができます。また、実行を継続すると(緑色の矢印を使います)、JSPがWebブラウザーの中で提供されます。
図5. JSPがWebブラウザーの中で提供されている
アプリケーションには任意の変更を加えることができます。そしてRun on serverアクションを選択すると、先ほど説明したように、そうした変更がGeronimoに再デプロイされます。サーバー・ビューの「Publish」アクションを使っても、選択されたサーバーに関連した全アプリケーションを再デプロイすることができます。
 |
Eclipse XMLエディターを使う
このエディターは、デプロイメント・プランのスキーマ全体をサポートするように拡張される予定ですが、現状では、ファイルの編集にはEclipse XMLエディターを使います。
|
|
デプロイメント・プラン
Geronimo Webアプリケーションでは、基本的な振る舞いをデプロイメント・プランで定義します。Webアプリケーションの場合では、このプランはgeronimo-jetty.xmlという名前であり、WebContent > WEB-INFディレクトリーの中にあります。デプロイメント・プランが存在しない場合には、アプリケーションをGeronimoにデプロイする際に基本的なデプロイメント・プランが自動的に作られます。アプリケーションに対する新しいコンテキスト経路を規定するには、このファイルを修正する必要があります。このファイルの基本的なアスペクトを操作するために、エディターが用意されています。このエディターを使うには、ナビゲーター・ビューの中にファイルを置き、Open with > Deployment plan editorを選択してエディターを開きます。エディターの中では、デプロイメント・プランのアスペクトの一部は、まだ表示されていません。このデータは、エディター内では表示されていませんが、ファイルを保存する際に失われることはありません。
図6. Geronimoデプロイメント・プラン・エディター
まとめ
現状では、Geronimoサーバーのアダプター・プラグインは、まだまだ未熟です。Geronimoとの基本的な対話動作はできますが、完成に至るまでには、大いに改善の余地があります。このプラグインは、Eclipse WTPプロジェクトの一部として開発されています。関心のある開発者は、ぜひEclipseのサイトを訪れ、この継続的な開発プロジェクトのために貢献してください。
参考文献
著者について  | 
|  | Tim Francisは、カナダにあるIBMトロント研究所のシニア技術スタッフ・メンバーであり、WebSphere Toolsチームのアーキテクトでもあります。University of Waterlooにて電子工学の学位を、またソフトウェア工学の修士を取得しており、IBMには1990年に入社しました。彼はWebSphere Architecture Boardのシニア・メンバーであり、Rational Tools Development Councilの中核メンバーでもあります。共同執筆した著書として
Professional IBM WebSphere 5.0 Application Server
(2002年Wrox Press刊)があります。 |
記事の評価
|