TOPシステム開発> 一覧選択イベント
マスカット
リッチクライアントを加速させるAjax開発環境「マスカット」の全貌

第5回:実践!マスカットアプリケーションのサーバサイド作成
著者:NTTデータ  川田 洋平   2007/2/23
前のページ  1  2  3  4  次のページ
一覧選択イベント

   はじめに送受信内容が比較的簡単な一覧選択イベントから見ていきます。

   以下は、一覧選択イベントの送信メッセージXMLのスキーマです。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified"            elementFormDefault="qualified"            xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:element name="hotelID">
      <xs:complexType>
         <xs:sequence>
            <xs:element type="xs:string" name="id" minOccurs="0"/>
         </xs:sequence>
      </xs:complexType>
   </xs:element>
</xs:schema>

   以下は、一覧選択イベントの受信メッセージXMLのスキーマです。

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified"
           elementFormDefault="qualified"            xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:element name="hotelDetail">
      <xs:complexType>
         <xs:sequence>
            <xs:element type="xs:string" name="detail" minOccurs="0"/>
         </xs:sequence>
      </xs:complexType>
   </xs:element>
</xs:schema>

   また、実際のメッセージのイメージがわきやすいように、それぞれのXMLインスタンス例を示します。

   以下は、一覧選択イベントの送信メッセージXMLインスタンス例です。

<?xml version="1.0" encoding="UTF-8"?>
<hotelID>
   <id>H001</id>
</hotelID>

   以下は、一覧選択イベントの受信メッセージXMLインスタンス例です。

<?xml version="1.0" encoding="UTF-8"?>
<hotelDetail>
   <detail>住所:東京都AB区XY1-2-3\nお薦め度★\nアメニティ充実</detail>
</hotelDetail>

   「第4回:実践!マスカットアプリケーションの画面&イベント作成」の3ページに示した表3の説明と、同じく第4回の4ページに示した実際のイベント定義XMLを参照すると、イベント定義XMLの内容とスキーマの関係がよくわかると思います。

   サーバサイドは、送信メッセージXMLのhotelID/idの値から対応するホテルの詳細情報を取得し、それをhotelDetail/detailの値として受信メッセージXMLを返せばいいことがわかります。


検索実行イベント

   検索実行イベントの送信メッセージXMLと受信メッセージXMLのスキーマ、およびそれぞれのXMLインスタンス例を示します。

   以下は、検索実行イベントの送信メッセージXMLスキーマです。


(画像をクリックすると別ウィンドウに拡大図を表示します)

   以下は、検索実行イベントの受信メッセージXMLスキーマです。


(画像をクリックすると別ウィンドウに拡大図を表示します)

   以下は、検索実行イベントの送信メッセージXMLインスタンス例です。

<?xml version="1.0" encoding="UTF-8"?>
<hotelSearch>
   <day>01/01/2007</day>
   <placeGinza>true</placeGinza>
   <placeShinjuku>true</placeShinjuku>
   <placeShibuya>false</placeShibuya>
   <room>single</room>
   <chargeMax>15000</chargeMax>
</hotelSearch>

   以下は、検索実行イベントの受信メッセージXMLインスタンス例です。

<?xml version="1.0" encoding="UTF-8"?>
<hotelList>
   <rows>
      <row>
         <id>H001</id>
         <name>Aホテル</name>
         <place>銀座</place>
         <roomType>シングル</roomType>
         <charge>7000</charge>
      </row>
      <row>
         <id>H009</id>
         <name>Eホテル</name>
         <place>渋谷</place>
         <roomType>シングル</roomType>
         <charge>8000</charge>
      </row>
   </rows>
</hotelList>

   送信メッセージXMLには同一階層に複数の検索条件が含まれています。受信メッセージXMLは階層型となっており、表のデータの各行が同一階層に含まれています。

   サーバサイドは送信メッセージXMLに含まれる検索条件を元に、マッチするホテルの一覧を表のデータとして受信メッセージXMLを返せばいいことがわかります。

前のページ  1  2  3  4  次のページ


株式会社NTTデータ 川田 洋平 技術開発本部 ソフトウェア工学推進センタ エキスパート
著者プロフィール
株式会社NTTデータ 川田 洋平
技術開発本部 ソフトウェア工学推進センタ エキスパート

同社の研究開発部門にてWebシステムの研究開発に従事。マスカットの開発には初期から携わり、オープンソース化後はマスカットプロジェクトのプロジェクト運営委員会(PMC)およびコミッタとして活動を続けている。


INDEX
第5回:実践!マスカットアプリケーションのサーバサイド作成
  サーバサイドの作成
一覧選択イベント
  サーバサイドのプログラム
  イベント発生時のカスタマイズ