本文へジャンプ

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

送信されたすべての情報は安全です。

  • 閉じる [x]

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


送信されたすべての情報は安全です。

  • 閉じる [x]

IBM Lotus Component Designer V6.0での Web サービスの使用

Jason English (jason_english@us.ibm.com), Information Developer, IBM
Jason English is an information developer at IBM Lotus in Cambridge, Massachusetts. He has worked for IBM Lotus for eight years and has written end user, application development, installation, and administration documentation for a variety of products, including IBM Lotus Notes, IBM Lotus Domino, and mobile software. He is currently writing installation and API documentation for IBM Lotus Component Designer.

概要: IBM Lotus Component Designer V6.0は Web サービスをコンポーネントに実装することによって、Web サービスの持つ潜在能力と多様性をインターネット上および組織内で活用することができます。この記事では架空の Web サービスを用いて、IBM Lotus Component Designer コンポーネントで Web サービスを使用する方法について詳述します。

日付:  2007年 3月 06日
レベル:  中級 この記事の原文:  英語
アクティビティー: 911 ビュー
お気軽にご意見・ご感想をお寄せください: 


IBM Lotus Component Designer V6.0は、インターネット上および組織内で、限りなく多様な Webサービスを活用できる効果的な方法を提供します。Webサービスによって、コンポーネントが行うタスク(たとえば、通貨の変換、インターネット検索、または米国の郵便番号のリターンなど)が実行できます。

この記事では、Webサービスの概要について簡単に触れた後、IBM Lotus Component Designerでの Web サービスについて説明します。そして、IBM Lotus Component Designerコンポーネントに架空の Web サービスを実装するプロセスを順番に見ていきます。

Webサービスとは?

一般に、Webサービスはソフトウェアどうしがネットワークを介して相互にやりとりすることを可能にするプログラマチックなインターフェースです。

Webサービスは、ネットワーク内のサーバーでホストされ、WSDL(Web Services Description Language)文書の中で XMLで記述されています。WSDLファイルは、ローカル・コンピューター上、ネットワーク上、または UDDI (Universal Description, Discovery, and Integration) ディレクトリーに保存できます。

Webサービスのコンシューマー・ソフトウェアは、WSDLファイルで指定されたデータをXML形式で提供し、これをXML文書(Lotus Component Designerでは要求文書と呼びます)でWebサービス・プロバイダーに送信します。Webサービス・プロバイダーはそのサービスをデータ上で実行し、処理済みのデータをXML文書(Lotus Component Designerでは応答文書と呼びます)でコンシューマーに返します。


IBM Lotus Component DesignerでのWebサービスの使用

Lotus Component DesignerでWebサービスを使用するときのワークフローの概要を図1に示します。

  1. 使用したいWebサービスを見つけ、Lotus Component Designerでそのサービス用のWebサービス・アダプターを作成します。
  2. UIコントロールをページに追加します。 UIコントロールは入力パラメーターを受け取り、サービスによって返された結果を表示します。
  3. コンポーネントをポートレットとしてIBM WebSphere Portalにデプロイします。
  4. 実行時に、コンポーネントのユーザーはポートレットのページでパラメーターを入力します。
  5. ポートレットは、これらのパラメーターをXML要求文書としてWebサービス・プロバイダーに送信します。
  6. Webサービス・プロバイダーは要求文書を受け取り、データ上でアクションを実行し、結果を保持するポートレットにXML結果文書を返します。
  7. ポートレットが結果をユーザーに表示します。

図1. Lotus Component DesignerでのWebサービスの使用


コンポーネントでのstockInfo Webサービスの使用

ここで取り上げるコンポーネントは、ユーザーが入力した株式ティッカーに基づいて企業の情報を返す、stockInfoという架空のWebサービスを消費します。ユーザーが株式ティッカーIDを入力し、ボタンをクリックすると、Webサービスは、その会社に関する情報(会社名、ティッカー、現在の株価など)を返します。

Webサービスを消費するために、以下の手順を実行します。

  1. アダプターを作成する。
  2. 設計要素を作成する。
  3. 要素をWebサービスにバインドする。

アダプターの作成

最初に、Lotus Component DesignerでWebサービス用のアダプターを作成します。

アダプターを作成するには、サービスのWSDLの場所(URLまたはローカル)を直接指定するか、 UDDIディレクトリーでWSDLを検索します。 stockInfoサービスは「 Stock Prices For You」という架空の会社によって提供され、そのWSDLファイルはWebサイトStockPricesForYou.comのUDDIディレクトリーにあります。

