eMatrix のビジネス・オブジェクト

WebSphere Business Integration Server Express システム内の有効なアプリケーション固有ビジネス・オブジェクトによって、eMatrix システムの必須のコンポーネントがモデル化されます。以下の eMatrix コンポーネントは、ビジネス・オブジェクトとしてモデル化することができます。

ビジネス・オブジェクト定義は、ビジネス・オブジェクト・レベルで定義されたアプリケーション固有情報 (ASI) の ematrix_class の値で表されているコンポーネントを指定します。上述の eMatrix コンポーネントに対応する 3 つの有効な ematrix_class の値については、次のセクションで説明します。

ビジネス・オブジェクトのタイプ

WebSphere Business Integration Server Express システムでは、eMatrix ビジネス・オブジェクト・タイプは、値が business_objectematrix_class を指定するビジネス・オブジェクト・レベルの ASI を含むビジネス・オブジェクト定義によって示されます。また、ASI には、この特定のビジネス・オブジェクトがモデルとなる eMatrix ビジネス・オブジェクト・タイプの名前を指定する object_type パラメーターが含まれていなければなりません。例えば、次のようになります。

ematrix_class=business_object; object_type=<name of eMatrix business object type>

eMatrix ビジネス・オブジェクト・タイプには、2 セットのフィールドが含まれています (従ってシステム内のそれらのビジネス・オブジェクト定義にも含まれます)。フィールド・セットは以下のとおりです。

ビジネス・オブジェクトを通じて提供される eMatrix プロパティーが、表 6 にリストされています。

注:
String 型の属性を使用して日付を表します。サポートされる日付形式については、eMatrix の資料を参照してください。

表 6. eMatrix ビジネス・オブジェクト・プロパティー
プロパティー 説明 予期される属性タイプ
object_id eMatrix オブジェクトの一意の ID String
Name eMatrix オブジェクトの名前 String
Revision eMatrix オブジェクト改訂番号 String
Policy eMatrix オブジェクトの制御ポリシー String
Owner eMatrix オブジェクトの所有者 String
State eMatrix オブジェクトの現在の状態 String
Vault このオブジェクトを格納する eMatrix ボールト String
to_relationship このオブジェクトがサポートする 1 つ以上の「関係先」 eMatrix 関係 eMatrix 関係をモデル化する子オブジェクト Cardinality = 1...n
from_relationship このオブジェクトがサポートする 1 つ以上の「関係元」 eMatrix 関係 eMatrix 関係をモデル化する子オブジェクト Cardinality = 1...n

eMatrix では、オブジェクト ID を通じて、またはタイプ、名前、および改訂の組み合わせを通じて、ユーザーがオブジェクトを識別します。そのため、すべてのビジネス・オブジェクトは、以下のいずれかを含んでいなければなりません。

これらは、ビジネス・オブジェクト定義内のキー値となります。例については 、ビジネス・オブジェクト定義の例を参照してください。

特定のビジネス・オブジェクト属性が eMatrix 属性にマップされるように指定するためには、以下を実行します。

  1. 属性を、string または integer などの単純タイプとして定義します。
  2. ビジネス・オブジェクト定義属性レベル ASI に、
     attr=<eMatrix attribute name>
    と記述します。

ビジネス・オブジェクト定義の例

表 7 に、PartNumber および Size の 2 つのユーザー定義 eMatrix 属性を含み、ASI プロパティー object_id にマップされるビジネス・オブジェクト定義を示します。

表 7. ビジネス・オブジェクト定義 #1
属性名 タイプ デフォルト値 アプリケーション固有情報 IsKey
ObjectId String prop=object_id はい
State String prop=state いいえ
PartNumber String ASX31 attr=PartNumber いいえ
Size Integer 15 attr=Size いいえ

表 8 に示すのは同じビジネス・オブジェクト定義ですが、eMatrix プロパティーの name および revision にマップされています。

表 8. ビジネス・オブジェクト定義 #2
属性名 タイプ デフォルト値 アプリケーション固有情報 IsKey
Name String AllSeasonX31 prop=name あり
Revision String 1 prop=revision あり
State String prop=state なし
PartNumber String ASX31 attr=PartNumber なし
Size Integer 15 attr=Size なし

関係

