リアル・タイム・メッセージ

システムでは、外部システムにWebサービス・コール(つまり、リアル・タイム・メッセージの送信)を実行する機能をサポートしています。

システムでは、Eメール・メッセージをリアルタイムで送信する特別な機能をサポートしています。詳細は、「Eメールの送信」を参照してください。

その他のタイプのリアルタイム・メッセージについても、システムでは、アウトバウンド・メッセージ・タイプおよび外部システム構成を使用してメッセージを書式設定してルーティングします。リアル・タイム・メッセージの構成を定義する場合は、メッセージ・センダーを使用してメッセージをルーティングするメカニズムを定義する追加ステップが必要です。システムでは、HTTP経由およびJMS経由のメッセージのルーティングをサポートしています。HTTPルーティングの場合、システムではJSONフォーマットを使用したメッセージの送信もサポートしています。

リアルタイム・アウトバウンド・メッセージは、ほぼリアルタイム・メッセージと同様にスクリプトからも起動できます。追加したリアル・タイム・メッセージは、即時に外部システムにルーティングされます。外部システムが応答メッセージを返すと、システムはアウトバウンド・メッセージに対する応答を取得します。外部システムのアウトバウンド・メッセージ・タイプが応答XSLに関連付けられている場合は、応答に変換が適用されます。この場合、システムは、アウトバウンド・メッセージに対するRaw応答も取得します。アウトバウンド・メッセージ・ビジネス・オブジェクトを構成して、そのスキーマに応答XMLを取得する必要があることに注意してください。

(トラップ可能な)エラーによって、アウトバウンド・メッセージは「エラー」状態になります。コール・プロセスでは、アウトバウンド・メッセージの状態をチェックし、プログラム処理を実行します。アウトバウンド・メッセージ・ステータスが変更されて「保留」に戻ると、メッセージは再試行されます。

基本パッケージには、Webサービス・コールをさらに簡素化する、アウトバウンド・メッセージ・ディスパッチャ(F1-OutmsgDispatcher)およびアウトバウンド・メッセージ仲介(F1-OutmsgMediator)という2つのビジネス・サービスが用意されています。両方のビジネス・サービスは似ており、コール・スクリプトでは次の動作を構成できます(相違点に注意)。

  • メッセージの送信時に発生した例外がトラップされるかどうか。エラーをトラップすると、トラップされたエラーをコール・スクリプトが問い合せて、その他のプログラム処理を適用できます。
  • 送信したメッセージが実際のアウトバウンド・メッセージ・レコードとして永続化されるかどうか。
    • メッセージの永続化が必要な場合は、アウトバウンド・メッセージ・ディスパッチャを使用することをお薦めします。このビジネス・サービスは、標準のビジネス・オブジェクト処理を使用してメッセージを作成し、アウトバウンド・メッセージ・ロジックに依存してメッセージをルーティングし、レコードを格納します。メッセージは、ビジネス・オブジェクトの前処理アルゴリズムの後にレコードが永続された後、ビジネス・オブジェクトの後処理アルゴリズムおよび監査プラグインが実行される前にルーティングされます。アウトバウンド・メッセージIDをメッセージの一部として送信する必要がある場合、詳細は「メッセージでのアウトバウンド・メッセージIDの取得」を参照してください。

    • メッセージを永続化しない場合は、アウトバウンド・メッセージ仲介を使用することをお薦めします。前述のとおり、アウトバウンド・メッセージ・ディスパッチャはアウトバウンド・メッセージを作成し、アウトバウンド・メッセージ・ロジックに依存してメッセージをルーティングします。永続化されない場合は、その後削除されます。対照的に、アウトバウンド・メッセージ仲介は、ビジネス・オブジェクトの前処理アルゴリズムを実行してから、メッセージ・レコードを作成せずにメッセージを明示的にルーティングします。これは、永続化が必要ないシナリオの場合はより効率的です。アウトバウンド・メッセージ仲介でも永続化をサポートしていますが、これを実行するためには、ビジネス・オブジェクト処理を使用せずにレコードを作成します。これはお薦めしません。永続化が必要な場合は、ディスパッチャのほうが適しています。

詳細は、2つのビジネス・サービスの説明を参照してください。