以下の手順を実行し、アダプターを作成します。

  1. 1. Lotus Component Designerにおいて、左側のコンポーネント・ナビゲーターでコンポーネントを選択し、「コンポーネント・オプション」をダブルクリックし(図2参照)、「外部データ・オプションを表示」を選択します。

    図2. 「外部データ・オプションを表示」


    これにより、コンポーネント・ナビゲーターに「外部データ」セクションが表示され、この中に「Webサービス・アダプター」セクションがあります(図3参照)。

    図3. コンポーネント・ナビゲーターでの「外部データ」セクションの表示


  2. 「Webサービス・アダプター」をダブルクリックし、「新規Webサービス・アダプター」ボタンをクリックします。「新規Webサービス・アダプター」ダイアログ・ボックスで、アダプターの名前を入力し、「次へ」をクリックします。この場合、会社がそのサービスをWeb上のUDDIディレクトリーにポストしているので、「Webサービス・ソース」ダイアログ・ボックスで、「UDDIディレクトリーからWebサービスを使用する」オプションを選択し、「追加」をクリックします。
  3. 図4に示す「UDDI検索」ダイアログ・ボックスで、UDDIサーバーのURL 、および組織名とサービス名(省略可能)を入力し、「検索」をクリックします。

    図4. 「UDDI検索」ダイアログ・ボックス


右側の「結果」セクションに、利用可能なWebサービスとその操作が表示されます。stockInfoサービスとそのすべての操作を選択し、「OK」をクリックし、もう一度「OK」をクリックします。

アダプター作成プロセスの一部として、サービスのWSDLファイルのコピーがコンピューターにダウンロードされ、Eclipseワークプレース内のコンポーネントのディレクトリー(たとえば、C:\Eclipse32\Designer\workspace\MyComponent\WebContent\WebServiceAdapter)に保存されます。また、このディレクトリーには、コンピューターとWebサービス・サーバー間で要求文書および結果文書を送受信するために必要な情報を含むアダプター・ファイルと、アダプターの作成者、作成日時、および作者名などの情報を含むプロパティー文書が保存されます。

コンポーネント・ナビゲーターで、「外部データ」->「Webサービス・アダプター」セクションを展開し、新規アダプターをダブルクリックして開きます。図5に示すように、Webサービスに関するすべての情報が表示されます。これには、要求文書、結果文書、および障害文書のスキーマが含まれています。(障害文書には、エラーがあったときに発生した内容がXMLで記述されます。たとえば、提供されたデータが受け取れない形式であった場合は、コンポーネントによって「Please use an acceptable format in this field」というテキストが表示されます。stockInfoサービスには障害文書はありません。)


図5. コンポーネント・ナビゲーターでの「Webサービス・アダプター」 セクションの展開

Webサービス記述が含まれるキャンバスの一番下にある「テスト・アダプター」タブでは、要求文書を編集して「Webサービスの起動」をクリックすることにより、操作をテストできます。


設計要素の追加

コンポーネント内のページを設計することにより、ユーザーが株式ティッカーをフィールド内に入力し、ボタンをクリックできるようになります。また、結果情報をページ下部のフィールドのグループに表示できます。ユーザーの株式ティッカーの入力には編集ボックスを使用し、 Webサービスの起動にはボタンを使用します。さらに、応答データの表示には、編集ボックスを含む繰り返し制御を使用します。

繰り返し制御は、他の一連の制御機能を保持していて、この一連の制御機能をページ内で複数回繰り返します。この場合、ユーザーは複数の株式ティッカーを入力できるので、応答データは複数となりますが、これらを表示するために、同じ制御のセットをページ内にいくつも作るのは面倒です。そこで、繰り返し制御を使用すると、表示制御のセットを1つ作成するだけでよく、複数の応答があった場合は、応答ごとに表示が繰り返されます。たとえば、ユーザーが「IBM YHOO」と入力すると(「YHOO」はYahoo!の株式ティッカーです)、IBM用に1つのデータ・セットが表示され、Yahoo!用にもう1つのデータ・セットが表示されます。

メモ:ページやコントロールの作成など、Lotus Component Designerでのタスクの実行方法については、Lotus Component Designerのヘルプを参照してください。

以下の手順を実行し、設計要素を追加します。

コンポーネントでページを作成します。

Webサービス・アダプターをページのデータ・ソースにします。

  1. ページ内をクリックします。
  2. 「プロパティー」ビューで「データ」タブをクリックします。
  3. 「追加」、「Webサービス」の順にクリックします。
  4. 「Webサービス」フィールドで、stockInfoアダプターを選択します。
  5. 「ファイル」->「保存」をクリックします。
  6. 「Please enter one or more stock tickers separated by space」というラベルをページに追加します。
  7. ラベルの下に編集ボックスを追加します。
  8. 「Get Stock Quote」というラベルを持つボタンを追加します。
  9. 繰り返し制御を追加します。
  10. 結果データを表示するために、繰り返し制御にラベルと編集ボックスを追加します(図6参照)。たとえば、会社名、株式ティッカー、および株価を表示するようにします。

図6. 結果データの表示


Webサービスへの要素のバインド

次に、コントロールをバインドしましょう。Webサービスのアダプターを作成した後は、サービスの要求文書、応答文書、または障害文書をページのデータ・ソースとして使用し、それらに含まれる要素にコントロールをバインドすることができます。

まず、ユーザーが株式ティッカーを入力する編集ボックスを、株式ティッカー・データを保持する要求文書内の要素にバインドします。次に、繰り返し制御を応答文書にバインドします。繰り返し制御に表示される情報はすべて応答文書から得られるからです。そして、会社名、株式ティッカー、および株価を表示する各編集ボックスを、データが含まれる結果文書の要素にバインドします。最後に、Webサービスを起動するボタンのイベントを作成します。

図7に示すように、株式ティッカー編集ボックスを要求文書のstockTicker要素にバインドします。

  1. ユーザーがティッカーを入力する編集ボックス内をクリックします。
  2. 「プロパティー」ビューで「データ」タブをクリックします。
  3. 「データのバインドの使用」オプションを選択します。
  4. 「データ・ソース」フィールドで「requestDocument」を選択します。
  5. 「データのバインド」フィールドでstockTicker要素を選択します。

図7. stockTicker要素への株式ティッカー編集ボックスのバインド

図8に示すように、応答文書の一番上の要素に繰り返し制御をバインドします。

  1. 繰り返し制御をクリックします。
  2. 「プロパティー」ビューの「繰り返し」タブで、「データのバインドの使用」を選択します。
  3. 「データ・ソース」フィールドで、「responseDocument」を選択します。
  4. 「データのバインド」フィールドで、内部に表示要素を保持している要素を選択します。この場合は、応答文書の一番上の要素/stockInfoにバインドします。

図8. 応答文書の一番上の要素への繰り返し制御のバインド

図9に示すように、繰り返し制御の各編集ボックスを応答文書内の適切な要素にバインドします。たとえば、次のように操作します。

  1. 会社の名前を表示する編集ボックスをクリックします。
  2. 「プロパティー」ビューで「データ」タブをクリックします。
  3. 「データのバインドの使用」を選択します。
  4. 「データ・ソース」フィールドで「responseDocument」を選択します。
  5. 「データのバインド」フィールドでcompanyName要素を選択します。

図9. 応答文書の要素への編集ボックスのバインド

図10に示すように、「Webサービスの起動」イベントをボタンに追加します。

  1. ボタンを選択します。
  2. 「プロパティー」ビューで「イベント」タブをクリックします。
  3. 左側のペインで「マウス」セクションを展開し、「onClick」をクリックします。
  4. 右側のペインで「シンプル・アクション」を選択し、「アクションの追加」をクリックします。
  5. 「カテゴリー」フィールドで「すべて」を選択します。
  6. 「アクション」フィールドで「Webサービスの起動」を選択します。
  7. 「Webサービス名」フィールドで、サービスの名前(この場合は「stockInfo」)を選択します。
  8. 「フル・アップデート」を選択します。

図10. ボタンへのイベントの追加

まとめ

今後のリリースでは、IBMサービス指向アーキテクチャーの機能であるWSRR(WebSphere Service Registry and Repository)のサポートを検索してください。これはUDDIに似たディレクトリーですが、幅広い一連の機能を提供します。WSRRディレクトリーはWebサービスに関する情報を保管し、コンポーネントがこれらの情報を利用できるようにします。ポートレットとしてWebSphere Portalにデプロイされたコンポーネントがサービスを消費する場合、このコンポーネントもWSRRに登録されるため、システム管理者は、どのポートレットがどのWebサービスを使用するのかをトラッキングできます。


参考文献

学ぶために

製品や技術を入手するために

議論するために

著者について

Jason English is an information developer at IBM Lotus in Cambridge, Massachusetts. He has worked for IBM Lotus for eight years and has written end user, application development, installation, and administration documentation for a variety of products, including IBM Lotus Notes, IBM Lotus Domino, and mobile software. He is currently writing installation and API documentation for IBM Lotus Component Designer.

不正使用の報告のヘルプ

不正使用の報告

ありがとうございます。 このエントリーは、モデレーターの注目フラグが設定されました。


不正使用の報告のヘルプ

不正使用の報告

不正使用の報告の送信に失敗しました。


developerWorks: サイン・イン


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。 プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。 お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

表示名をお選びください

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

(半角英数字で3文字以上31文字以下にする必要があります)


「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


この記事を評価する

コメント

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Lotus
ArticleID=340971
ArticleTitle=IBM Lotus Component Designer V6.0での Web サービスの使用
publish-date=03062007
author1-email=jason_english@us.ibm.com
author1-email-cc=

タグ

Help
このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。

スライダーバーを使用することで、より多く(少なく)タグを表示します。

人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。

マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。

このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。