|
|
|
|
|
BEA TOP END クライアントから BEA Tuxedo サーバへのメッセージ送信
BEA TOP END クライアントは、要求/応答モードと同じように、会話モードで要求を BEA Tuxedo サーバに送信します。TEDG は 以下の表に基づいてサーバとの会話を管理します。
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 クライアント要求を通常の方法で受信します。TEDG はメッセージを送信した後、常に制御権を放棄します。その結果、
受信するバッファのタイプは CARRAY、X_OCTET、または FML32 のいずれかであり、クライアントから送信されるメッセージに依存します。BEA Tuxedo サーバは要求を通常の方法で処理します。クライアント要求にはトランザクションに関与するものとしないものがあります。
BEA Tuxedo サーバはクライアント要求に対し通常の方法で応答します。会話を継続する場合、TPRECVONLY フラグおよびデータとともに tpsend(3c) を呼び出します。この場合、サーバはさらに tprecv(3c) を呼び出して、次のクライアント・メッセージ、エラー表示、または会話が終了したことの通知 (TPEV_DISCONIMM) を受信しなければなりません。会話の最後のメッセージを送信するには、TPSUCCESS フラグを設定して tpreturn(3c) を呼び出します。会話を終了してエラーを示すには、TPFAIL フラグを設定して tpreturn() を呼び出します。応答メッセージは tpsend または TPSUCCESS でのみサポートされます。アプリケーション定義の戻りコード rcode は TEDG ではサポートされていません。
BEA TOP END システム、TEDG コンフィギュレーション、および BEA TOP END クライアントでサポートされているバッファ・タイプに応じて、BEA Tuxedo サーバのバッファは CARRAY、X_OCTET、または FML32 バッファのいずれかになります。このバッファは、「TEDG によるクライアント要求のマッピング」 で説明するとおり BEA TOP END メッセージにマッピングされます。サーバは、TPFAIL を呼び出すかまたは応答バッファにアプリケーション定義のフィールド値を設定して応答することにより、エラーを示します。BEA TOP END クライアントはそれに従ってプログラミングされなければなりません。会話を終了するには、クライアントは tp_client_signoff(3T) を呼び出すか、または別のサービスを呼び出す関数スイッチを実行して、対話を終了します。
BEA TOP END メッセージは 30K バイトに制限されているため、BEA Tuxedo サーバの応答はこのサイズを超えることはできません。FML32 メッセージに対しては、FML インデックスを除いたメッセージにこの制限が適用されます。
TEDG による BEA Tuxedo サーバのフラグのマッピング
次の表は、フラグが BEA Tuxedo サーバ応答を送信する関数 tpsend(3c) にどのようにマッピングされるかを示しています。ほかのすべてのフラグ (TPNOBLOCK、TPNOTIME、TPSIGRSTRT) はアプリケーションにローカルであるか、または BEA Tuxedo システム内のサーバと TEDG 間対話にのみ影響します。
|
BEA Tuxedo サーバのフラグ |
動作 |
|---|---|
|
TPRECVONLY |
このフラグには on を設定しなければなりません。設定しないと、TEDG は対話をリセットし、TP_RESET および拡張ステータス TP_EXT_SERVER_APPL を返します。 |
|
TPSENDONLY |
TEDG は対話をリセットし、TP_RESET および拡張ステータス TP_EXT_SERVER_APPL を返します。 |
エラー値 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.
|