的場 聡弘(まとば あきひろ)

 株式会社NTTデータ 基盤システム事業本部。Javaを中心にフレームワーク開発や開発プロセス定義など幅広く活躍中。おちゃらけプログラマ協会メンバ。ぱ~む脱力ゲーム協会認定脱力作家。著書「まるごと Eclipse! Vol.1」(発行:インプレスジャパン)。

 Webアプリケーションをはじめとするサーバーサイド・アプリケーションを開発する場合には,様々な種類のファイルを取り扱います。web.xmlなどのXMLファイル群,実際に画面を作成するHTML/CSS/JSPファイル,Strutsフレームワークを利用するならsruts-config.xml,などなど。

 これら一つひとつのファイルを作成する際に,IDE(統合開発環境)のエディタ支援機能はとても有効です。また,複数のファイル間の整合性を確認するのもIDEであれば簡単に実現できます。ここでは,こうしたサーバーサイド・アプリケーションを作成するときに便利なEclipseプラグインを紹介します。

■Eclipse WTP
──J2EE用プラグインセットの大本命

 Eclipse WTP(Web Tools Platform)とは,Eclipse開発元が提供している,サーバーサイド・アプリケーションの開発環境の決定版です。サーバーサイド・アプリケーションを構成する各種ファイル用のエディタと,J2EE仕様に基づいたアプリケーションに必要となるweb.xmlの編集,サーブレットの作成,JSPの編集,カスタムタグの補完,アプリケーションのJ2EEサーバーへのデプロイ,デバッグなどの機能を持っています。

 データベースへの接続もサポートしており,EclipseからSQLを実行することも可能です。また,Webアプリケーションだけでなく,EJBやWebサービスの開発,EJBとWebアプリケーションを組み合わせたエンタープライズ・アプリケーションの開発を支援する機能も含んでおり,J2EEアプリケーション開発をフルセットでサポートする機能が揃っています。

主な機能

  • HTML,XML,JSP,CSS,JavaScriptの構造化エディタ(色付け,補完,文法の検証)
  • ServletやEJBのウィザード形式での作成,設定の検証
  • 多種のJ2EEサーバーとの連携(起動,デプロイ,デバッグ実行)
  • データベースとの連携(接続,検索,更新,SQLの実行)
  • 複数のWebアプリケーション,EJBなどを含んだエンタープライズ・アプリケーションの作成
  • XDocletと連携したWebおよびEJB関連ファイルの生成
  • Eclipse内部で動作するWebブラウザ
  • Webサービスの作成,WSDLの編集,クライアントの自動生成,テスト用UDDI

WTPを導入する

 WTPは,連載第1回「Eclipse&プラグインのインストール方法」で紹介した「Callisto」ディスカバリー・サイトに登録されています。

 第1回の図11(必要なプラグインを選択)で「Web and J2EE Development」に属しているWSTとJSTにチェックし,[必須項目を選択]ボタンをクリックして,導入してください。

 ただし,この方法は開発環境ごとに1時間程度の時間がかかります。開発チームで一括して導入するような場面では,Callistoのミラーサイトを作成してそこから導入するか,WTPのWebサイトから,WTPのzipアーカイブ,および必須であるEMF・SDO・XSDGEFJEMプラグインのzipアーカイブをダウンロードして,各自で展開,コピーする方法が良いでしょう。

 Eclipseを起動し,メニューの[ヘルプ]→[Eclipse SDKについて]で「フィーチャーの詳細」を開き,J2EE Standard Tools(12種類)やWeb Standard Tools(15種類)が表示されていれば導入は完了しています。

 なお,WTPには各種アプリケーション・サーバーは含まれていないので,別途導入する必要があります。現在のバージョンでは,以下の8製品17バージョンと連携して動作できます。

 また,以下のリレーショナル・データベース管理システム(RDBMS)と連携して動作します。

WTPを利用する準備

 まずは,WTPから利用するアプリケーション・サーバーを設定しなければなりません。

 メニュー[ファイル]→[新規]→[その他](Ctrl+N)で「サーバ」→「サーバ」を指定し,インストールしたアプリケーション・サーバーを指定して認識させてください。そのとき,Eclipseが認識しているJREにコンパイラが含まれていないと「Tomcat requires a Java SDK to compile JSP files...」のように指摘されてしまいます。コンパイラがないとJSPをコンパイルできないので,「Install JRE...」をクリックしてtools.jarを含むJDKを指定してください。

 WTPはEclipseの中からアプリケーション・サーバーを起動します。したがって,Windowsのサービスなどからアプリケーション・サーバを実行している場合は停止しておく必要があります。

Webアプリケーションを作成する

 ここまで準備してしまえば,あとは新規ウィザードから「動的Webプロジェクト」を選択することでWeb用のプロジェクトを作成できます。プロジェクトを作成すると,サーバー・アプリケーション開発用に用意された「J2EEパースペクティブ」に切り替わります。通常は「パッケージ・エクスプローラー」が表示される位置に,「プロジェクト・エクスプローラー」が表示されています(図1)。よく似ていますがちょっと違うので注意してください。

図1●Webプロジェクトを作成すると,プロジェクト・エクスプローラーが表示される
図1●Webプロジェクトを作成すると,プロジェクト・エクスプローラーが表示される

 このあと,プロジェクト内にJSPファイルやServlet,必要なファイルを作成してください。その際,インターネットに接続されている環境であれば,作成しようとしたファイルの文法ファイルをインターネットから自動的に取得してチェックしてくれます。

 なお,インターネットに接続していない場合は,誤りがないのに文法エラーが報告される場合があります。無視するか,最初はインターネットに接続しておくのがお勧めです。

 必要なファイルを作成したら,プロジェクトを右クリックして[実行]→[サーバーで実行]で実行できます。しばらくすると内蔵ブラウザが表示され,作成したWebアプリケーションが実行されます。

 同じように,[デバッグ]→[サーバーで実行]とすると,JSPに設定したブレークポイントで停止させてステップ実行したり,セッションの中身を確認したりできます。