WebSphere Business Integration Server Express システムでは、eMatrix 関係は、値が relationshipematrix_class を指定するビジネス・オブジェクト・レベルの ASI を含むビジネス・オブジェクト定義によって示されます。また、ASI には、この特定のビジネス・オブジェクトがモデルとなる eMatrix 関係の名前を指定する object_type パラメーターが含まれていなければなりません。例えば、次のようになります。

ematrix_class=relationship; object_type=<name of eMatrix relationship type>

前述のビジネス・オブジェクト定義と同様に、eMatrix 関係を反映するビジネス・オブジェクト定義には、eMatrix プロパティー (固定) および属性 (ユーザー定義) の組み合わせを含めることができます。

表 9 に、関係プロパティーをリストします。

表 9. eMatrix 関係オブジェクト・プロパティー
プロパティー 説明 予期される属性タイプ
relationship_id eMatrix 関係の一意の ID String
to_object
この関係の関係先の eMatrix オブジェクト
eMatrix ビジネス・オブジェクトをモデル化する子オブジェクト Cardinality = 1
from_object
この関係の関係元の eMatrix オブジェクト
eMatrix ビジネス・オブジェクトをモデル化する子オブジェクト Cardinality = 1

すべての関係ビジネス・オブジェクト定義には、以下のデータが含まれていなければなりません。

注:
単一の関係が多くのオブジェクト・タイプをサポートできるため、関係オブジェクトには、to_object または from_object 属性のインスタンスが多く含まれています。しかし、関係が、親ビジネス・オブジェクトの to_relationship として定義される場合、関係オブジェクトは to_object の ID のみを持つことができます。同様に、親ビジネス・オブジェクトで from_relationship が定義される場合には、関係オブジェクトは from_object の ID のみを持つことができます。

関係定義は、以下のいずれかの書式で記述します。

--Business_Object_A
       | -- to_relationship = Relationship_A_to_B
                       | -- to_object = Business_Object_B

または

--Business_Object_A
       | -- from_relationship = Relationship_A_to_B
                       | -- from_object = Business_Object_B

例については、関係の例を参照してください。

関係の定義

アダプターは、ビジネス・オブジェクト定義で明示的にその関係を定義した場合のみ、異なるオブジェクト間の関係を認識できます。ビジネス・オブジェクト同士が関連する場合、アダプターは、ビジネス・オブジェクトを接続するために関係オブジェクトを必要とします。ビジネス・オブジェクト同士が関係オブジェクトによって接続されていない場合、関連しないものと見なされます。

例えば、次のようなビジネス・オブジェクトを定義します。

--Business_Object_A
       | -- to_relationship = Relationship_A_to_B
                       | -- to_object = Business_Object_B

そして親ビジネス・オブジェクト (オブジェクト A) で Retrieve を実行した場合、アダプターは A を取り込み、また、A から B への関係を通じて A に関係付けられているタイプ B のオブジェクトのみを取り込みます。

ただし、次のビジネス・オブジェクトでは異なる結果になります。

--Business_Object_D
       | -- Business_Object_E

このとき、親ビジネス・オブジェクト (オブジェクト D) で Retrieve を実行すると、アダプターは D を取り込み、また、D に関連するかどうかにかかわらずタイプ E のオブジェクトを取り込みます。この場合、ビジネス・オブジェクト E は、有効な検索基準を含む属性を持っていなければなりません。持たない場合はエラーとなります。

ビジネス・シナリオおよび関係に応じて、関連するビジネス・オブジェクトと関連のないビジネス・オブジェクトを定義中で結合することができます。例えば、以下のようなビジネス・オブジェクトを定義することができます。

--Business_Object_A
       | -- to_relationship = Relationship_A_to_B
                       | -- to_object = Business_Object_B
                     | -- Business_Object_D

ここで、ビジネス・オブジェクト A および B は互いに関連していますが、ビジネス・オブジェクト D はそのどちらにも関連していません。

関係の例

以下の 2 つの例では、それぞれのビジネス・オブジェクト定義内で関係の定義は異なっていますが、同じ方法で関連付けられています。

--Car
       | -- to_relationship = CarToTireRelationship
                       | -- to_object = Tire

--Tire
       | -- from_relationship = CarToTireRelationship
             | -- from_object = Car

コマンド・オブジェクト

