コネクターのビジネス・オブジェクト要件は、SWIFT データ・ハンドラーによる SWIFT メッセージと WebSphere ビジネス・オブジェクトの相互変換の方法を反映しています。
以下のセクションでは、WebSphere ビジネス・オブジェクトの要件と SWIFT メッセージ構造について説明します。SWIFT データ・ハンドラーが WebSphere ビジネス・オブジェクト および SWIFT メッセージとどのように対話するかの詳細については、SWIFT データ・ハンドラーを参照してください。
「ビジネス・オブジェクト開発ガイド」を再度参照してください。
WebSphere のビジネス・オブジェクトには、フラットなものと階層構造のものがあります。フラット・ビジネス・オブジェクトの属性はいずれも単純であり、各属性によって単一の値 (例えば String、Integer、Date など) が表されます。
単純属性に加えて、階層ビジネス・オブジェクトには、1 つの子ビジネス・オブジェクト、子ビジネス・オブジェクトの配列、またはその両方の組み合わせを表す属性があります。そして、子ビジネス・オブジェクトも、それぞれ自身の子ビジネス・オブジェクトまたはビジネス・オブジェクトの配列を持つことができます。この関係は階層の下に向かって続きます。
親ビジネス・オブジェクトと子ビジネス・オブジェクト間の関係は 2 種類あります。
WebSphere では、ビジネス・オブジェクトに言及する場合に以下の用語を使用します。
ビジネス・オブジェクト・アーキテクチャーで、属性に適用するさまざまなプロパティーを定義します。このセクションでは、コネクターがこれらのプロパティーのいくつかを解釈する方法を解説します。これらのプロパティーの詳細については、「ビジネス・オブジェクト開発ガイド」の第 2 章『ビジネス・オブジェクトの属性および属性プロパティー』を参照してください。
ビジネス・オブジェクトの内部にある各ビジネス・オブジェクト属性は、一意の名前を持つ必要があります。この名前はその属性が格納するデータを示すものにしてください。
アプリケーション固有ビジネス・オブジェクトの場合は、特定の命名要件についてコネクターまたはデータ・ハンドラーの資料を確認してください。
名前は、80 文字までの英数字および下線にすることができます。スペース、句読点、特殊文字を入れることはできません。
各単純属性のカーディナリティーは 1 です。子ビジネス・オブジェクトまたは子ビジネス・オブジェクトの配列を表す各ビジネス・オブジェクト属性のカーディナリティーはそれぞれ 1 または n です。
各ビジネス・オブジェクトの少なくとも 1 つの属性をそのオブジェクトのキーとして指定する必要があります。属性をキーとして定義するには、このプロパティーを true に設定します。
子ビジネス・オブジェクトを表す属性をキーとして指定する場合は、そのキーは子ビジネス・オブジェクトのキーを連結したものです。子ビジネス・オブジェクトの配列を表す属性をキーとして指定する場合は、そのキーは配列の位置 0 にある子ビジネス・オブジェクトのキーを連結したものです。
Foreign Key プロパティーは、一般的には、アプリケーション固有のビジネス・オブジェクトにおいて、ある属性の値が別のビジネス・オブジェクトの基本キーを保持することを指定するために使用します。この属性は、これら 2 つのビジネス・オブジェクトをリンクする手段として機能します。別のビジネス・オブジェクトの基本キーを保持する属性のことを、foreign key と呼びます。Foreign Key プロパティーは、外部キーを表す各属性に対して true に設定してください。
Foreign Key プロパティーは、他の処理命令にも使用することができます。例えば、このプロパティーは、コネクターが実行する外部キー検索の種類を指定する目的でも使用できます。この場合、Foreign Key を true に設定すれば、コネクターは、データベース内に該当のエンティティーが存在するかどうかを調べ、そのエンティティーのレコードが存在している場合に限って関係を作成します。
Required プロパティーは、属性に対する値の指定が必要であるかどうかを指定します。作成しているビジネス・オブジェクトの特定の属性に値が必要な場合は、その属性の Required プロパティーを true に設定します。
属性に対する Required プロパティーの強制については、「Connector Reference: C++ Class Library」および「Connector Reference: Java Class Library」の『initAndValidateAttributes()』のセクションを参照してください。
AppSpecificInfo プロパティーは、主にアプリケーション固有ビジネス・オブジェクトに指定する 255 文字以下の String です。
Max Length プロパティーには、String 型の属性に格納できるバイト数を設定します。この値を WebSphere システムが強制することはありませんが、特定のコネクターまたはデータ・ハンドラーがこの値を使用する場合があります。許可されている最小長および最大長については、ビジネス・オブジェクトを処理するコネクターまたはデータ・ハンドラーの資料を参照してください。
Default Value プロパティーは、属性に対してデフォルト値を指定するために使用します。
アプリケーション固有のビジネス・オブジェクトに対してこのプロパティーが指定されている場合、UseDefaults コネクター構成プロパティーが true に設定されていれば、コネクターは、実行時に値が指定されていない属性に値を設定するために、ビジネス・オブジェクト定義に指定されたデフォルト値を使用できます。
Default Value プロパティーの使用方法については、「Connector Reference: C++ Class Library」および「Connector Reference: Java Class Library」の『initAndValidateAttributes()』のセクションを参照してください。
Comments プロパティーによって、人間にとって読みやすいコメントを属性に指定できます。 AppSpecificInfo プロパティーがビジネス・オブジェクトの処理に使用されるのに対し、Comments プロパティーは、文書情報のみを備えています。
ビジネス・オブジェクトの単純属性には、特殊値 CxIgnore を格納することができます。コネクターは統合ブローカーからビジネス・オブジェクトを受け取ると、CxIgnore という値を持つすべての属性を無視します。まるでコネクターにはそれらの属性が見えないかのように処理されます。
値が不要な場合、コネクターはデフォルトで その属性の値を CxIgnore に設定します。
ビジネス・オブジェクト属性の場合、アプリケーション固有テキストのフォーマットは名前と値のパラメーターからなります。名前と値のパラメーターにはそれぞれパラメーター名とその値が含まれています。属性アプリケーション固有テキストのフォーマットは次のとおりです。
name=value[:name_n=value_n][...]
各パラメーター・セットは、次のパラメーター・セットとコロン (:) 区切り文字によって区切られます。
表 21
で、属性アプリケーション固有テキストの名前と値のパラメーターについて説明します。
表 21. 属性の AppSpecificText 内の名前と値のパラメーター
パラメーター | 必須 | 説明 |
---|---|---|
block | トップレベル・オブジェクトの場合のみ必須 | SWIFT メッセージ内のブロックの数。0 から 5 までの値の範囲。SWIFT メッセージ・ブロックの詳細については、"SWIFT メッセージ構造の概要"を参照してください。 |
parse | トップレベル・オブジェクトの属性の場合のみ必須 | SWIFT メッセージ・ブロックを解析するかどうかと、その方法を説明します。値は、fixlen (固定長として解析)、delim (区切られたテキストとして解析)、field (ブロック 4 のみ)、no (解析せず単一のストリングとして処理) です。 |
tag | タイプ Tag ビジネス・オブジェクトの属性の場合は必須。 | フィールドのタグ番号。SWIFT メッセージ・タグの詳細については、付録 C, SWIFT メッセージ構造を参照してください。Sequence ビジネス・オブジェクトおよび Field ビジネス・オブジェクトの詳細については、"ブロック 4 ビジネス・オブジェクトの構造"を参照してください。 |
letter=a | Tag ビジネス・オブジェクトを指す各属性の場合は必須 | SWIFT メッセージ・フォーマットでタグに付加される 1 つ以上のサポートされた文字。例えば、20A または [A|B|NULL] (A または B またはヌル)。NULL は、文字が使用される可能性のないタグや、文字オプションがまったくないタグに対して指定する必要があります。例えば、タグ 59 です。 |
content | いいえ | SWIFT メッセージ・フォーマットの修飾子。例えば、SWIFT メッセージ MT502、tag20C では、修飾子は SEME。 |