SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

EclipseでのWeb開発を支援するWeb Tools Platform

標準のEclipseで簡単に利用できるWeb開発用プラグイン

  • X ポスト
  • このエントリーをはてなブックマークに追加

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の機能を理解すればかなりのメリットがあります。ぜひ試してみてください。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

John Ferguson Smart(John Ferguson Smart)

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/698 2006/11/15 00:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング