メタオブジェクトの構成

コネクターは、メタオブジェクト・エントリーを使用して、メッセージに関連付けるビジネス・オブジェクトを決定します。メッセージの処理に使用されるビジネス・オブジェクトのタイプと動詞は、WebSphere MQ メッセージのヘッダーに含まれる FORMAT フィールドによって決定されます。ビジネス・オブジェクト名と動詞を格納するメタオブジェクト属性を構成し、WebSphere MQ メッセージ・ヘッダーの FORMAT フィールドのテキストに関連付けます。メタオブジェクト属性には、メッセージ処理のガイドラインも含まれます。

入力キューからメッセージが検索されると、コネクターは、FORMAT テキスト・フィールドに関連付けられているビジネス・オブジェクト名を調べます。次に、ビジネス・オブジェクト名と共に、メッセージがデータ・ハンドラーに渡されます。ビジネス・オブジェクトにメッセージの内容が正常に取り込まれると、コネクターはそのビジネス・オブジェクトがサブスクライブされているかどうかをチェックしてから、gotApplEvents() メソッドを使用して統合ブローカーにデリバリーします。

コネクターは、2 種類のメタオブジェクトを認識し、読み取ることができます。

動的な子メタオブジェクトの属性値は、静的なメタオブジェクトの属性値と重複し、それらをオーバーライドします。

ご自分の実装にはどちらのメタオブジェクトが最適であるかを判断する際には、以下のことを考慮してください。

メタオブジェクト・プロパティー

表 11 に、メタオブジェクトでサポートされるプロパティーをすべて含むリストを示します。メタオブジェクトを実装するときには、これらのプロパティーの説明を参照してください。メタオブジェクトには、表 11 に示すプロパティーが 1 つ以上含まれていなければなりません。

一部のプロパティーは、静的メタオブジェクトと動的メタオブジェクトのいずれかでしか使用できません。また、メッセージ・ヘッダーからの読み取りやメッセージ・ヘッダーへの書き込みが不可能なプロパティーもあります。特定のプロパティーについて、コネクターでどのように解釈および使用されるかを判断するには、概要のイベント処理と要求処理に関する適切なセクションを参照してください。

表 11. WebSphere MQ アダプター・メタオブジェクトのプロパティー
プロパティー名 静的メタオブジェクトで定義可能か 動的メタオブジェクトで定義可能か 説明
CollaborationName はい いいえ CollaborationName は、ビジネス・オブジェクトと動詞の組み合わせに対する属性のアプリケーション固有のテキスト内で指定される必要があります。例えば、ユーザーが動詞 Create 付きのビジネス・オブジェクト Customer の同期イベントを処理しようとしている場合、静的メタデータ・オブジェクトは Customer_Create という名前の属性を含んでいる必要があります。

Customer_Create 属性は、名前と値のペアを含むアプリケーション固有のテキストを含んでいる必要があります。例えば、CollaborationName=MyCustomerProcessingCollab です。構文の詳細については、静的メタオブジェクトの作成の概要のセクションを参照してください。

この条件が満たされていない場合は、コネクターが Customer ビジネス・オブジェクトに関する要求を同期的に処理しようとするとランタイム・エラーが発生します。