WebSphere Business Integration Server Express システムでは、eMatrix コマンドは、command という値を使用して ematrix_class を指定する、ビジネス・オブジェクト・レベルの ASI を含むビジネス・オブジェクト定義で表現されます。例えば、次のようになります。

ematrix_class=command

コマンド・ビジネス・オブジェクト定義は、以下のような構造になっています。

図 3. コマンド・ビジネス・オブジェクト定義の構造

コマンド・オブジェクトには 2 つの属性があります。1 つはコマンドの入力を表し、もう 1 つはコマンドの出力を表します。 入力属性は必須であり、オブジェクトである必要があります。出力属性はオプションであり、ストリングまたはオブジェクトです。入力属性および出力属性は、対応する属性レベル ASI で識別されます (type=input または type=output)。

入力オブジェクトには、実行されるコマンド・ストリングと複数の変数が含まれ、この変数の値がコマンドに挿入されます。コマンド・ストリングは入力オブジェクトのビジネス・オブジェクト・レベル ASI に入れられ、command= プレフィックスで識別されます。次のスクリーン・ショットは、コマンドと入力変数を含む入力オブジェクトを示します。

図 4. 入力オブジェクト・コマンド

このスクリーン・ショットには、expand bus コマンドが含まれています。 入力オブジェクトの属性は、MQL インタープリターに送信される前にこのコマンド・ストリングに挿入される変数を表します (図 5 を参照)。

図 5. 入力オブジェクト属性

出力属性はストリングまたはビジネス・オブジェクトです。 ビジネス・オブジェクトの出力属性がストリングの場合、出力属性にはコマンドによって戻されるテキストが含まれます。出力属性がオブジェクトの場合、コマンドの結果はデータ・ハンドラーを介して渡され、その後ビジネス・オブジェクト階層に変換されます。 この場合、コマンド・オブジェクトの出力属性にはデータ・ハンドラーを起動する情報を含める必要があります。出力属性の ASI には、次のフィールドが追加される場合があります。

表 10. ASI 出力属性
ASI 出力属性 説明
dh_mo データ・ハンドラー・メタオブジェクト名を指定します
dh_mimetype データ・ハンドラーに渡される
MIME タイプ・コンテンツを指定します
dh_classname 完全修飾データ・ハンドラー
Java クラス名を指定します

次のスクリーン・ショットは、出力属性と、その対応する出力オブジェクトの例を示します。これらのスクリーン・ショットは、前出の入力オブジェクトのスクリーン・ショットとは関連していません。

図 6. コマンド・オブジェクト

注:
図 6 では、出力属性は属性レベル ASI type=output で識別されます。また、ASI には XML データ・ハンドラーを識別して起動する追加情報が含まれています。

注:
上記で示される入力オブジェクトおよび出力オブジェクトは、コマンド・オブジェクトの子オブジェクトではありません。

図 7. コマンド出力をキャプチャーするように割り当てられたビジネス・オブジェクト階層

注:
上の図で示されるビジネス階層は、MQL コマンドの出力をカプセル化する、単純 XML DTD を表します。

注:
コマンド・ビジネス・オブジェクトでサポートされる動詞は Create のみです。

ビジネス・オブジェクトの動詞

すべてのビジネス・オブジェクトは動詞を含んでおり、この動詞は、アプリケーション固有のビジネス・オブジェクト内のデータを eMatrix アダプターが 処理する方法を記述しています。

アダプターは、一意のオブジェクト ID を用いるか、またはタイプ、名前、および改訂の組み合わせを用いて、ビジネス・オブジェクトを識別します。これらはすべてユーザー定義のプロパティーです。詳細については、ビジネス・オブジェクトのタイプを参照してください。

アダプターは、eMatrix オブジェクトのクラスが異なる場合、同じ動詞について異なる解釈をします。アダプターは、ビジネス・オブジェクト定義内の ematrix_class の値を チェックしてから、ビジネス・オブジェクトを処理します。

表 11 に、Adapter for eMatrix で使用可能なビジネス・オブジェクト動詞をリストし、それぞれの動詞でアダプターが実行するアクションを説明します。

