A バックエンド・アプリケーション・インタフェース

この付録では、Oracle SOA Suite for healthcare integrationでサポートされているメッセージ・プロパティをリストします。

この付録には次のトピックがあります。

A.1 SCAの正規化されたメッセージ・プロパティのマッピング

SCAメッセージのプロパティはJMSアダプタ・プロパティにマップできます。

表A-1では、SCAの正規化されたメッセージ・プロパティをJMSアダプタ・プロパティにマップしています。

表A-1 AS11 SCAの正規化されたメッセージ・プロパティへのHealthcare IP_MESSAGE_TYPEのマッピング

SCA JMS

hc.messageId

MSG_ID

hc.replyToMessageId

INREPLYTO_MSG_ID

hc.fromEndpoint

FROM_ENDPOINT

hc.toEndpoint

TO_ENDPOINT

hc.action

ACTION_NAME

hc.documentTypeName

DOCTYPE_NAME

hc.documentProtocolVersion

DOCTYPE_REVISION

hc.messageType

MSG_TYPE

hc.conversationId

[-]

hc.interfacesequenceId

INTERFACE_SEQUENCE_ID

hc.interfacesequencediscardid

INTERFACE_SEQUENCE_DISCARD_ID

hc.groupCount

INTERFACE_GROUP_COUNT

[-]

INTERFACE_GROUP_POSITION

A.2 正規化されたメッセージ・プロパティ

ヘッダーの操作および伝播は、重要なビジネス統合メッセージング要件です。Oracle SOA Suite for healthcare integrationは、Oracle BPEL Process Manager、Oracle Mediator、Oracle JCAなどの他のSOAコンポーネントと同様、ヘッダー・サポートに基づいて統合要件に対応しています。 たとえば、メッセージ・ヘッダーを介してファイル名を伝播することで、そのファイル名をソース・ディレクトリからターゲット・ディレクトリに保存できます。

正規化されたメッセージには、プロパティとペイロードという2つの部分があります。通常、プロパティはスカラー型の名前-値のペアです。既存の複雑なヘッダーをプロパティに合せるために、プロパティはスカラー型にフラット化されています。

表A-2に、Oracle SOA Suite for healthcare integrationの正規化されたメッセージのあらかじめ決められたプロパティを示します。

表A-2 Oracle SOA Suite for healthcare integrationのプロパティ

プロパティ名 伝播可能(はい/いいえ) 方向(インバウンド/アウトバウンド) データ型 許容値 説明
hc.conversationId

いいえ

両方

文字列

[-]

メッセージをメッセージ・レスポンスに関連付けるために使用されるID

hc.documentDefinitionName

いいえ

両方

文字列

[-]

ドキュメント定義

hc.documentProtocolName

いいえ

両方

文字列

[-]

ドキュメント・プロトコル

hc.documentProtocolVersion

いいえ

両方

文字列

[-]

ドキュメント・バージョン

hc.documentTypeName

いいえ

両方

文字列

[-]

ドキュメント・タイプ(EDI X12ドキュメントの850など)

hc.fromEndpoint

いいえ

インバウンド

文字列

[-]

インバウンド・メッセージの受信元のエンドポイント名。

hc.messageId

いいえ

両方

文字列

[-]

一意のメッセージID。ECIDと直接は関係しません。(ECID情報はB2B AppMessage表に格納されます。)

hc.messageType

いいえ

両方

文字列

[-]

メッセージ・タイプの値は次のとおりです。

  • リクエスト = 1

  • レスポンス = 2

  • 機能確認 = 9

hc.replyToMessageId

いいえ

両方

文字列

[-]

送信メッセージの返信先メッセージID

hc.toEndpoint

いいえ

アウトバウンド

文字列

[-]

アウトバウンド・メッセージの配信先のエンドポイント名。

hc.interfacesequenceId

いいえ

両方

文字列

[-]

インバウンド・インタフェース順序メッセージの場合、このヘッダーがバックエンドに配信されます。

コンポジットまたはアプリケーションは、このヘッダーを読み取って同じヘッダーをアウトバウンド・メッセージに渡すように設計する必要があります。

アウトバウンド・メッセージがインタフェース順序メッセージとして認識されるには、このヘッダーを含める必要があります。この情報は、メッセージを互いに関連付けるために順序付けフレームワークによって使用されます。

hc.interfaceGroupCount

いいえ

アウトバウンド

文字列

[-]