注:
このプロパティーは、同期要求にのみ利用可能です。
DataHandlerConfigMO
はい はい 構成情報を提供するために、データ・ハンドラーに渡されるメタオブジェクト。静的なメタオブジェクトに指定された場合、この値は DataHandlerConfigMO コネクター・プロパティーに指定された値をオーバーライドします。このメタオブジェクト・プロパティーは、さまざまなタイプのビジネス・オブジェクトを処理するために複数の異なるデータ・ハンドラーが必要な場合に使用します。データ形式が実際のビジネス・データに依存する可能性がある場合は、要求処理には動的な子メタオブジェクトを使用します。指定するビジネス・オブジェクトは、コネクター・エージェントでサポートされるものでなければなりません。付録B. Connector Configuratorの説明を参照してください。
DataHandlerMimeType
はい はい 使用すると、特定の MIME タイプに基づいたデータ・ハンドラーを要求できます。メタオブジェクトに指定されている場合、この値は DataHandlerMimeType コネクター・プロパティーに指定されている値をオーバーライドします。このメタオブジェクト・プロパティーは、さまざまなタイプのビジネス・オブジェクトを処理するために複数の異なるデータ・ハンドラーが必要な場合に使用します。データ形式が実際のビジネス・データに依存する可能性がある場合は、要求処理には動的な子メタオブジェクトを使用します。DataHandlerConfigMO に指定されたビジネス・オブジェクトは、このプロパティーの値に対応する属性を含める必要があります。付録B. Connector Configuratorの説明を参照してください。
DataHandlerClassName
はい はい 付録B. Connector Configuratorの説明を参照してください。
InputFormat
はい はい 特定のビジネス・オブジェクトに関連付けるインバウンド (イベント) メッセージのフォーマットまたはタイプです。この値は、メッセージ内容の識別に役立つものであり、メッセージを生成するアプリケーションによって決まります。検索されたメッセージがこのフォーマットである場合、そのメッセージは (可能であれば) 特定のビジネス・オブジェクトに変換されます。ビジネス・オブジェクトにこのフォーマットが指定されていない場合、コネクターは特定のビジネス・オブジェクトのサブスクリプション・デリバリーを処理しません。このプロパティーを設定するときは、デフォルトのメタオブジェクト変換プロパティーを使用しないでください。デフォルトのメタオブジェクト変換プロパティーの値は、着信メッセージをビジネス・オブジェクトに一致させるために使用されます。 コネクターがメッセージのフォーマットを定義していると見なすフィールドは、コネクター固有のプロパティー MessageFormatProperty を使用してユーザーが定義できます。
OutputFormat
はい はい アウトバウンド・メッセージに取り込まれるフォーマットです。OutputFormat の名前の長さは、16 文字を超えてはなりません。超えた場合、WebSphere MQ がエラーを生成する場合があります。OutputFormat が指定されていない場合、使用可能であれば入力フォーマットが使用されます。
InputQueue はい はい コネクターが、新しいメッセージを検出するためにポーリングする 入力キュー。このプロパティーは、着信メッセージとビジネス・オブジェクトを一致させる目的でのみ使用されます。このプロパティーを設定するときは、デフォルトの変換プロパティーを使用しないでください。デフォルトの変換プロパティーの値は、着信メッセージをビジネス・オブジェクトに一致させるために使用されます。
注:
コネクター固有のプロパティーにある InputQueue プロパティーは、アダプターがポーリングするキューを定義します。これは、アダプターがポーリングするキューを決定するのに使用する唯一のプロパティーです。静的 MO では、InputQueue プロパティーおよび InputFormat プロパティーは、アダプターが指定されたメッセージを特定のビジネス・オブジェクトにマップする条件として使用できます。この機能を実装するには、コネクター固有のプロパティーを使用して複数の入力宛先を構成し、さらに、必要に応じて、着信メッセージの入力フォーマットを基に各入力宛先に別個のデータ・ハンドラーをマップします。詳細については、データ・ハンドラーの入力キューへのマッピングの概要を参照してください。
OutputQueue
はい はい 特定のビジネス・オブジェクトから派生したメッセージが送信されるキューです。
ResponseTimeout
はい はい 同期要求処理で応答を待機するときにタイムアウトとするまでの待機時間を、ミリ秒単位で示します。このプロパティーが未定義のままか、またはゼロよりも小さい値に設定されている場合、コネクターは応答を待機せず、SUCCESS を即時に戻します。
TimeoutFatal
はい はい 同期要求処理で、応答の受信がないためコネクターからエラー・メッセージを戻す動作が起動されるときに使用されます。このプロパティーの値が True の場合、コネクターは、ResponseTimeout に指定されている時間内に応答の受信がなければ、APPRESPONSETIMEOUT をブローカーに戻します。このプロパティーが未定義の場合、または False に設定されている場合、コネクターは応答タイムアウトが発生すると要求を失敗させます。ただし、終了させることはありません。デフォルト値は False です。
DataEncoding はい はい

DataEncoding は、メッセージの読み取りおよび書き込みに使用されるエンコードです。このプロパティーが静的メタオブジェクトで指定されていない場合、コネクターは特定のエンコードを使用せずにメッセージを読み取ろうとします。動的子メタオブジェクトで定義された DataEncoding は、静的メタオブジェクトで定義された値をオーバーライドします。可能な値は、textbinary、または object です。デフォルト値は Text です。この属性の値のフォーマットは、messageType[:enc] です。すなわち、Text:ISO8859_1Text:UnicodeLittleTextBinary、または Object のようになります。このプロパティーは内部的に InputFormat プロパティーに関連します。InputFormat ごとに 1 つの DataEncoding のみを指定します。

