メッセージ・モデルの構成

このトピックでは、以下のセクションを含め、メッセージ・モデルを構成する方法を説明します。WebSphere Message Broker 資料の、メッセージ・モデルを参照してください。

Address メッセージ定義のプロパティーの構成

エレメントなどの一部のオブジェクトには、独立型オブジェクトとして関連付けられるプロパティーと、他のオブジェクト (タイプやグループなど) のメンバーとして関連付けられるプロパティーの両方を持つものがあります。 これらのプロパティーを 2 つの表にリストします。

こうした表には、このサンプルで設定されているプロパティーのみをリストしています。 さらに多くのプロパティーが使用可能ですが、このサンプルではほとんどがデフォルト値のままになっています。

独立型オブジェクトとしてのオブジェクトのプロパティーの構成

オブジェクトのプロパティーを独立型オブジェクト (エレメントなど) として構成するには、次の表にリストされているようにプロパティーを設定してください。

  1. 「ブローカー開発」ビューで、「Address.mxsd」をダブルクリックして開きます。
  2. 「アウトライン」ビューで、いくつかのフォルダーを展開して必要なオブジェクトを検索し、そのオブジェクトをクリックして強調表示します。 たとえば {Local complexType} の場合、「エレメントと属性」>「Address」を展開して {Local complexType} をクリックします。
  3. メッセージ定義エディターで、 「プロパティー」 タブをクリックします。WebSphere Message Broker 資料の メッセージ定義エディターを参照してください。
  4. プロパティー階層の中で、構成するプロパティーを見つけます。 たとえば {Local complexType} の TDS プロパティーを構成するには、「物理プロパティー」>「TDS1」>「複合タイプ」の順にクリックします。 ローカル・エレメント、グローバル・エレメント、エレメント参照、またはグループ参照のプロパティーを構成している場合は、「物理プロパティー」>「TDS1」>「ローカル・エレメント」「物理プロパティー」>「TDS1」>「グローバル・エレメント」「物理プロパティー」>「TDS1」>「エレメント参照」、または「物理プロパティー」>「TDS1」>「グループ参照」をクリックします。
  5. 以下の表に表示されているとおりに、論理プロパティー、カスタム・ワイヤー形式、XML 物理形式、およびTDS 形式を設定します。詳しくは、WebSphere Message Broker 資料の、メッセージ・モデル・オブジェクトの論理プロパティーMRM カスタム・ワイヤー形式MRM XML 物理形式、および MRM TDS 形式を参照してください。
    オブジェクト 論理プロパティー CWF プロパティー XML プロパティー TDS プロパティー
    Town        
    Street        
    HouseNo        
    {Local complexType} 構成 = orderedSet     データとエレメントの分離 (Data Element Separation) = タグ付き区切り (Tagged Delimited)
    グループ標識 = [
    グループ・ターミネーター = ]
    区切り文字 = *
    タグとデータの区切り文字 (Tag Data Separator) = :

{Local complexType} の「構成」を「順序セット」に設定しているのは、指定した順序でエレメントが出現しなければならないためです。 別の方法として、「構成」を「シーケンス」に設定することもできます。 「構成」が「順序セット」の場合は、エレメントは順序どおりに出現し、しかも重複は許されません。「構成」が「シーケンス」の場合は、やはりエレメントは順序どおりに出現しますが、重複が可能です。 重複エレメントとは、複合タイプの中のどこかで複数回出現しているエレメントのことです。

{Local complexType} の他の論理プロパティーは、デフォルト値になります。 「内容の妥当性検査」のデフォルト設定値は「クローズ」 です。 この場合、複合タイプ {Local complexType} に含めることができるのは、そのメンバーであるエレメントだけです。 「内容の妥当性検査」を「オープン」に設定すると、その複合タイプには、このメッセージ・セットで定義されたものだけでなく、任意のエレメントを含めることができるようになります。WebSphere Message Broker 資料のメッセージ・セットの概要を参照してください。

「データとエレメントの分離」は「タグ付き区切り」に設定され、データとエレメントの分離のさまざまなタイプを例示します。WebSphere Message Broker 資料の、TDS 形式メッセージ・セットのプロパティーを参照してください。

オブジェクトのプロパティーを他のオブジェクトのメンバーとして構成する

オブジェクトのプロパティーを他のオブジェクト (タイプやグループなど) のメンバーとして構成するには、次の表にリストされているようにプロパティーを設定してください。

  1. 「ブローカー開発」ビューで、「Address.mxsd」をダブルクリックして開きます。
  2. 「アウトライン」ビューで、ナビゲーション・ツリーを展開して必要なオブジェクトを検索し、そのオブジェクトをクリックして強調表示します。 ツリーの中で、別のオブジェクトの下に表示されていて、そのメンバーになっているオブジェクトを選択します。 たとえば Town の場合、「エレメントおよび属性」>「Address」> {Local complexType} の順に展開して、「Town」をクリックします。
  3. メッセージ定義エディターで、「プロパティー」タブをクリックします。
  4. プロパティー階層の中で、構成するプロパティーを見つけます。 たとえば、Town の TDS プロパティーを構成するのであれば、「物理プロパティー」→「TDS1」→「ローカル・エレメント」の順にクリックします。
  5. 以下の表に示すように、プロパティーを設定します。
    オブジェクト 親オブジェクト 論理プロパティー CWF プロパティー XML プロパティー TDS プロパティー
    Town Address > {Local complexType}   長さカウント = 20    
    Street Address > {Local complexType}   長さカウント = 20    
    HouseNo Address > {Local complexType}   長さカウント = 4
    物理タイプ = 外部 10 進数 (External Decimal)
    「符号」チェック・ボックス ('Signed' check box) = 選択しない (not selected)
    ストリング位置調整 = 左そろえ (Left Justify)
    埋め込み文字 = SPACE
       
    {Local complexType} Address        

 

Borrowed メッセージ定義のプロパティーの構成

エレメントなどの一部のオブジェクトには、独立型オブジェクトとして関連付けられるプロパティーと、他のオブジェクト (タイプやグループなど) のメンバーとして関連付けられるプロパティーの 2 つのプロパティー・セットを持つものがあります。 これらのプロパティーを 2 つの表にリストします。

こうした表には、このサンプルで設定されているプロパティーのみをリストしています。 さらに多くのプロパティーが使用可能ですが、このサンプルではほとんどのプロパティーがデフォルト値になります。

独立型オブジェクトとしてのオブジェクトのプロパティーの構成

オブジェクトのプロパティーを独立型オブジェクト (エレメントなど) として構成するには、次の表に示されているようにプロパティーを設定してください。 直前のセクション『Address メッセージ定義のプロパティーの構成』にある説明に従ってください。

オブジェクト 論理プロパティー CWF プロパティー XML プロパティー TDS プロパティー
VideoTitle        
DueDate        
Cost        
{Local complexType}    

 

データとエレメントの分離 (Data Element Separation) = 全エレメント区切り (All Elements Delimited)
グループ標識 = [
グループ・ターミネーター = ]
区切り文字 = *

{Local complexType} の論理プロパティーを設定する必要はありません。これらのプロパティーはデフォルト値になるためです。 「データとエレメントの分離」は「全エレメント区切り」に設定され、データとエレメントの分離の別のタイプを例示します。 「全エレメント区切り」「タグ付き区切り」の違いについて、詳しくは WebSphere Message Broker 資料のTDS 形式: データとエレメントの分離を参照してください。

オブジェクトのプロパティーを他のオブジェクトのメンバーとして構成する

オブジェクトのプロパティーを他のオブジェクト (タイプやグループなど) のメンバーとして構成するには、次の表に示されているようにプロパティーを設定してください。 直前のセクション『Address メッセージ定義のプロパティーの構成』にある説明に従ってください。

オブジェクト 親オブジェクト 論理プロパティー CWF プロパティー XML プロパティー TDS プロパティー
VideoTitle Borrowed > Anonymous   長さカウント = 20 レンダー = XMLAttribute  
DueDate Borrowed > Anonymous   長さカウント = 10
日時フォーマット (DateTime Format) = yyyy-MM-dd
  日時フォーマット (DateTime Format) = yyyy-MM-dd
Cost Borrowed > Anonymous   長さカウント = 4    
{Local complexType} Borrowed        

VideoTitle のレンダリング・オプションは、XMLAttribute に設定されています。これは、メッセージ・モデル構成の異なる複数の方法を示すためです。 VideoTitle をエレメントとして作成し、それを属性としてレンダリングすることは、オブジェクト構成の 1 つの方法です。 VideoTitle は以下のさまざまな方法で構成できます。

後の 2 つのオプションにおいて、VideoTitle はメッセージ中ではまったく同じ形式になります。 つまり、オブジェクトを属性として構成しても、または属性としてレンダリングされるエレメントとして構成しても、同じ結果が得られます。 たとえば、オブジェクト作成後にエレメントを属性に (あるいはその反対に) 変更したいが、なんらかの理由でレンダリング・オプションには別のものを使用したいという場合には、レンダリング・オプションを使用することができます。 たとえば、業務上の理由で、同じ名前で複数のエレメントを作成し、レンダリング・オプションを使用してそれらに異なる識別子を指定するようにしたい場合があるかもしれません。

Customer メッセージ定義のプロパティーの構成

エレメントなどの一部のオブジェクトには、独立型オブジェクトとして関連付けられるプロパティーと、他のオブジェクト (タイプやグループなど) のメンバーとして関連付けられるプロパティーの 2 つのプロパティー・セットを持つものがあります。 これらのプロパティーを 2 つの表にリストします。

こうした表には、このサンプルで設定されているプロパティーのみをリストしています。 さらに多くのプロパティーが使用可能ですが、このサンプルではほとんどがデフォルト値になります。

独立型オブジェクトとしてのオブジェクトのプロパティーの構成

オブジェクトのプロパティーを独立型オブジェクト (エレメントなど) として構成するには、次の表に示されているようにプロパティーを設定してください。 直前のセクション『Address メッセージ定義のプロパティーの構成』にある説明に従ってください。

オブジェクト 論理プロパティー CWF プロパティー XML プロパティー TDS プロパティー
FirstName       タグ (Tag) = FirstName
LastName       タグ (Tag) = LastName
Title       タグ (Tag) = Title
NameType 構成 = orderedSet
内容の妥当性検査 = オープン
   

データとエレメントの分離 (Data Element Separation) = タグ付き区切り (Tagged Delimited)
グループ標識 = [
グループ・ターミネーター = ]
区切り文字 = *
タグとデータの区切り文字 (Tag Data Separator) = :

ID       タグ (Tag) = ID
CreditCardNo       タグ (Tag) = CreditCardNo
DrivingLicenseNo       タグ (Tag) = DrivingLicenseNo
PassportNo       タグ (Tag) = PassportNo
IdGroup 構成 = Choice
内容の妥当性検査 = クローズ
    データとエレメントの分離 (Data Element Separation) = タグ付き区切り (Tagged Delimited)
区切り文字 = &
タグとデータの区切り文字 (Tag Data Separator) = :
brw:Borrowed        
Magazine       タグ (Tag) = Magazine
CustomerType 構成 = Sequence
内容の妥当性検査 = オープン
    データとエレメントの分離 (Data Element Separation) = タグ付き区切り (Tagged Delimited)
グループ標識 = {
グループ・ターミネーター = }
区切り文字 = &
タグとデータの区切り文字 (Tag Data Separator) = :

NameType の「内容の妥当性検査」を「オープン」に設定すると、重複エレメントは許可されませんが、このタイプで定義されていない他のエレメントが許可されます。 重複エレメントとは、複合タイプの中のどこかで複数回出現しているエレメントのことです。 他の「内容の妥当性検査」オプションの例を示すために、NameType の「内容の妥当性検査」を「オープン」に設定します。

NameType の「構成」を順序セットに設定しているのは、指定した順序でエレメントを出現させるためです。 別の方法として、「構成」を「シーケンス」に設定することもできます。Sequence は「構成」のデフォルト値であり、たとえばここでは CustomerType に使用されています。 「構成」が「順序セット」の場合は、エレメントは順序どおりに出現し、しかも重複は許されません。「構成」が「シーケンス」の場合は、やはりエレメントは順序どおりに出現しますが、重複が可能です。

IdGroup の「構成」を 「選択」 に設定すると、顧客がビデオ店の会員になる際に身元証明に使用する ID のタイプとして、PassportNo、DrivingLicenseNo、または CreditCardNo のいずれか 1 つだけを選択できます。 「内容の妥当性検査」を「クローズ」に設定した場合は、これら 3 つのオプションからしか選択ができません。 たとえば、「内容の妥当性検査」を「定義済みオープン」に設定した場合は、ご使用のメッセージ・セット内で定義された他のエレメントを選択することが可能になります。

オブジェクトのプロパティーを他のオブジェクトのメンバーとして構成する

オブジェクトのプロパティーを他のオブジェクト (タイプやグループなど) のメンバーとして構成するには、次の表に示されているようにプロパティーを設定してください。 次の表にリストされている構成タスクすべてを、Customer.mxsd メッセージ定義ファイルで実行する必要があります。 オブジェクトを選択しますが、そのオブジェクトがメンバーとなっているオブジェクトの下にあるものを 選択する必要があることに注意してください。 直前のセクション『Address メッセージ定義のプロパティーの構成』にある説明に従ってください。

オブジェクト 親オブジェクト 論理プロパティー CWF プロパティー XML プロパティー TDS プロパティー
FirstName NameType   長さカウント = 20 反復カウント (Repeat Count) = 1    
LastName NameType   長さカウント = 20 レンダー = XMLAttribute  
Title NameType   長さカウント = 3 反復カウント (Repeat Count) = 1    
NameType Customer        
ID CustomerType   長さカウント = 1
反復カウント (Repeat Count) = 1
   
CreditCardNo IdGroup 最小数 (Min Occurs) = 0 長さカウント = 20  

 

DrivingLicenseNo IdGroup 最小数 (Min Occurs) = 0 長さカウント = 20    
PassportNo IdGroup 最小数 (Min Occurs) = 0 長さカウント = 20    
IdGroup          
brw:Borrowed CustomerType 最小数 (Min Occurs) = 0
最大数 (Max Occurs) = 3
反復カウント (Repeat Count) = 2   反復エレメント区切り文字 = *
Magazine CustomerType 最小数 (Min Occurs) = 0      
CustomerType          

LastName のレンダリング・オプションは、XMLAttribute に設定されています。 これは、メッセージ・モデル構成の異なる複数の方法を示すためです。 このオプションは、前のセクションの VideoTitle でも設定されます。Borrowed メッセージ定義のプロパティーの構成を参照してください。

オブジェクト brw:Borrowed の場合、CWF の反復カウントを 2 に設定して、入力メッセージで示されているように、ビデオを借りた回数を反映します。 XML および TDS の両形式では区切り文字タグを使用して各反復の開始と終了の場所を表示するので、XML および TDS の反復カウントを指定する必要はありません。反復エレメントが反復する回数が事前に分からなかった場合には、メッセージ・モデルに別の整数フィールドを組み込まなければなりません。このフィールドに ESQL を使用して反復回数を動的に取り込み、「反復カウント」を「反復参照」に変更して、参照をその整数フィールドの値に加える必要があります。

Magazine のブール値の構成

エレメント Magazine は「ブール」タイプであるため、メッセージ・セットを通じて使用されるブール値も構成する必要があります。 ブール値を設定するには、次のようにします。

  1. 「ブローカー開発」ビューで、messageSet.mset をダブルクリックします。 このファイルには、メッセージ・セットを通じて使用されるデフォルト値が含まれています。
  2. 「メッセージ・セット」エディター・ビューの「物理プロパティー」の下で、「CWF1」をクリックします。
  3. 次の表にリストされているように、ブール値を 2 進表記で設定します。
    プロパティー
    ブールの True 値 31
    ブールの False 値 30
    ブールの Null 値 00

 

サンプルのホームに戻る