Lesson 3

Webサービスの展開とテスト

 
Top of page

このレッスンの内容

 
Top of section

目的

レッスン2で扱ったexteNd Composerプロジェクトは、exteNd Directorプロジェクトの一部になります。exteNd Composerはアプリケーションのデータ層として使用され、exteNd Directorはプレゼンテーション層として使用されます。 2つの層に明確に分けられていると、アプリケーションの一部を変更するとき、他の部分への変更は必要としないで済む場合があります。

このレッスンでは、exteNd Composerサービスのサービストリガを作成してアプリケーションを展開し、exteNd Composerを使用してサービスのSOAPインタフェースをテストします。

 
Top of section

実行する内容

  1. exteNd Directorを起動し、プロジェクトを開く

  2. SOAPベースサーバトリガの作成

  3. 補足: exteNd Director 開発環境

  4. アプリケーションの展開

  5. exteNd Composerを使用してWebサービスをテストする

 
Top of section

エクササイズ 3-1: exteNd Directorを起動し、プロジェクトを開く

時間を省くため、exteNd Composerプロジェクトの追加など、生成物がいくつか作成されているテンプレートプロジェクトを使用します。 これらの生成物についてはレッスン 4, exteNd Directorプロジェクトの作成で学んでいきます。 必要とする生成物を作成した後に、完成したアプリケーションをテストします。

  1. スタート]>[プログラム]>[Novell exteNd 5.0]>[Director] メニューの順に移動し、[Director Designer]を選択してexteNd Directorを起動します。

    StartPrograms DirectorDesigner

  2. ファイル]>[プロジェクトを開く]の順に選択してプロジェクトを開きます。

  3. 検索場所]ドロップダウンリストをクリックして、プロジェクトフォルダへ移動します。 プロジェクトフォルダは、「D:\GuidedTour\template\RequestUserInfoProject」になります。

    FileDialogLookinList

  4. プロジェクトファイル「RequestUserInfo.spf」を選択し、[開く]をクリックします。

    DirectorOpenProjectDialog

  5. ナビゲーションペインのビューDirectorViewUsingArchiveを[アーカイブレイアウト]ビューに変更します。

    アーカイブレイアウトビューで表示されるもの」    このビューは、サーバへ展開されるアーカイブの構造的なビューになります。 プロジェクト内の様々な生成物がアーカイブ内のどこに配置されるかを示します。 デフォルトのビューは、「ソースレイアウト」 で、生成物が実際には開発ファイルシステムのどこに保存されているかを示します。 J2EEでは、アーカイブ内のどこに生成物が置かれているかが重要となります。

    exteNd ComposerおよびexteNd Directorプロジェクトのすべての生成物は、開いたプロジェクトファイルに関連した場所に位置するフォルダのファイルとして保存されています。

    リソースセット」    exteNd Directorの特徴の一つで、必要となる展開の数を減らすことにより、テストに費やされる時間を少なくします。 (リソースセットについての詳細は、『Developing exteNd Director Applications』のexteNd Directorでのリソースセットの使用に関する章を参照してください。)

    exteNd Directorプロジェクトには、「resourceset.xml」という設定ファイルがあります。リソースセットをexteNd DirectorとexteNd Application Server (または他のアプリケーションサーバ)で正しく使用するには、ファイルの変数がプロジェクトのドライブ内における実際のロケーションを示している必要があります。

    現在のプロジェクトのロケーションは、このプロジェクトが最初に作成されたときのロケーションとは異なっている場合がほとんどですので、ここでこの変数を変更します。

  6. ナビゲーションペインのフォルダペインで、WEB-INFフォルダの横にあるexpandIconアイコンをクリックします。

  7. conf]フォルダを選択します。

  8. resourceset.xml]ファイルをナビゲーションペイン内の詳細ペインでダブルクリックし、エディタペインで開きます。

    DirectorResourcesset xml editor

  9. エディタペインで、[変数]タブをクリックします。

  10. WARLOCATION]キーを探し、その値をテンプレートプロジェクトを置いた実際のロケーションを示すように変更します。たとえば次のようになります。 D:\GuidedTour\template\RequestUserInfoProject

    DirectorResourcesset xml WARLOCATION

  11. <Enter>キーを押して、変更を保存します。

  12. FileSaveToolbarIconツールバーアイコンをクリックして変更を保存します。

  13. エディタペインで、[一般]タブをクリックします。

  14. 再起動]ボタンが表示されるまで下にスクロールします。 [再起動]ボタンをクリックします。

    ResourcesetGeneralButtons

  15. エディタタイトルタブDirectorEditor NameTabDirectorEditor CloseIconをクリックして、開いているエディタを閉じます。

 
