N インスタンス・トラッキングおよびエラー・ホスピタルの統合

この付録では、インスタンス・トラッキングおよびエラー・ホスピタル・トラッキング機能について説明します。

この付録の内容は次のとおりです。

N.1 Oracle Enterprise Manager Fusion Middleware Controlのフロー・トレースおよびHealthcareコンソール間のメッセージのトラッキング

Oracle Enterprise Manager Fusion Middleware Controlのフロー・トレースとB2B/Healthcareコンソールの間で、メッセージのトラッキングが可能です。この機能は、JMSおよびメモリー内の両統合モードで使用できます。

JMS統合のドメイン全体でインスタンスとエラーのトラッキングを行う場合は、次のプロパティを使用します。

  • b2b.flowTraceEMURL (またはJMSチャネル・レベルで同じものを指定)

    このプロパティを使用して、Oracle Enterprise Manager Fusion Middleware Controlが利用し、キューからJMSメッセージを送信する際に使用するドメインに関する情報を指定します。

  • hc.hcReportsURL

    Oracle Enterprise Manager Fusion Middleware Controlが実行されているインスタンス上のSOA Suite for healthcare URLを指すように、このプロパティを構成します。このプロパティはb2b.b2bReportsURLのhealthcareプロパティと同じです。

詳細は、『Oracle B2Bの使用』Oracle Enterprise Manager Fusion Middleware制御フロー・トレースとB2B/Healthcareコンソール間でのメッセージの追跡に関する項を参照してください。

N.2 Oracle Enterprise Manager Fusion Middleware Controlのフロー・トレースXMLからのメッセージの状態のトラッキング

Oracle Enterprise Manager Fusion Middleware Controlからフロー・トレースXMLを介して、メッセージの状態の完全なトラッキングが可能です。この機能は、メモリー内統合でのみ使用できます。

通常、コンポジット・インスタンスの状態は、Healthcareのアプリケーション・メッセージに従います。アプリケーション・メッセージが完了とマークされると同時に、対応するコンポジット・インスタンスの状態が完了に更新されます。

既存のエラー通知メカニズム(例外メッセージを例外コンポジット/JMSキューに送信)は、そのまま正常に機能します。可能な場合は常に、通知メッセージは、元のビジネス・メッセージと同じフローIDに関連付けられます。

N.2.1 インバウンド・メッセージ

インバウンド・ドキュメントおよびコンポジットがデプロイされて、ドキュメントを受け取る場合、2種類の失敗が報告されることがあります。

  • ドキュメントが識別される前の失敗: ドキュメント自体が識別されず、コンポジット検出が可能でない場合、エラー報告は行われません。

  • ドキュメントが識別された後の失敗: コンポジットが検出され、コンポジットでフォルト・インスタンスが報告されます。例外コンポジットがデプロイされている場合、例外コンポジット・インスタンスは、報告されたフォルトと同じフローIDの一部です。

N.2.2 バッチでないアウトバウンド・メッセージ

バッチでないアウトバウンド・メッセージには、次の事項が適用されます。

  • メッセージがリモートTPに配信されるまで、メッセージの状態は「実行中」のままです。

  • 正常に配信されると、コンポジット・インスタンスの状態は「完了」とマークされます。

  • アウトバウンド処理の際に例外が発生すると、コンポジットの状態は「失敗」とマークされ、リカバリはB2B_RECOVERY_REQUIREDに設定されます。ユーザーは、B2B/Healthcareコンソールでメッセージのリカバリを行う必要があります。リカバリ状態は、B2Bエラーおよびhealthcareエラーの両方で同じです。

  • 次の場合は正しい処理が行われないため、コンポジットの状態は誤ったものになります。

    • Healthcareで否定のAckを受信すると、メッセージは「エラー」とマークされます。しかし、コンポジットの状態は「エラー」に更新されません。

    • Ackタイムアウトは追跡されません。Healthcareメッセージ自体は「エラー」状態ですが、コンポジットは「完了」状態のままです。

    • 完了済メッセージの再発行は、エラーを引き起こします。この場合、Healthcareがエラーを示しているにもかかわらず、フロー・インスタンスの状態は「完了」を示します。

    • バッチ処理のエラーを追跡するには、例外コンポジットに基づいて、バックエンドに送信される例外通知を利用する必要があります。バックエンドに配信される例外メッセージは、同じフローIDの一部として処理されます。

N.2.3 バッチのアウトバウンド・メッセージ

バッチのアウトバウンド・メッセージには、次の事項が適用されます。

  • バッチ処理メッセージがHealthcare内でステージングされ、保留メッセージ表に挿入されると同時に、コンポジット・インスタンスは「完了」とマークされます。バッチ処理プロセスの際、この状態を超えて例外が発生しても、元のコンポジットの状態には影響しません。

  • バッチ処理のエラーを追跡するには、例外コンポジットに基づいて、バックエンドに送信される例外通知を利用する必要があります。