japan.internet.com The Internet & IT Network


RSSニュース検索
カテゴリ
> トップページ
> Webビジネス
> Eコマース
> Webファイナンス
> Webマーケティング
> パブリック
> Webテクノロジー
> 携帯・ワイヤレス
> Linux Today
> Linux Tutorial
> J.I.C.ブログ
キャリア
> 転職ならen
> 派遣ならen
> アルバイトならen
> IT求人情報
ヘッドライン
> 今日のヘッドライン
> 週間ヘッドライン
Special Link
> フォトコミュニティ
> ストックフォト
> クリップアート
> イラスト
> フェリカ
> Web2.0
> 写真
イベント&セミナー
> イベントカレンダー
> 書評「IT の耳」
> 出張・接待検索
> ニュースガジェット 注目
無料ニュースメール
> 新規登録
> 変更・解除
> オプトインメールの登録・変更・解除
インフォメーション
> パートナーサイト
転職ならエン
就職ならen
求人ならen
履歴書ならen
アルバイトならエン
CRM/SFAならオラクル
> グループ会社
株式会社アエリア
(株)サンゼロミニッツ
株式会社エアネット
> お問い合わせ
> 広告掲載について
> リンクについて
> 著作権について
> その他お問い合わせ
> 利用規約
> 個人情報保護方針
> 会社概要地図
デベロッパー 2006年12月26日 10:00
デベロッパー・バックナンバー
EclipseでのWeb開発を支援するWeb Tools Platform

著者: John Ferguson Smart  オリジナル版を読む プリンター用 記事を転送
2006年12月26日 10:00 付の記事
海外internet.com発の記事
このエントリーを含むはてなブックマーク この記事をクリップ! Buzzurlにブックマーク Yahoo!ブックマークに登録 newsing it!

はじめに

 Web Tools Platform(WTP)プロジェクトは、Eclipse 3.2と共にリリースされた新しいCallistoプロダクトスイートの非常に興味深いコンポーネントの1つです。WTPはEclipseの分野で活躍している多くのユーザーの貢献と参加をベースとして、J2EE Webアプリケーションの開発を支援する包括的なツールスイートを提供し、より簡単で生産性の高い開発作業を実現します。

 WTPは、J2EE Standard Tools(JST)とWeb Standard Tools(WST)の2つのサブプロジェクトから構成されています。

 JSTプロジェクトは、各種のJ2EEファイルに対応する機能豊富なテキストエディタやグラフィカルエディタ、さらにはデータベースアクセスツール、Webサービス開発向けウィザードなど、J2EE開発の生産性の向上を目的とする豊富なツールセットを提供します。WSTプロジェクトは、Eclipse内からアプリケーションを各種Webサーバー上で実行するための統合的なサポートを提供し、使用するアプリケーションサーバーに関係なく統一された方法でJ2EEアプリケーションの実行およびテストが可能です。

 WTPには、J2EEアプリケーションプロジェクト向けの幅広い新しいプロジェクトテンプレートも用意されています。例えば、Dynamic Web Projectは、Java Web Archive(WAR)アプリケーションの作成、テスト、デバッグに役立ち、Enterprise Application Projectは、Enterprise Archive(EAR)アプリケーションの構築を目的としています。

 本稿では、WTPの主要機能を紹介し、WTPがJ2EEアプリケーションの開発にどのように役立つかを説明します。

WTPのインストール

 EclipseにWTPをインストールする方法はいくつかあります。一番簡単なのは「Remote Update」サイトを使う方法でしょう。この場合は、Eclipse内で[Remote Update]ウィンドウを開き([Help]-[Software Updates]-[Find and Install])、[Callisto Discovery Site]を選択します。Callistoプラグインの全リストが表示されるので、[Web and J2EE development]を選択します(図1)。また、その従属プラグインの[Enabling Features]、[Graphical Editors and Frameworks]、および[Models and Model Development]も選択する必要があります。また、時間的に余裕がある場合はすべて選択します。他のプラグインも必ず役立ちます。

図1 リモートサイトからのWTPのインストール
図1 リモートサイトからのWTPのインストール

 もう1つは、Eclipse Foundation Memberのいずれかから、バンドル済みのインストーラをダウンロードする方法です。例えば、IBMのインストーラにはWTP付きのEclipse 3.2がバンドルされています。この方法は、Eclipse 3.2をまだインストールしていない場合や、既存の構成とプラグインを廃棄しても構わない場合に有効です。

 WTPをインストールしたら、IDEを再起動して新しい機能を見てみましょう。