表 11. ビジネス・オブジェクト動詞とアクション
動詞 eMatrix クラス アクション
Create ビジネス・オブジェクト eMatrix 内で、1 つ以上の新規ビジネス・オブジェクトを関係と共に作成します。要求で指定された名前、タイプ、および改訂を使用します。ボールトとポリシーが指定されていればそれらを使用し、指定されていなければデフォルトを使用します。 指定された子オブジェクトと関係を作成します。
関係 すべての子オブジェクトは親オブジェクトと同じ動詞を持つ必要があるため、関係をそれぞれ独立して作成することはできません。すでに関係が存在しているオブジェクト間に新規の関係を作成するには、Update を使用します。
コマンド eMatrix システムでコマンドを実行し、要求オブジェクトに結果をすべて戻します。
Update ビジネス・オブジェクトおよび関係 1 つ以上の指定されたビジネス・オブジェクトおよびそれらの関係を更新します。例については後述します。
Delete ビジネス・オブジェクト 指定されたビジネス・オブジェクトを削除し、それに結び付けられた関係を自動的に削除します。すべての削除は物理的削除です。
関係 関係 ID が示す関係を削除します。その関係に結び付くビジネス・オブジェクトの接続を解除しますが、ビジネス・オブジェクトは削除しません。
Retrieve ビジネス・オブジェクトおよび関係 関係と、ビジネス・オブジェクト内の属性に対応する eMatrix ビジネス・オブジェクトを含む、ビジネス・オブジェクト全体を、eMatrix から取り込みます。 統合ブローカーに戻されるビジネス・オブジェクトは、ビジネス・オブジェクト定義内の構造を正確に反映していなければなりません。
RetrieveBy
Content
ビジネス・オブジェクトおよび関係 キー情報または非キー情報、あるいはその両方を使用して、eMatrix からビジネス・オブジェクト全体を取り込みます。一致が複数検出された場合は、最初の一致を戻し、「複数のヒット」を知らせるメッセージを送信します。
Exists ビジネス・オブジェクトおよび関係 トップレベル・ビジネス・オブジェクトが eMatrix 内に存在するかどうかを確認します。

動詞は、アプリケーション固有のビジネス・オブジェクト内部に含まれています。ビジネス・オブジェクトを作成するブローカーによって値が設定されます。アダプターは、動詞およびビジネス・オブジェクトの内容に応じて、eMatrix アプリケーション上で異なる操作を実行します。

アダプターは、ビジネス・オブジェクトを処理し、eMatrix システム内で必要なアクションを起動すると、状況コードを戻します。また、アプリケーションの状態に関する情報を含む新規ビジネス・オブジェクトを統合ブローカーに戻すこともあります。

属性プロパティー

ビジネス・オブジェクト定義には、それらのビジネス・オブジェクト属性で設定可能な、さまざまなプロパティーがあります。以下の表に属性とその値を示します。

表 12 には単純属性をリ ストしています。

表 12. 単純属性
属性 プロパティー
Name ビジネス・オブジェクトのフィールド名を指定します。
Type ビジネス・オブジェクトのフィールド・タイプを指定します。
MaxLength デフォルトは 255 です。
IsKey 各ビジネス・オブジェクトは、少なくとも 1 つのキー属性を持 つ必要があります。キー属性は、属性のキー・プロパティーを true に設定することで指定します。
IsForeighKey 使用されません。
Is Required 使用されません。
AppSpecInfo attr=<attribute name> などの、アプリケーション固有情報 (ASI) を格納します。
DefaultValue 必要な属性が設定されていない場合に、コネクターがインバウンド・ビジネス・オブジェクト内の単純属性用に使用するデフォルト値を指定します。

アプリケーション固有の情報

アプリケーション固有情報 (ASI) は、ビジネス・オブジェクトの処理方法に関するアプリケーション固有の指示を含むコネクターを提供します。ビジネス・オブジェクト定義を拡張または変更する場合は、定義内のアプリケーション固有情報が、コネクターが期待する構文と一致することを 確認する必要があります。

アプリケーション固有情報は、ビジネス・オブジェクトおよび各ビジネス・オブジェクト属性で指定することができ、各動詞ごとに指定することもできます。単純属性の場合、ASI は eMatrix 属性のタイプまたは eMatrix プロパティー (名前、改訂、ボールトなど) の名前のいずれかを指定します。子ビジネス・オブジェクトの場合、ASI は (eMatrix ビジネス・オブジェクトおよび関係を表すオブジェクト階層の) 関係の方向を指定します。

Copyright IBM Corp. 2004, 2005