以下に示すのは、JMS メッセージ・ヘッダーのみにマップされるフィールドです。具体的な説明や値の解釈などの詳細情報については、JMS API の仕様を参照してください。フィールドによっては、JMS プロバイダー間で解釈が異なることがあります。ご使用の JMS プロバイダーの資料を参照して、解釈の違いがないかどうかを確認してください
ReplyToQueue はい 要求に対する応答メッセージの送信先となるキューです。
Type はい メッセージのタイプです。通常はユーザーが定義できます (JMS プロバイダーによって異なります)。
MessageID はい メッセージの固有 ID です (特定の JMS プロバイダーでのみ有効)。
CorrelationID はい はい 応答メッセージで、その応答の開始理由にあたる要求メッセージの ID を示すために使用されます。
Delivery Mode はい はい メッセージを MOM システム内で永続化するかどうかを指定します。許容値は次のとおりです。
1 = 非永続
2 = 永続
その他の値も使用できる場合があります (JMS プロバイダーによって異なります)。
Priority はい メッセージの優先順位を数値で表現したものです。許容値は 0 から 9 です (数値が大きいほど優先順位が高まります)。
Destination はい MOM システム内でのメッセージの現在の位置 (除去済みの場合は除去直前の位置) です。
Expiration はい メッセージの存続時間です。
Redelivered はい 以前に JMS プロバイダーからクライアントに対してメッセージのデリバリーが試行されたが、受信確認がなかった可能性が高いことを示すものです。
Timestamp はい メッセージが JMS プロバイダーに渡された時刻です。
UserID はい メッセージを送信したユーザーの ID です。
AppID はい メッセージを送信したアプリケーションの ID です。
DeliveryCount はい デリバリーを試行した回数です。
GroupID はい メッセージ・グループの ID です。
GroupSeq はい GroupID に指定されたメッセージ・グループにおける順位です。
JMSProperties はい JMS プロパティーを参照してください。

バイナリーおよびオブジェクト・メッセージ用の DataEncoding

メタオブジェクト・プロパティーである DataEncoding を使用して、メッセージ・タイプを変更することができます。このプロパティーは、textbinaryobject という 3 つの値のいずれかを受け入れます。

デフォルトでは、アダプターは、すべてのメッセージのタイプが text であることを前提とします。アダプターは、バイナリー・メッセージを受信した場合、内容を構成済みデータ・ハンドラーに渡す前に、Java 仮想マシン (JVM) のデフォルト・エンコード方式を使用してバイナリーの内容をテキストに変換します。 メタオブジェクトの DataEncoding プロパティー内の binary または object メッセージ・タイプを明示すると、この振る舞いは変化します。

静的メタオブジェクトの作成の概要

WebSphere MQ アダプター構成のメタオブジェクトは、さまざまなビジネス・オブジェクト用に定義された変換プロパティーのリストで構成されます。静的メタオブジェクトのサンプルを参照するには、Business Object Designer を起動し、アダプターに付属しているサンプル connectors¥WebSpereMQ¥samples¥LegacyContact¥WebSpereMQ_MO_Config.xsd を開きます。

コネクターがサポートする静的メタオブジェクトは、常に 1 つだけです。静的メタオブジェクトを実装するには、そのメタオブジェクトの名前を、コネクター・プロパティー ConfigurationMetaObject に指定します。

静的メタオブジェクトは、各属性が、それぞれ 1 つのビジネス・オブジェクトと動詞の組み合わせを、そのオブジェクトの処理に関連するメタデータのすべてと共に示す構造になっています。各属性の名前は、Customer_Create のように、ビジネス・オブジェクト・タイプと動詞の間を下線で区切った名前にする必要があります。属性のアプリケーション固有情報には、このオブジェクトと動詞の固有の組み合わせに対して指定するメタデータ・プロパティーを表す名前と値のペアを、セミコロンで区切って 1 つ以上含める必要があります。

表 12. 静的メタオブジェクト構造
属性名 アプリケーション固有のテキスト
<business object type>_<verb>
    property=value;property=value;...
<business object type>_<verb>
    property=value;property=value;...

例えば、次のようなメタオブジェクトがあるとします。

表 13. 静的メタオブジェクト構造のサンプル
属性名 アプリケーション固有情報
Customer_Create
    OutputFormat=CUST;OutputDestination=QueueA
Customer_Update
OutputFormat=CUST;OutputDestination=QueueB
Order_Create
OutputFormat=ORDER;OutputDestination=QueueC