Javaファイル以外のファイルの編集

 最近まで、標準バージョンのEclipseには、Javaファイル以外のファイルを編集する高度な機能がありませんでした。しかし、Webアプリケーション開発者であればお分かりのように、Java Webアプリケーションには、HTML、JSP/JSTL、XML、JavaScript、CSSなど、Javaファイル以外のファイルもたくさん使われています。確かにこれらのファイル形式に対応しているエディタがサードパーティ製プラグインとして提供されており、中には素晴らしいものもありますが、これは最新のIDEならばデフォルトで用意されていなければならない部類の機能です。WTPの登場により、ようやくこれらの非常に貴重な機能とEclipseとの統合が実現されました。

 WTPには、HTML、JSP、JSTL、XML、DTD、XML Schema、XSL、WSDL、JavaScript、CSSなど、Java Webアプリケーションプロジェクトで使われる主要なすべての種類のファイルに対応する最高級のエディタが用意されています。Eclipse 3.2と一緒に提供されるWTP 1.5は、JSF JSPファイルの初期サポートも備えています(将来のバージョンで完全サポートが予定されています)。現行バージョンでのJSFのサポートは、JSTLタグで使われているような、構文チェックとコード入力支援に限定されています。

 各エディタでは、構文のカラー表示とコード入力支援の機能に加えて、文書構造を[Outline]ビューに便利なツリー形式で表示することもできます(図2)。HTML、JSP、JSTL、JSF、その他のXML系エディタなど、これらのエディタの大半は、ファイルがうまく構成されていなかったり、不正だったりした場合に警告/エラーを発行します。こうした機能はすべて、これらの種類のファイルを作成するときの生産性とユーザー経験の向上に貢献しています。

図2 WTPエディタによるJSP/JSTLファイルの編集
図2 WTPエディタによるJSP/JSTLファイルの編集

 また、JavaScript、CSSなどのクライアントサイドのHTMLファイルにも対応しています(図3)。これらのエディタでは、構文のカラー表示と便利な構造表示を利用できますが、エラー検出機能とコード入力支援機能はいくらか制限されています。

図3 WTPエディタによるCSSスタイルシートの編集
図3 WTPエディタによるCSSスタイルシートの編集

XMLの処理

 XMLを扱う必要のないJ2EE開発者はまずいません。これまでは、構文のカラー表示機能と文書の検証機能を実行するにはXML-Buddyなどのプラグインが必要でした。

 この状況を改善するため、WTPプロジェクトには、XMLおよびXML関連の文書を扱える包括的なエディタセットが用意されました。標準のXMLエディタでは、XML文書を便利な三区画のビューで表示ができます(図4)。

図4 WTPによるXMLファイルの編集
図4 WTPによるXMLファイルの編集

 XMLソースコードは中央のパネルに表示され、そこで編集します。このパネルでは、必要不可欠な構文のカラー表示がサポートされ、文書のフォームが適正か(XML構文が適正か)、および有効か(文書の構造がXMLスキーマまたはDLDに従っているか)をチェックすることもできます。

 [Outline]ビューには、文書の構造がツリービュー形式で表示されます。画面の下部の[Properties]パネルには、選択したXML要素の属性が一覧され、編集できます。この機能は、Springの構成ファイルやHibernateのマッピングなど、複雑なXML文書内の要素の有効な属性をすべて覚えていない場合に便利です。

 WTPはXMLスキーマ文書にも対応し、XMLスキーマをテキスト形式およびグラフィック形式で表示し、編集することもできます(図5)。

図5 WTPによるXMLスキーマの編集
図5 WTPによるXMLスキーマの編集

 [Properties]ビューでは、要素の種類とカーディナリティを一目で確認し、変更できます。また、例によって[Outline]ビューでは、文書構造の概要を把握できます。新しいスキーマを効果的に作成するためにはXSDの知識が必要となることに変わりはないものの、WTPのグラフィックエディタでは、この種のファイルを簡単に効率よく処理できます。

Webサービスの処理

 最近のソフトウェア開発では、SOAアーキテクチャの人気がますます高まっています。Webサービスは、SOAアーキテクチャを実装するための幅広く採用されている標準ベースのアプローチとして、標準のXMLベースのプロトコルを使った異機種システム間のやり取りを効果的に実現します。

 WTPパッケージには、Apache Axis Webサービスライブラリに基づいて、Webサービスを処理するための非常に便利なツールが用意されています。これらのツールはWebサービスとWebサービスクライアントの両方に対応しています。

 Webサービスの概念の中心に位置するのがWSDL(Web Services Description Language)です。これは、Webサービスによって提供されるサービスを厳密に記述するXML文書です。WTPには、WTP XMLエディタをベースとする、WSDL用の強力なグラフィックエディタが用意されています(図6)。前述のように、WSDLの知識が不要になるわけではありませんが、WSDLファイルの作成、編集、表示の作業は楽になります。