Top of section

エクササイズ 3-2: SOAPベースサーバトリガの作成

exteNd Composerサービスは、そのサービスのユーザに代わってexteNd Composerランタイムとの情報のやりとりを行う、Javaサービストリガを必要とします。このエクササイズで作成するexteNd Composerサービスは、SOAPを利用するWebサービスとして呼び出されます。

Webサービスを扱うには、WSDLを(エクササイズ 2-9: WSDL(Web Services Definition Language)の作成にて)作成した際に特定したURLでリッスンするJavaサーブレットが必要になります。

このエクササイズでは、exteNd Composerによって提供された一般的なサーブレットを、特定したURLでリッスンするよう設定します。

  1. 新規ファイル]アイコンをクリックします。NewFileIcon

  2. Webサービス]タブを選択します。

  3. Composer Webサービスウィザード]を選択します。

    DirectorWebServicesWizardTab

  4. OK]をクリックします。

  5. [サービストリガタイプ]として、[Webサービス]を選択します。

  6. RequestUserInfo]が[ターゲットプロジェクト]になっていることを確認します。

    DirectorWebServicesWizard Dialog1

  7. 次へ]をクリックします。

  8. UserInfo]が選択したプロジェクトになっていることを確認します。

  9. ViewUserInfo]を[サービス]として選択します。

    DirectorWebServicesWizard Dialog2

  10. [Webサービスの詳細]ブロックの[WSDL]ドロップダウンリストで[ViewUserInfo]が選択されていることを確認します。 [次へ]をクリックします。

  11. 次のデフォルト値を受け入れます。

    DirectorWebServicesWizard Dialog3

  12. 完了]をクリックします。

  13. Composer展開ウィザードの確認ダイアログで[OK]をクリックします。

    DirectorWebServicesWizard Dialog4

 
Top of section

エクササイズ 3-3: 補足: exteNd Director 開発環境

exteNd Director 開発環境は、ポートレットやXFormなどのexteNd Director生成物を視覚的に作成する機能を提供するだけでなく、プロジェクトを構成するJ2EE特定の生成物の管理、J2EEアーカイブの作成および展開にも使用されます。 このエクササイズでは、多少本題から離れ、Webベースの開発を管理するのに便利なexteNd Directorの特徴のいくつかを見ていきます。

前回のエクササイズでexteNd Composerサービストリガを作成した際、ソースファイルを開かなかったことにお気づきになったかもしれません。 本当にサービストリガがあるのかどうか疑問に思われたことでしょう。

その答はイエスです。exteNd Composerランタイムは、SOAPの要求を受け入れるサーブレットの実装を提供し、exteNd Composerサービスを呼び出してSOAPの応答をフォーマットします。 このサーブレットは、Webアーカイブの「web.xml」 (J2EE Webアプリケーション記述子)ファイルの初期化パラメータを設定することにより、適切なexteNd Composerサービスを呼び出すよう設定されています。 次のエントリを見ていきす。

  1. ナビゲーションペインのフォルダペインを、プロジェクトのRequestUserInfo.spf エントリが表示されるまで上へスクロールし、それを選択します。

    DirectorNavigation RequesUserInfo Selected

  2. マウスを右クリックしてコンテキストメニューを開き、[展開記述子を開く]を選択します。

  3. [作成オプションの選択]ダイアログが表示され、このダイアログを次回からは表示しないようにするには、[いいえ、今は作成しない。プロジェクトを自動的に作成しない]を選択して、[OK]をクリックします。

  4. エディタペインで、「com.novell.composer.userinfo.ViewUserInfoSoapService」というエントリが表示されるまで、下へスクロールします。 次がサーブレットの設定になります。

    WebXML ComposerServiceEntry

  5. [エディタタイトル]タブをクリックして、エディタを開きます。

exteNd Director 開発環境では、アプリケーションサーバの各タイプに対して個別のサーバプロファイルを使用します。プロファイルは、そのタイプのアプリケーションを展開する際に必要となる詳細を定義します。 『ガイドツアー』では、デフォルトのプロファイルを使用しており、これはローカルコンピュータで稼動しているexteNd Application Serverへ展開するためのプロファイルです。 このプロファイルを確認するあるいは新規のプロファイルを作成する場合は、[ツール]>[プロファイル]の順に選択し、プロファイルエディタ を開きます。

