![]() ![]() ![]() ![]() |
この章では、UML シーケンス ダイアグラムを示し、Oracle Service Bus ランタイムを使用したメソッド呼び出しのフローについて説明します。
図 A-1 のシーケンス ダイアグラムに、Oracle Service Bus ランタイムでの着信メッセージのフローを示します。
最初に、HTTP Servlet などの着信アーティファクトが、クライアント要求を受け取ります。転送プロバイダが、InboundTransportMessageContext と呼ばれるデータ構造を作成します。メッセージ コンテキストが、要求のヘッダをメタデータ オブジェクトにパッケージ化し、HTTP ストリームのペイロードを特定の Oracle Service Bus ソース オブジェクトに変換します。転送プロバイダは、転送マネージャを呼び出し、メッセージを受信します。転送マネージャがメッセージを処理し、Oracle Service Bus ランタイムでの処理に渡します。Oracle Service Bus ランタイムは、メッセージ コンテキストのサービス、サービスのバージョン、およびその他の情報を要求します。また、処理に必要なメタデータおよびペイロードについても要求します。ランタイムは、応答メタデータおよび応答ペイロードを作成するよう MessageContext に要求し、その後で close()
を呼び出します。クライアントに応答が返されます。
図 A-2 のシーケンス ダイアグラムに、Oracle Service Bus ランタイムでの発信メッセージのフローを示します。
Oracle Service Bus ランタイムは、メッセージを外部サービスにルーティングします。転送プロバイダは要求のメタデータおよび TransportSender オブジェクトを作成します。このオブジェクトには、ペイロード、サービス品質および再試行に関する情報が含まれます。次に、プロバイダは、(転送サブシステムの中心となるハブである) TransportManager を呼び出し、メッセージを非同期で送信します。TransportManager は、転送プロバイダを呼び出しメッセージを送信します。転送プロバイダは OutboundTransportMessageContext を作成します。その後、転送プロバイダは、メタデータ、ペイロードおよびその他の情報を要求し、適切なアクションを実行します。たとえば、JMS メッセージの場合、転送プロバイダは、JMS API を使用してヘッダおよびペイロードにデータを設定し、プロトコル固有の送信操作を呼び出します。
応答を受信すると、転送プロバイダは TransportSendListener オブジェクトを呼び出します。最終的に、転送マネージャが応答パイプラインを呼び出します。パイプライン アクションが実行された後、発信エンドポイントが閉じられます。
サービスを登録する際は、ウィザードの指示に従って、Oracle Service Bus Console の複数のページで設定を行います。図 A-3 に、サービスの登録プロセスを示します。基本的な手順は以下のとおりです。
最後に、転送プロバイダは、エンドポイント コンフィグレーションを検証し、新しいエンドポイントを登録するよう求められます。エンドポイントは、アクティブ化が実行された後にのみ作成されます。
![]() ![]() ![]() |