図6 WTPによるWSDLファイルの編集
図6 WTPによるWSDLファイルの編集

 Webサービスクライアントの生成は簡単です。必要なのはサービスを定義するWSDLファイルだけです。新規のWebサービスクライアントを作成し([File]-[New]-[Other]-[Web Services]-[Web Service Client])、対応するWSDLファイルを提供します。

 WSDLは、ローカルファイルとしてプロジェクト内で定義および管理することも、組織内または他の場所のWebサイト上で、一括管理して公開することもできます。Webサービスを呼び出すために必要なJavaクラス(サービスエンドポイントインターフェイス、サービスロケータクラス、サービスバインディングスタブなど)はすべてEclipseによって自動的に作成されます。

 このアプローチは、商用サービスなど、非常に安定したWebサービスを処理する場合に有効です。Webサービスを内部で、クライアントと同じプロジェクトの一部として開発している場合は、ビルドプロセスの一部にWebサービスクライアントの生成を含めるなど、もっとダイナミックなアプローチが必要かもしれません。

 WTPは、ユーザー独自のWebサービスの作成、デプロイ、テストもサポートしています。Webサービスを作成するための2つのアプローチとしては一般に、ボトムアップアプローチとトップダウンアプローチが知られています。

 ボトムアップアプローチでは、最初にビジネスロジックを実装するJavaクラスを作成し、Eclipseによって自動的にWSDLファイル、および関連するクラスを生成し、このビジネスロジックをWebサービスとして公開します。トップダウンアプローチでは、最初にWebサービスを(WSDLファイル、および対応するSMLスキーマの形式で)定義し、対応するJavaビジネスクラススケルトンを生成します。

 どちらのアプローチに対しても、WTPはWebサービスの開発作業を簡便化する強力な機能を提供します。Eclipseを通して、Webサーバーの起動、サーバーへのWebサービスのデプロイとテスト、およびWebサービスとそのクライアントの間でやり取りされるSOAPメッセージのモニタを実行できます。

 Webサービスを短期間で開発して実行するには、ボトムアップアプローチを使うのが一番簡単です。[Web Service]ダイアログ([File]-[New]-[Other]-[Web Services]-[Web Service])を開き、ボトムアップアプローチを選択します(図7)。次に、公開するビジネスクラスを指定します。公開するメソッドの指定が求められ、Eclipseによって対応するWSDLファイルが自動的に生成されます。必要に応じて、指定したローカルアプリケーションサーバーを起動し、そのサーバーにWebサービスをデプロイすることもできます。

図7 新規Webサービスの作成
図7 新規Webサービスの作成

 一方、トップダウンアプローチでWebサービスを作成する場合の最初のステップは、WSDLファイルを指定することです。[Web Service]ダイアログ([File]-[New]-[Other]-[Web Services]-[Web Service])を開き、WSDLファイルの場所を指定します。クライアントと同様、WSDLファイルは、ローカルファイルでもリモートサーバー上のファイルでも構いません。

 次に、Eclipseによって実装スケルトンクラスと、その他の複数の下位クラスが自動的に生成されます。実装クラスには、提供する必要がある空のビジネスメソッドが含まれます。それ以外の基本的な詳細はすべて、その他の生成されたクラスに既にコーディングされているので、ユーザーはビジネスロジックの作成に専念できます。

 このアプローチは、外部で定義されているWSDLを使う場合に適しています。WSDLファイルをローカルに残しておけば、使っている正確なデータ構造を適切に制御することもでき、それにより、例えば、.NETのWebサービスクライアントを処理する場合の微妙な相互運用性問題を回避できます。このアプローチの欠点は、WSDLファイルの理解、作成、維持にかかわる時間が増えることです。

Webサーバーの構成

 J2EEアプリケーションを(またはその一部だけでも)作成し終えると、実際のサーバーでどのように実行するかを確認したい気持ちになります。

 WTPは、数多くのオープンソースのアプリケーションサーバー、および市販のアプリケーションサーバーをデフォルトでサポートするように作られています。現時点では、Jakarta Tomcatサーブレットコンテナから、JBoss、JOnAS、Geronimoなどの本格的なオープンソースのJ2EEアプリケーションサーバーや、BEA WebLogic、IBM WebSphereなどの市販のアプリケーションサーバーまで、15のアプリケーションサーバーをサポートしています。

 新規のサーバー定義を追加するには、Eclipseの[Preferences]画面で[Server]-[Installed Runtimes]と選択して表示されるウィンドウを使います(図8)。ここで、JREと、アプリケーションサーバーのインストールディレクトリを指定します(必要に応じて、アプリケーションサーバーごとに異なるJREを使うことができます)。

