Production Instruction Meta Object フレームワークは、コネクター内部での特定の種類のオブジェクト操作を実行するための抽象的な手段を提供します。TCP/IP のアダプターの場合、この手段を使用すると、メッセージ・データの前処理および後処理が実行できます。この手段そのものの詳細は、付録C. アダプターの処理で説明しますが、このフレームワークが使用する主なメタオブジェクトは、情報をすべて記載するためにここで説明します。
PIMO の処理は、1 組のマッピング・メタオブジェクトによって配列された一連の変換が基本になります。マップ階層の最上位は、BIA_MO_Tcpip_MapSubscriptions オブジェクトです。
このオブジェクトに該当する属性は次のとおりです。
MO レベルの属性 | 説明 |
---|---|
Inbound | イベント・モード処理で PIMO が使用するマップの組を示します。この例では 2 つのマップを使用します。 |
+BIA_InputMessage_CheckComplete | 子属性。複数のオブジェクトを分離するために使用するマッピング・メタオブジェクト (BIA_Map_InputMessage_to_InputMessage) が格納されます。BIA_MO_DataHandlerService オブジェクトの SupportMultipleMessages 値は true に設定されていることが前提です。 |
+BIA_InputMessage | 子属性。メインの HL7 データから LLP ヘッダーおよびトレーラーを削除するときに使用するマッピング・メタオブジェクト (BIA_Map_InputMessage_to_LLPMessageList) が格納されます。
詳細については、後述のセクションを参照してください。 |
Outbound | サービス呼び出し要求モード処理で PIMO が使用するマップの組を示します。この例では 1 つのマップを使用します。 |
+BIA_ApplicationMessage | 子属性。マッピング・メタオブジェクト (BIA_Map_ApplicationMessage_to_
InputMessage) が格納されます。
|
BIA_Map_InputMessage_to_LLPMessageList マップ・オブジェクトには、前述のマップ・サブスクリプション・メタオブジェクトの例で示したインバウンド・マッピング処理の 2 番目の段階を実行するために PIMO が必要とする手順が記録されています。
このオブジェクトに該当する属性は次のとおりです。
マップ BO レベルの属性 | 説明 |
---|---|
Port | 各 PIMO マップ・オブジェクトには、IPort と OPort の 2 つのポートがあります。これらは、BIA_InputMessage_to_LLPMessageList_Port の例で定義されています。
これらは、送信元オブジェクト (この例では BIA_InputMessage) と宛先オブジェクト (この例では BIA_LLPMessageList) の予想タイプを示しています。 |
Declaration | PIMO マップ・オブジェクトには、処理中に使用する一時変数の名前が書き込まれている Declaration オブジェクトが組み込まれている場合があります。この例では、Declaration オブジェクト (BIA_Map_InputMessage_to_
LLPMessageList_Declaration) に、「contentText」という名前が入っています。
|
Action | 各 PIMO マップ・オブジェクトは、処理を実行する実際のクラスとメソッドを指す情報が格納されている Action オブジェクト (ここでは BIA_Map_InputMessage_to_LLPMessageList) を 1 つ以上備えています。
|
PIMO マップ・オブジェクトに格納されている Action オブジェクトによって定義されるアクションごとの ASI 値は、次のとおりです。
定義されたアクションごとのアプリケーション固有の情報 | 説明 |
---|---|
type ="nativeStatic" | 呼び出される Java クラスの静的メソッドを示します。現在、PIMO がサポートしているのは、静的メソッドのみです。
|
class = | Java クラスの完全修飾名です。この例の場合、クラスは com.ibm.adapters.tcpip.messagehandlers パッケージの LLPMessagingProtocolHandler クラスです。 |
method = | 呼び出されるメソッドです。この例では、メソッドは parseInputMessageToLLPMessages メソッドです。 |
target = | 戻されたデータの格納場所です。この例では、データの格納先は Declaration 属性に作成された変数 contentText です。 |
var1, var2 ... varx | メソッドに渡されるパラメーターのオープン・リストです。このリストにおける変数の順序と数は、メソッドが予想するパラメーターの順序と数に完全に一致する必要があります。この例では、var1 と var2 は、それぞれ Port 属性の IPort および OPort になります。 |