![]() |
![]() |
|
|
BEA TOP END クライアントから BEA Tuxedo サーバへのメッセージの送信
BEA TOP END クライアントは BEA Tuxedo サービスと TEDG を介して通信します。DMCONFIG ファイルの DM_LOCAL_SERVICES セクションで、TEDG サービスに対する SERVICE エントリに CONV=N が指定されている場合、BEA TOP END クライアントはそのサービスと要求/応答モードでのみ通信できます(CONV=N はデフォルト値であり、設定する必要はありません)。
BEA TOP END クライアントに対し、TEDG は リモート BEA TOP END ノード上の BEA TOP END サーバの機能を果たします。TEDG は BEA TOP END クライアント要求を受け取り、それを対応する BEA Tuxedo 要求にマッピングします。BEA Tuxedo システムは、BEA Tuxedo コンフィギュレーション内の任意の BEA Tuxedo サーバに要求をルーティングします。
BEA TOP END クライアントから BEA Tuxedo サーバに、要求/応答モードのメッセージは次のように送信されます。
TEDG と BEA TOP END クライアントの動作
クライアントの動作は任意の BEA TOP END クライアントで使用する関数と同じ関数でプログラミングされます。
使用する関数 |
目的 |
---|---|
tp_client_send |
非同期要求の作成 |
tp_client_signon |
非同期要求の作成 |
tp_client_receive |
応答の受信 |
これらの関数を通常の方法で使用し、TEDG を介して BEA Tuxedo サーバにサービス要求を行います。 BEA TOP END クライアントのプログラマは次の情報を把握していることが必要です。
BEA Tuxedo サービスが FML32 による入力をサポートしている場合、BEA TOP END クライアントは FML32 メッセージ・タイプを使用する必要があります。FML32 は、TEDG と異なるタイプの BEA TOP END ノード間を送信される場合、TEDG と BEA TOP END システムでデータ・マーシャリングがサポートされているため有用です。
BEA Tuxedo サービスはこれらのバッファ・タイプの 1 つ以上をサポートしています。
TEDG によるクライアント要求のマッピング
クライアント要求にはトランザクションに関与するものと関与しないものがあります。また、応答を要求しないものもあります。次の表は、BEA TOP END クライアントのフラグがどのようにマッピングされるかを示しています。これらのフラグを処理することにより、通常 BEA TOP END システムで行われるタスクを TEDG で実行することができます。TEDG への要求では、input_format および attach_info パラメータを使用しないでください。これらのパラメータはサポートされていません。
BEA TOP END クライアントに返されるステータス値および拡張されたステータス値は、標準の値です。エラー値 のマッピングについては、後の節で説明します。 TEDG は BEA Tuxedo システムまたはサーバの応答を、tp_client_receive(3T) 呼び出しを介して BEA TOP END クライアントがアクセスする応答にマッピングします。BEA Tuxedo サーバは CARRAY、 X_OCTET、または FML32 バッファの応答を送信します。CARRAY または X_OCTET バッファは、TEDG によって raw メッセージにマッピングされます。FML32 バッファは BEA TOP END FML32 メッセージにマッピングされます。さらに管理者は、応答バッファの型を CARRAY、X_OCTET、FML32 のいずれかに制限することができます。BEA Tuxedo サービスが互換性のないバッファを返すと、TEDG は TP_RESET ステータスを返します。 TEDG と BEA Tuxedo サーバの動作 BEA Tuxedo サーバに対し、TEDG は BEA Tuxedo クライアントの機能を果たします。つまり、マッピングされた BEA TOP END クライアント要求を通常の方法で受信します。受信するバッファのタイプは CARRAY、X_OCTET、または FML32 のいずれかであり、クライアントから送信されるメッセージに依存します。BEA Tuxedo サーバは要求を通常の方法で処理します。要求にはトランザクションに関与するものとしないものがあります。「応答なし」の要求もあります。 BEA Tuxedo サーバは tpreturn(3c) を使用してクライアント要求に応答します。TPSUCCESS は TP_OK BEA TOP END ステータスにマッピングされます。TPFAIL と TPEXIT、およびほかのいくつかのエラーは TP_RESET の BEA TOP END ステータスにマッピングされます。応答メッセージは TPSUCCESS でのみサポートされます。 注記 アプリケーション定義の戻りコード rcode は TEDG ではサポートされていません。 BEA TOP END システム、TEDG コンフィギュレーション、および BEA TOP END クライアントでサポートされているバッファ・タイプに応じて、BEA Tuxedo サーバは CARRAY、X_OCTET、または FML32 バッファの応答を送信します。応答バッファは BEA TOP END メッセージにマッピングされます。サーバは、TPFAIL エラーを送信するかまたは応答バッファにアプリケーション定義のフィールド値を設定して応答することにより、エラーを示します。BEA TOP END クライアントは、エラーに対処するようにプログラムされなければなりません。 BEA TOP END メッセージは 30K バイトに制限されているため、BEA Tuxedo サーバの応答はこのサイズを超えることはできません。FML32 メッセージに対しては、FML インデックスを除いたメッセージにこの制限が適用されます。 エラー値 TEDG、BEA Tuxedo システム、または BEA Tuxedo サーバに問題がある場合、通常の BEA TOP END エラー・ステータス・メッセージおよびその他のステータス・メッセージが BEA TOP END クライアントに返されます。1 つのエラー・ステータス値は、複数の原因のうちの 1 つにしかすぎない場合があることに注意してください。 TEDG が宣言するサービスは実際の BEA Tuxedo サービスの可用性に基づくわけではないので、実際にはそのサービスが利用できない BEA Tuxedo ノードにメッセージがルーティングされることもあります。その場合、ほかのルーティング決定では要求は正常に行われても、TP_SERVICE エラーが返されます。サービスを複数のノードで利用できる場合、BEA Tuxedo アプリケーション、BEA TOP END アプリケーション、および TEDG の設計ではこの種の障害が発生する可能性を考慮する必要があります。複数の再起動可能なサーバを定義したアプリケーションであれば、このようなエラーが発生する可能性は低くなります。
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|