このヘッダーは、メッセージがファンアウトされる際のアウトバウンド・メッセージに関連しています。(ソース・メッセージが複数の宛先に送信される際)

HCアダプタにメッセージをエンキューする際に、コンポジットはこのヘッダーを特定のソース・メッセージのファンアウト数に移入する必要があります。

hc.interfacesequencediscardid

いいえ

アウトバウンド

文字列

[-]

グループのすべてのメッセージが到着したかどうかの判断に使用するアウトバウンド・メッセージのかわりとなるダミーとして機能します。

たとえば、1つのメッセージをラボラトリと薬局の2つのフローに分割する必要があるとします。

ラボラトリの一部の条件に基づき、メッセージは配信すべきではないと決定されました。これを実現するには、"2"のGROUP_COUNTINTERFACE_SEQUENCE_DISCARD_IDフラグを付けてHealthcareにメッセージを送信する必要があります。

薬局フローは通常、INTERFACE_SEQUENCE_IDフラグを設定して"2"のGROUP_COUNTでメッセージを配信します。

INTERFACE_SEQUENCE_DISCARD_IDフラグの有無に基づいて、Healthcareはラボラトリ・メッセージを処理するかどうかを判断します。カウント・マッチング用メッセージがグループで使用された後、メッセージは無視されます。

INTERFACE_SEQUENCE_DISCARD_IDが単独で存在する場合、メッセージ・セット全体が廃棄され続けます。

INTERFACE_GROUP_POSITION (JMSヘッダー)

いいえ

アウトバウンド

文字列

[-]

グループ内の複数のメッセージ(INTERFACE_GROUP_COUNT)が同じエンドポイントに配信され、これらのメッセージ間で順序付けが強制される場合、INTERFACE_GROUP_POSITIONを使用してメッセージの順序を特定します。

最初に配信されるメッセージには値"1"が設定され、次のメッセージには値"2"が設定されます。メッセージがアウトバウンドHealthcareアダプタで受信されるかどうかに関係なく、これらのメッセージはその順序で配信されます。

A.3 Fusion Middleware Controlでの構成プロパティ

Oracle Enterprise Manager Fusion Middleware Controlでは、次の表にリストされるプロパティを設定できます。

Oracle Enterprise Manager Fusion Middleware Controlの表A-3プロパティ

プロパティ 説明
hc.sequencedEndpoints

共通のセパレータ値はALL、<EP_1>、<EP_2>です。

ALLの後に続くエンドポイントには順序が付けられません。この例では、<EP_1>および<EP_2>は順序付けがオフになります。

hc.queryOnLoad

これはTrue/Falseです。デフォルトはTrueです。

このフラグがFalseに設定されている場合、Healthcareではレポート・ページが初めてロードされるときにデータベースを自動的には問い合せません。Enterprise Managerにこのフラグが追加されていない場合、前の実装と動作の整合性がとられるようにTrueにデフォルト設定されます。

hc.faForPFF

これはTrue/Falseです。デフォルトはFalseです。

hc.retryIntervalForPFF

これは数値で、デフォルトは0です。

Healthcareでメッセージを再送信するときの間隔(分で指定)。メッセージのステータスが「完了」でない場合、Healthcareはメッセージの再送信を試行します。

hc.retryCountForPFF

これは数値で、デフォルトは0です。

Healthcareがメッセージを送る回数です。

hc.jmsAndDBSameTxn

このプロパティがTrueに設定されている場合、JMSに対するコミットはデータベースと同じトランザクションになります。データベースがロールバックされると、メッセージもJMSに対してコミットされません。

hc.HCMode

このプロパティがTrueに設定されている場合、FA_RETRY_TIMEOUTメカニズムを挿入すると、別のスレッドによって違う形で処理され、次の例外はログに記録されません。

B2B_ServiceEngine.FA_RETRY_TIMEOUT_0A9B961B149768C4DA40000059B3B986) referenced by the trigger does not exist
hc.customNACK

このプロパティは、次のシナリオでカスタムの確認のNACKをサポートします。

  • インバウンド・シナリオでコールアウト例外が発生すると、このプロパティに定義されているHealthcareはカスタムのNACKコンテンツを返します。

  • インバウンド・シナリオでB2B_EVENT_QUEUEのエンキューに失敗すると、このプロパティに定義されているHealthcareはカスタムのNACKコンテンツを返します。

どちらのシナリオでも、何も定義されていない場合にはデフォルトの「NACK」が返されます。