このサンプルのメタオブジェクトは、タイプが Customer で動詞が Create の要求ビジネス・オブジェクトを受信したときは、そのオブジェクトをフォーマットが CUST のメッセージに変換して宛先 QueueA に入れる必要があることを、コネクターに対して通知します。Customer タイプのオブジェクトの動詞が Update である場合、変換後のメッセージは QueueB に入れられます。オブジェクトのタイプが Order で動詞が Create である場合には、コネクターはそのオブジェクトをフォーマットが ORDER のメッセージに変換し、QueueC にデリバリーします。それ以外のビジネス・オブジェクトがコネクターに渡された場合には、アンサブスクライブされているものとして処理されます。

また、Default 属性を 1 つ指定して、アプリケーション固有情報 (ASI) のプロパティーを 1 つ以上割り当てることもできます。このデフォルト属性のプロパティーと、オブジェクトと動詞の組み合わせごとの属性のプロパティーが結合されて、メタオブジェクトの属性の最終的なプロパティーになります。オブジェクトと動詞の組み合わせに関係なく汎用的に適用するプロパティーが 1 つ以上ある場合には、このデフォルト属性を使用すると便利です。次の例の場合、コネクターは、オブジェクトと動詞の組み合わせ Customer_CreateOrder_Create については、それぞれに個別に指定されているメタオブジェクト・プロパティーに加えて OutputDestination=QueueA が指定されていると見なします。

表 14. 静的メタオブジェクト構造のサンプル
属性名 アプリケーション固有情報
Default
OutputDestination=QueueA
Customer_Update
OutputFormat=CUST
Order_Create
OutputFormat=ORDER

静的メタオブジェクトにアプリケーション固有情報として指定できるプロパティーは、表 11 に記載されています。

注:
静的なメタオブジェクトが指定されていない場合、コネクターはポーリング中にある特定のメッセージ・フォーマットを特定のビジネス・オブジェクト・タイプにマップできません。この場合、コネクターはビジネス・オブジェクトを指定せずに、メッセージ・テキストを構成済みのデータ・ハンドラーに渡します。データ・ハンドラーがテキストのみに基づいたビジネス・オブジェクトを作成できない場合、コネクターはこのメッセージ・フォーマットが認識されていないことを表すエラーを報告します。

静的メタオブジェクトの作成のステップ

静的メタオブジェクトを実装するには、以下の手順を実行します。

  1. Business Object Designer を起動します。詳細については、「ビジネス・オブジェクト開発ガイド」を参照してください。
  2. サンプルのメタオブジェクト connectors¥WebSphereMQ¥samples¥LegacyContact¥Sample_WebSphereMQ _MO_Config.xsd を開きます。
  3. 必要な要件が反映されるように属性と ASI を編集して (表 11 を参照)、メタオブジェクト・ファイルを保管します。
  4. 保管したメタオブジェクト・ファイルの名前を、コネクター・プロパティー ConfigurationMetaObject の値に指定します。

データ・ハンドラーの入力キューへのマッピングの概要

静的メタオブジェクトのアプリケーション固有情報で InputQueue プロパティー を使用することにより、データ・ハンドラーと入力キューを関連付ける ことができます。 この機能は、異なる書式や変換要件を持つ複数の取引先と 取り引きする場合に役立ちます。

データ・ハンドラーの入力キューへのマッピングのステップ

データ・ハンドラーを InputQueue にマップするには、以下の手順を実行します。

  1. コネクター固有のプロパティー (InputQueue参照) を使用 して 1 つ以上の入力キューを構成します。
  2. Business Object Designer で、適切な静的メタオブジェクトを開きます。
  3. 静的メタオブジェクトのそれぞれの入力キューについて、アプリケーション固 有情報に、キュー・マネージャー、入力キュ ー名、データ・ハンドラーのクラス名、および MIME タイプを指定します。

例えば、次に示す静的メタオブジェクトの属性は、データ・ハンドラーと、CompReceipts という名前の InputQueue を関連付けています。

[Attribute]
 Name = Cust_Create
 Type = String
 Cardinality = 1
 MaxLength = 1
 IsKey = false
 IsForeignKey = false
 IsRequired = false
 AppSpecificInfo = InputQueue=queue://queue.manager/CompReceipts;
 DataHandlerClassName=com.crossworlds.DataHandlers.WBIMB.
 disposition_notification;DataHandlerMimeType=message/
 disposition_notification
 IsRequiredServerBound = false
 [End]

動的子メタオブジェクトの作成の概要

静的メタオブジェクトを使用して必要なメタデータを指定することが困難または実行不可能な場合には、実行時に、ビジネス・オブジェクト・インスタンスごとにデリバリーされるメタデータをコネクターで受信することもできます。

動的メタオブジェクトを使用すると、要求処理では、コネクターがビジネス・オブジェクトの処理に使用するメタデータを要求ごとに変更できるようになります。また、イベント処理では、イベント・メッセージに関する情報の検索が可能になります。

コネクターは、コネクターに渡されるトップレベルのビジネス・オブジェクトに子として追加された動的メタオブジェクトから、変換プロパティーを認識して読み取ります。この動的な子メタオブジェクトの属性値は、コネクターの構成に使用される静的なメタオブジェクトに指定可能であった変換プロパティーと重複します。

動的な子メタオブジェクトのプロパティーは静的なメタオブジェクトから検出されるプロパティーをオーバーライドするため、動的な子メタオブジェクトを指定する場合は、静的なメタオブジェクトを指定するコネクター・プロパティーを組み込む必要はありません。したがって、動的な子メタオブジェクトは、静的なメタオブジェクトとは無関係に使用することができ、その逆もまた同様です。

動的メタオブジェクトにアプリケーション固有情報として指定できるプロパティーは、表 11 に記載されています。

以下の属性は JMS および WebSphere MQ ヘッダー・プロパティーを反映しており、動的メタオブジェクトで認識されます。

表 15. 動的メタオブジェクト・ヘッダー属性
ヘッダー属性名 モード 対応する JMS ヘッダー
CorrelationID
読み取り/書き込み JMSCorrelationID
ReplyToQueue
読み取り/書き込み JMSReplyTo
DeliveryMode
読み取り/書き込み JMSDeliveryMode
Priority
読み取り/書き込み JMSPriority
Destination
読み取り JMSDestination
Expiration
読み取り JMSExpiration
MessageID
読み取り JMSMessageID
Redelivered
読み取り JMSRedelivered
TimeStamp
読み取り JMSTimeStamp
Type
読み取り JMSType
UserID
読み取り JMSXUserID
AppID
読み取り JMSXAppID
DeliveryCount
読み取り JMSXDeliveryCount
GroupID
読み取り JMSXGroupID
GroupSeq
読み取り JMSXGroupSeq
JMSProperties
読み取り/書き込み

読み取り専用属性は、イベント通知中にメッセージ・ヘッダーから読み取られ、動的メタオブジェクトに書き込まれます。これらのプロパティーは、要求処理中に応答メッセージが発行されたときに 動的メタオブジェクトも設定します。読み取り/書き込み属性は、要求処理中に作成されるメッセージ・ヘッダーで設定されます。イベント通知中は、読み取り/書き込み属性はメッセージ・ヘッダーから読み取られ、動的メタオブジェクトを設定します。

動的メタオブジェクトは、各属性がそれぞれ 1 つのメタデータ・プロパティーと値を meta-object property name =meta-object property value の形式で表す構造になっています。

注:
IBM WebSphere の標準のデータ・ハンドラーは、いずれも、cw_mo_ タグを認識すると、その後に指定されている動的メタオブジェクトを表す属性をビジネス・データ用の属性として処理しないように設計されています。アダプターで使用するカスタム・データ・ハンドラーを開発するときは、同様に設計する必要があります。

ポーリング時の動的子メタオブジェクトの取り込み

ポーリング中に検索されたメッセージについてさらに詳しい情報をコラボレーションに提供するため、コネクターは、作成されたビジネス・オブジェクトに動的なメタオブジェクトが定義済みである場合、その特定の属性に値を取り込みます。

表 16 に、動的子メタオブジェクトがポーリングのためにどのように構成されるかを示します。

表 16. ポーリング用の動的子メタオブジェクトの構造
プロパティー名 サンプル値
InputFormat CUST_IN
InputQueue MYInputQueue
OutputFormat CxIgnore
OutputQueue CxIgnore
ResponseTimeout CxIgnore
TimeoutFatal CxIgnore

表 16 に示すように、動的子メタオブジェクトに、追加属性 Input_Format および InputQueue を定義することができます。Input_Format には検索されたメッセージのフォーマットが取り込まれ、InputQueue 属性には特定のメッセージが検索されたキューの名前が含まれます。これらのプロパティーが子メタオブジェクトで定義されていない場合は、これらのプロパティーは取り込まれません。

シナリオ例:

JMS ヘッダーと動的子メタオブジェクトの属性

動的メタオブジェクトに属性を追加すると、メッセージ・トランスポートの詳細情報を取得したり メッセージ・トランスポートを詳細に制御したりすることができます。このセクションでは、これらの属性、お よび属性がイベント通知と要求処理に及ぼす影響について説明します。