EJBを作成する

 WTPでは,EJBを作成するのにXDocletの機能を利用しています。XDocletのWebページから入手して展開しておいてください。Eclipseからはライブラリを利用するだけなので,展開するだけでOKです。

 EJBを開発する場合は,まず「EJBプロジェクト」を作成します。その後,新規ウィザードで「XDocletエンタープライズJavaBean」を選択して進めれば,EJBで必要なソースや設定ファイルが生成され,すぐにビジネス・メソッドの実装に取りかかれます。

エンタープライズ・アプリケーションを作成する

 WebプロジェクトとEJBプロジェクトで必要な要素をそれぞれ開発したら,それらをエンタープライズ・アプリケーションとしてまとめてパッケージ化できます。WTPでは「エンタープライズ・アプリケーション・プロジェクト」を作成し,それらにWebプロジェクトとEJBプロジェクトを含める,という形で実現しています(図2)。

図2●WTPでは,WebプロジェクトとEJBプロジェクトをエンタープライズ・アプリケーションとしてパッケージ化できる
図2●WTPでは,WebプロジェクトとEJBプロジェクトをエンタープライズ・アプリケーションとしてパッケージ化できる

 WTPでは柔軟なプロジェクト構成が可能であり,一つのプロジェクトでear,ejb,warのすべてを開発することも可能です。

 WTPにはこのほかに,データベースに接続してその内容を確認したり,編集したりする機能も備えています。この機能については連載第5回で紹介したいと思います。

■Exadel Studio
──Struts, JSF, Shaleフレームワークに適したプラグインセット

 Exadel Studioとは,米Exadelが開発・提供している,WTPに加えてJSFやStrutsフレームワークのためのプラグインを含んだパッケージです。

 SpringIDE,HibernateTools,Tomcat 5.5も同梱されているので,例えば,HTMLやXMLの編集やデバッグなど,WTPの機能をそのまま利用できます。また,StrutsやJSFの設定ファイルをグラフィカルに編集できるうえに,設定の検証もEclipse上で行えるのでとても便利です。

 なお,Exadel Studioは2007年夏ごろ,「Red Hat Developer Studio」というブランドでオープンソース化される見込みです。それまでの間は,Exadel Studio ProのTrial版を利用できます。

主な機能

  • JSF,Strutsプロジェクトのひな型を提供
  • StrutsおよびFaces設定ファイルのグラフィカルな編集
  • Spring設定ファイルの編集支援,検証,グラフィカルな表示(SpringIDE)
  • HTMLやJSPのビジュアルな編集
  • XMLの編集支援,J2EEサーバー連携,データベース連携(WTP)
  • データベースからのクラス生成およびORマッピング生成支援(Hibernate Tools)

 Exadel StudioパッケージにはWTPは含まれていますが,ランゲージパックは含まれていないため,そのままだとWTPのメニューが英語のままです。WTP用のランゲージパックを入手して組み込むことで,日本語で表示されるようになります。

Exadel Studioを導入する

 Exadel StudioにはEclipse本体は含まれていないので,あらかじめ(WTPを含まない)Eclipse SDKをインストールしておいてください。Exadel Studioのページの「Download Trial」から,Windowsインストーラなどをダウンロードし(初回はユーザー登録が必要です),実行ファイルをダブルクリックすると,Eclipse SDKを拡張する形でExadel Studioが組み込まれます。

 Eclipseの[ヘルプ]メニューから開いた「Eclipseについて」で,蝶のアイコンが表示されているかどうかで導入できたかどうかを確認できます(図3)。

図3●「Eclipseについて」画面で蝶のアイコンが表示されていれば,Exadel Studioは導入されている
図3●「Eclipseについて」画面で蝶のアイコンが表示されていれば,Exadel Studioは導入されている

Exadel StudioでStrutsアプリケーションを作成する

 それでは,Exadel Studioを利用してStrutsのアプリケーションを作成する手順を見てみましょう。

 メニュー[ファイル]→[新規]→[プロジェクト]から,「Exadel Studio」→「Struts」→「Struts Project」を選択すると,Strutsプロジェクトが生成されます(既存のJavaプロジェクトをExadel Studioで扱うには,プロジェクトの右クリックメニューから[Add Struts Capabilities]を選べばOKです)。

 Strutsの設定ファイルであるstruts-config.xmlをダブルクリックすると,Exadel XML Editorが起動し,グラフィカルな操作でstruts設定を編集することが可能です。パレットからActionやJSPを配置し,それぞれを線でつないでStruts設定を実装します(図4)。

図4●Exadel XML Editorで,struts-config.xmlを編集している様子
図4●Exadel XML Editorで,struts-config.xmlを編集している様子
[画像のクリックで拡大表示]

 その後,右クリックメニューから「Generate Java Code」を選ぶと,配置したAction,ActionForm,JSPのひな型が自動生成されます。

 生成されたJSPファイルをダブルクリックすると,JSPのビジュアル編集が可能です。Exadelパレットビューから必要な部品をドラッグ&ドロップで貼り付ける要領で編集できます(図5)。できあがったら,前章で説明したWTPと同じ要領で,デプロイ・実行します。

図5●Exadelパレットビューから部品をドラッグ&ドロップで貼り付ける要領でJSPファイルを編集できる
図5●Exadelパレットビューから部品をドラッグ&ドロップで貼り付ける要領でJSPファイルを編集できる
[画像のクリックで拡大表示]