図8 サーバー構成の設定
図8 サーバー構成の設定

 サーバーを構成し終えると、そのサーバーをプロジェクトプロパティでプロジェクトのデフォルトサーバーとして設定するか、Eclipse内からアプリケーションを実行するときに明示的に選択することができます。

Webアプリケーションのテストとデバッグ

 サーバーを正しく構成し終えたら、[Run As]-[Run on Server]と選択して、Eclipse内からアプリケーションを直接実行できます。Eclipseによってアプリケーションサーバーが起動され、アプリケーションがデプロイされて、EclipseのコンソールとEclipse IDE内のアプリケーションWebページにログメッセージが表示されます。

 また、[Debug As]-[Debug on Server]と選択して、Webアプリケーションを非常に簡単にデバッグすることもできます。この場合、アプリケーションはデバッグパースペクティブで実行されます。このパースペクティブでは、通常のクラスと同じように、JSPページにブレークポイントが挿入され、変数のチェックが行われて、ページ生成プロセスに進みます。

おわりに:Eclipseで行うWeb開発

 WTPツールセットは、EclipseがWeb開発の分野に踏み出した大きな一歩です。

 WTP以前にも、さまざまなサードパーティ製プラグインがそれぞれに多彩な機能を提供していましたが、品質や信頼性のレベルにばらつきがありました。しかし、WTPプロジェクトによって、これらの機能が、一貫性があり、信頼性が高く、適切に統合された1つのグループにまとめられ、標準のEclipseシステムで簡単に利用できるようになりました。

 公平に言えば、Exadel Studio Pro、BEA Workshop、MyEclipseなど、他にもEclipse向けの同様のプロダクトはあります。実際、これらのプロダクトは、WTPをベースに作成されたものであり、WTPの機能に加えて、JSPの高度なサポートや、その他のオープンソースプロジェクト(Spring、Hibernateなど)のサポートを提供しています。

 いずれにせよ、EclipseでJava Webアプリケーションを開発するときには、WTPの機能を理解すればかなりのメリットがあります。ぜひ試してみてください。

著者紹介

John Ferguson Smart(John Ferguson Smart)
政府機関や企業の国内外の開発チームから成る大規模なJ2EEプロジェクトに数多く携わる。J2EEのアーキテクチャと開発、およびITプロジェクト管理を専門とする。オープンソースのJavaテクノロジの経験も豊富。自らのテクニカルブログを公開中(www.jroller.com/page/wakaleo)。