DirectorProfilesEditor

 
Top of section

エクササイズ 3-4: アプリケーションの展開

これでexteNd Application Serverにアプリケーションを展開する準備が整いましたので、exteNd ComposerサービスをWebサービスとしてテストします。

  1. ナビゲーションペインのフォルダペインを、プロジェクトの「RequestUserInfo.spf」エントリが表示されるまで上へスクロールし、それを選択します。

    DirectorNavigation RequesUserInfo Selected

  2. マウスを右クリックしてコンテキストメニューを開き、[展開計画を開く]を選択します。

    展開計画は、アプリケーションを正しくexteNd Application Serverに展開するのに必要な、サーバ特有の詳細を定義します。 web.xml記述子ファイルの情報に基づいて作成および保守されています。 展開する前には、常に展開計画を見直し保存することをお勧めします。

    ヒント:   別のサーバに展開をするときは、この計画で使用されたプロファイルを変更す る必要があります。

  3. FileSaveToolbarIconツールバーアイコンをクリックして変更を保存します。

  4. [エディタタイトル]タブのDirectorEditor CloseIconをクリックして、エディタを閉じます。

  5. 展開]ツールバーアイコンをクリックします。DirectorToolbar DeployIcon

exteNd Director 開発環境の出力ペインで「展開が正常に完了しました」というメッセージが表示されると、この展開は完了したことになります。

この最初の展開は、通常よりも若干時間がかかりました。これはアプリケーションがサーバへ展開され起動したこと以外に、データベースもまた初期化されたためです。 このデータベースとは、エクササイズ 1-4: JDBC接続プールで接続プールを作成、定義したデータベースです。

DirectorDesignerOutputPanel

 
Top of section

エクササイズ 3-5: exteNd Composerを使用してWebサービスをテストする

exteNd Composerプロジェクトには、展開されたViewUserInfoをSOAPサービスとしてテストするサービス(TestViewUserInfo)があります。 このサービスには、SOAPバインドを使ったWebサービスを利用するためのアクション(WS交換)があり、このアクションはexteNd Composerによって使用されます。 このエクササイズでは、このサービスを使い、先ほど展開したアプリケーションをテストします。

ログしきい値の設定

テストの一環として、Composerのコンポーネントとサービスにおけるログアクションをサーバコンソールへ出力します。 ログを出力をさせるには、Composer管理者コンソールを使用してサーバのログしきい値を設定します。

  1. ブラウザを開きます。

  2. アドレスバーに、「http://localhost/exteNdComposer/」と入力し、<Enter>キーを押します。

  3. exteNd Application Serverの管理者ユーザIDとexteNd 5のインストール時に提供されたパスワードを入力して、[OK]をクリックします。

    ComposerAdminConsole

  4. ログレベルを4に変更し、[ログレベルの適用]をクリックします。

  5. ファイル]>[終了]の順に選択してブラウザアプリケーションを終了します。

サービスのテスト

  1. exteNd Composer Designerを開きます。 (まだ開いたままでしたら、<Alt>+<Tab>キーで切り替えることができます。)

  2. ナビゲーションペインのカテゴリペインで、[サービス]カテゴリの[Webサービス]を選択します。

  3. [TestViewUserInfo]をダブルクリックして、エディタペインでサービスを開きます。

    Composer TestService Opened

  4. ツールバーの[すべてを実行]アイコンExecuteAllIconをクリックします。

  5. [実行が完了しました]ダイアログの[OK]をクリックします。 エディタの出力DOM内のSOAPサービスによって返された結果を見てください。

    Composer TestService Executed

    サーバコンソールを見ると、exteNd Composerランタイムからのログの結果を見ることができます。

    ServerConsoleComposerLog

    以上で作業は完了です。 exteNd Composerサービスを完成させ、SOAPサービストリガと共に展開することに成功しました。

  6. ファイル]>[終了]の順に選択してexteNd Composer Designerアプリケーションを終了します。 『ガイドツアー』の残りの章では、exteNd Composerは必要ありません。

  7. exteNd Composerの終了を確認するメッセージが表示されたら、[はい]をクリックします。

次のレッスン   次のレッスンでは、エンドユーザにサービスの使用を許可するexteNd Directorポータルアプリケーションを作成します。



Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved.  more ...