JMS プロパティー

動的メタオブジェクトの他の属性と異なり、JMSProperties は単一カーディナリティー子オブジェクトを 定義する必要があります。この子オブジェクトの各属性は、以下のように JMS メッセージ・ヘッダーの可変部分で読み取り/書き込みを行う 単一プロパティーを定義する必要があります。

  1. 属性の名前はセマンティック値を持ちません。
  2. 属性のタイプは、JMS プロパティー・タイプに無関係に 必ず String でなければなりません。
  3. 属性のアプリケーション固有情報は、属性をマップする JMS メッセージ・プロパティーの名前と形式を 定義する 2 つの名前と値の組を含まなければなりません。名前はユーザーが定義できます。値の型は次のいずれかでなければなりません。

表 17 に、JMSProperties オブジェクトの属性に対して定義する必要があるアプリケーション固有情報プロパティーを示します。

表 17. JMS プロパティー属性のアプリケーション固有情報
属性 指定可能な値 ASI コメント
名前 任意の有効な JMS プロパティー名 (有効とは、プロパティーの型と ASI で定義した型が矛盾しないこと) name=<JMS プロパティー名>;type=<JMS プロパティーの型> ベンダーによっては、拡張機能を提供するために 特定のプロパティーを予約している場合があります。一般に、ユーザーは ベンダー固有の機能にアクセスする場合以外は、JMS で開始するカスタム・プロパティーを定義してはなりません。
Type String type=<コメントを参照> これは JMS プロパティーのタイプです。JMS API は、JMS メッセージに値を設定するための多くの メソッドを提供します (例: setIntPropertysetLongPropertysetStringProperty)。ここで指定する JMS プロパティーのタイプによって、どのメソッドを使用してメッセージのプロパティー値を設定するかが決まります。

次の例では、Customer オブジェクトに JMSProperties 子オブジェクトを定義して、メッセージ・ヘッダーのユーザー定義フィールドにアクセスできるようにしています。

Customer (ASI = cw_mo_conn=MetaData)
   |-- Id
   |-- FirstName
   |-- LastName
   |-- ContactInfo
   |-- MetaData
         |-- OutputFormat = CUST
         |-- OutputDestination = QueueA
         |-- JMSProperties
              |-- RoutingCode = 123 (ASI= name=RoutingCode;type=Int)
              |-- Dept = FD (ASI= name=RoutingDept;type=String)

もう 1 つの例として、図 3 に、動的メタオブジェクトに含まれる属性 JMSProperties と、JMS メッセージ・ヘッダーの 4 つのプロパティー (ID、GID、RESPONSE、および RESPONSE_PERSIST) の定義を示します。属性のアプリケーション固有情報は それぞれの名前およびタイプを定義します。例えば、属性 ID はタイプ String の JMS プロパティー ID に マップされます。

図 3. 動的メタオブジェクトの JMS プロパティー属性

動的メタオブジェクトの作成のステップ

動的メタオブジェクトを実装するには、以下の手順を実行します。

  1. Business Object Designer を起動します。詳細については、「ビジネス・オブジェクト開発ガイド」を参照してください。
  2. 処理するときに動的メタオブジェクトを作用させる必要があるトップレベル・ビジネス・オブジェクトを開きます。
  3. 開いたトップレベル・オブジェクトに動的メタオブジェクトを子オブジェクトとして追加し、名前と値のペア cw_mo_conn=<MO attribute> をそのトップレベル・オブジェクトの ASI に追加します。ここで、<MO attribute> は、そのトップレベル・オブジェクトに含まれる、動的メタオブジェクトを表現する属性の名前です。以下に例を示します。
    Customer (ASI = cw_mo_conn=MetaData)
       |-- Id
       |-- FirstName
       |-- LastName
       |-- ContactInfo
       |-- MetaData
             |-- OutputFormat = CUST
             |-- OutputDestination = QueueA
    コネクターは、上の定義にあてはまる要求を受信すると、その要求 (Customer オブジェクト) をフォーマットが CUST のメッセージに変換し、キュー QueueA にそのメッセージを入れます。
  4. トップレベル・ビジネス・オブジェクトを保管します。

注:
複数のビジネス・オブジェクトで同じ動的メタオブジェクトを使用することも、それぞれで異なる動的メタオブジェクトを使用することもできます。また、動的メタオブジェクトを一切使用しなくてもかまいません。

Copyright IBM Corp. 2003, 2005