関連記事
  • JUnitフレームワークによるJava ME単体テスト
  • 日本 IBM、Rational ブランド開発ツール新製品と Eclipse 有償サポートを発表
  • Sun、『Java SE 6』を正式リリース
  • BEA Systems、仮想化版アプリケーション サーバーを発表
  • デスクトップでシミュレーションを実現する GL Studio――3


  • 関連テーマ
  • オープンソース
  • XML
  • SOA
  • Java
  • IBM
  • Apache


  • ★最新トップニュース
    国内 “iモード創設者”夏野 剛氏、ニコ動の「黒字化担当」へ――ニコニコ大会議2008画像のある記事(Webビジネス 7月7日 11:00)
    株式会社ニワンゴは2008年7月4日、同社が運営する動画共有サービス「ニコニコ動画(SP1)」のユーザー2,000名を招待し「ニコニコ大会議2008 〜日本の夏、ニコニコの夏〜」(大会議)を開催した。
    コラム 忘れていないか「クローラビリティ」(Webビジネス 7月7日 10:00)
    検索エンジン最適化のため、HTML ソースのチューニングを行った。しかし、Web サイトになかなかクローラーが訪れないため、最新のページ情報が読み込まれず、検索エンジンからの評価がなかなかあがらなかった、という経験はないだろうか?実際に、弊社のクライアントも例外ではない。
    コラム 笛吹いて民間を踊らす―米国政府のセキュリティ対策(Webテクノロジー 7月7日 10:00)
    コラムの第1回で米国のセキュリティが進んでいることに触れたが、今回はそれを後押しする米国政府の政策について紹介する。
    コラム Google モバイルのデジタルコンテンツ検索とその可能性(携帯・ワイヤレス 7月7日 10:00)
    前回、Google モバイル対策の中でも特殊な“地域情報検索”の対策とその可能性について紹介をしたが、今回は今後モバイル検索で発展が期待されるデジタルコンテンツ検索の状況と今後の可能性について Google モバイルを例に紹介したい。
    海外 Viacom に YouTube ユーザーの視聴履歴閲覧を認める判決(Webビジネス 7月7日 09:00)
    Viacom が Google を相手取って起こしていた著作権侵害訴訟において、ニューヨーク地裁は2日、Viacom に YouTube ユーザーの視聴履歴閲覧を認める判決を下した。
    トピックス
    > オススメのIT系求人情報【毎週月曜日更新】
    footer_301.gif


    リサーチ
    > デイリーリサーチDLサイト
    > OnlineResearchPortal (リサーチデータバンク)
    > モバイルリサーチ with goo
    footer_301.gif
    キーワード
    > iPhone > モバイルノート
    > 08ソフトバンク夏モデル > ウィルコム
    > Youtube > インド新聞
    > テーマ一覧はこちら
    footer_301.gif
    セミナー情報
    > 第1回インターネットコムマーケティングセミナー「新規クライアントを効率的に獲得する Web マーケティング手法とは」(3月26日)多数のご参加ありがとうございました
    footer_301.gif
    デベロッパー
    > DevX
    > CodeGuru
    > developer.com
    footer_301.gif
    日本オラクル
    footer_301.gif
    j.i.c.ブログ
    ブログ一覧
    ベンチャー専門家の目利きブログ「なぜこの企業は伸びるのか?」 【ベンチャー専門家の目利きブログ「なぜこの企業は伸びるのか?」】
    「たたき上げでやってます。コネなしでもやっていける地力が売りです」/グローウィン有限会社(7月7日)
    Graphic Design Forum 【Graphic Design Forum】
    スキャンについて - その二 (7月4日)
    データメーション 【データメーション】
    Firefox 3はブラウザ界の Danni Ashe(7月4日)
    ジュピターメディア創設者がITを斬る 【ジュピターメディア創設者がITを斬る】
    素晴らしいエンターテインメント - Billy Joel(7月1日)
    デスマーチからの脱却 【デスマーチからの脱却】
    チャンスの神様(6月26日)
    Skypeブログ出張版 【Skypeブログ出張版】
    Skype 4.0 ベータ 1 for Windows登場(6月20日)
    footer_301.gif
    最新コラム一覧
    サーチからはじまるインタラクティブエージェンシー サーチからはじまるインタラクティブエージェンシー

    忘れていないか「クローラビリティ」(7月7日)
    モバイルSEO@フラクタリスト モバイルSEO@フラクタリスト

    Google モバイルのデジタルコンテンツ検索とその可能性(7月7日)
    グローバル企業のセキュリティ事情 グローバル企業のセキュリティ事情

    笛吹いて民間を踊らす―米国政府のセキュリティ対策(7月7日)
    百式のネットビジネス研究 百式のネットビジネス研究

    ブラウザ上で GIF アニメの作成、編集ができる「gifmake」(7月7日)
    週刊-サイト別アクセス状況データ 週刊-サイト別アクセス状況データ

    ネットが結ぶ多様な縁(ビデオリサーチインタラクティブコラム)(7月7日)
    CodeGuru CodeGuru

    Visual C++ 2008 Feature Pack: MFCの強化(7月4日)
    最新ハイテク講座 最新ハイテク講座

    宮崎哲弥氏もお世話になってる「RSS」ってどんな技術?(7月4日)
    アイレップの SEO スタンダード アイレップの SEO スタンダード

    ユーザー動線の変化により対応が迫られるモバイル SEO(前編)(7月4日)
    「IT の耳」 「IT の耳」

    【書評】IPTV 革命〜放送、ネット、モバイルのビジネスモデルが変わる〜(7月3日)
    気になるトレンド用語 気になるトレンド用語

    ノキアのケータイ OS オープン化って何がすごいの?(7月2日)
    footer_301.gif
    専門チャンネル
    > セキュリティチャネル > テレコムチャネル
    > サーチエンジンウォッチ
    footer_301.gif
    海外のインターネットコム アメリカ韓国ドイツトルコ
    関連企業のサイト:ストックフォト イラスト ネットストリート ホテル予約サイト タウン情報 出張 事業継承 シミュレーション トランクルーム 優待映画チケット 田舎暮らしガイド オリジナルデザインTシャツ ニタコエ
    Copyright 2008 Jupitermedia Corporation All Rights Reserved. http://www.internet.com/
    space.gif space.gif