![]() |
![]() |
|
|
BEA Tuxedo サーバ
BEA Tuxedo サーバとは、クライアントに対して 1 つ以上のサービスを提供するプロセスです。サービスとは、クライアントが処理を要求する特定のビジネス・タスクです。サーバは、クライアントから要求を受け取り、それらを適切なサービス・サブルーチンにディスパッチします。
サーバの基本的な動作
サーバのビルドでは、サービス・サブルーチンと、BEA Tuxedo システムで提供される main() プロセスとがアプリケーションによって組み合わされます。この main() 関数はシステムによって提供され、定義済みの関数から構成されています。この関数は、サーバの初期化と終了を行ったり、バッファを割り当てて、要求を受信してサービス・ルーチンへのディスパッチを行ったりします。このすべての処理は、アプリケーションに透過的です。
次の図は、サーバとサービス・ルーチン間の相互作用を示す疑似コードです。
要求/応答型サーバとサービス・サブルーチンの疑似コード
初期化後、サーバはバッファの割り当てを行い、要求メッセージがメッセージ・キューに登録されるまで待機し、その要求をキューから取り出してサービス・サブルーチンに送り、要求を処理します。応答が必要な場合は、その応答は要求処理の一部と見なされます。 会話型パラダイムは、次の図の疑似コードで示すように、要求/応答型パラダイムとは多少異なります。 会話型サービス・サブルーチンの疑似コード
BEA Tuxedo システム提供の main() プロセスには、プロセスをサーバとして登録し、サービスを宣言し、バッファを割り当て、キューから要求メッセージを取り出すために必要なコードが記述されています。ATMI 関数は、要求を処理するサービス・サブルーチンで使用されます。サービス・サブルーチンのコンパイルとテストを行う準備ができたら、これらをサーバの main() とリンクして、実行可能サーバを生成します。その場合、buildserver コマンドを実行します。 要求元としてのサーバ クライアントが複数のサービスや同じサービスを複数回要求する場合、サービスのサブセットを別のサーバに転送して実行することができます。その場合、サーバはクライアント、つまりサービスの要求元として動作します。つまり、クライアントとサーバの両方が要求元になることができます。ただし、クライアントは要求元にしかなれません。このようなモデルは、BEA Tuxedo の ATMI 関数を使用すると簡単にコーディングできます。 注記 要求/応答型サーバも、要求を別のサーバに転送できます。その場合、サーバはクライアント (要求元) としては動作しません。応答を必要としているのは、要求を転送したサーバではなく、元のクライアントだからです。
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|