Oracle® Fusion Middleware Oracle WebLogic Server Tuxedo Connector プログラマーズ ガイド 11g リリース 1 (10.3.1) B55532-01 |
|
戻る |
次へ |
以下の節では、Oracle WebLogic Tuxedo Connector サービス EJB の作成方法について説明します。
サービス アプリケーションは、Java および JATMI プリミティブを使用して、次のタスクを提供します。
サービス情報へのアクセス
バッファ メッセージ
要求されたサービスの実行
TPServiceInformation クラスを使用すると、サービスを実行するために Oracle Tuxedo クライアントによって送信されるサービス情報にアクセスできます。
アプリケーションと Oracle Tuxedo の間でメッセージの送信および受信を行う場合は、次の TypedBuffer を使用します。
表 3-2 TypedBuffer
バッファ タイプ | 説明 |
---|---|
TypedString |
データが NULL 文字で終了する文字の配列である場合に使用されるバッファ タイプ。Oracle Tuxedo の等価タイプ : STRING。 |
TypedCArray |
データが、NULL 可能な文字の未定義配列 (バイト配列) である場合に使用されるバッファ タイプ。Oracle Tuxedo の等価タイプ : CARRAY。 |
TypedFML |
データが自己定義である場合に使用されるバッファ タイプ。各データ フィールドは独自の識別子、オカレンス番号、および可能であれば長さインジケータを保持する。Oracle Tuxedo の等価タイプ : FML。 |
TypedFML32 |
TypeFML に似たバッファ タイプだが、より大きい文字フィールド、より多くのフィールド、およびより大きいバッファ全体に対して使用可能。Oracle Tuxedo の等価タイプ : FML32。 |
TypedXML |
データが XML ベースのメッセージである場合に使用されるバッファ タイプ。Oracle Tuxedo の等価タイプ : XML (Tuxedo リリース 7.1 以降)。 |
TypedVIEW |
VIEW 記述ファイルを用いてバッファ構造を定義するためにアプリケーションが Java 構造体を使用するとき、使用されるバッファ タイプ。Tuxedo の等価タイプ : VIEW。 |
TypedVIEW32 |
VIEW に似たバッファ タイプだが、より大きい文字フィールド、より多くのフィールド、およびより大きいバッファ全体に対して使用可能。Oracle Tuxedo の等価タイプ : VIEW32。 |
TypedXOctet |
データが、NULL 可能な文字の未定義配列 (バイト配列) である場合に使用されるバッファ タイプ。X_OCTET のセマンティクスは CARRAY と同じ。Oracle Tuxedo の等価タイプ : X_OCTET。 |
TypedXCommon |
VIEW のセマンティクスと同じバッファ タイプ。Oracle Tuxedo の等価タイプ : VIEW。 |
TypedXCType |
VIEW のセマンティクスと同じバッファ タイプ。Oracle Tuxedo の等価タイプ : VIEW。 |
TypedMBString |
マルチバイト文字をサポートするためにデータがマルチバイトの配列である場合に使用されるバッファ タイプ。Oracle Tuxedo の等価タイプ : MBSTRING。 |
サービスを提供するために必要なロジックを表現するには、Java コードを使用します。
クライアント リクエストに応答するには、TuxedoReply クラスの setReplyBuffer()
メソッドを使用します。
以下の JATMI プリミティブは、Oracle Tuxedo クライアントと通信する会話型サーバを作成する際に使用します。
表 3-3 Oracle WebLogic Tuxedo Connector の会話型クライアントのプリミティブ
名前 | 操作 |
---|---|
tpconnect |
Oracle Tuxedo 会話型サービスとの接続を確立するために使用する。 |
tpdiscon |
会話を管理するプロセスによって実行された場合に接続を中止し、TPEV_DISCONIMM イベントを生成するために使用する。 |
tprecv |
Oracle Tuxedo アプリケーションからオープンな接続を介してデータを受信するために使用する。 |
tpsend |
Oracle Tuxedo アプリケーションにオープンな接続を介してデータを送信するために使用する。 |
文字列引数を受信し、その文字列をすべて小文字に変換して、変換された文字列をクライアントに返す TolowerBean.java
サービス EJB の例を次に示します。
コード リスト 3-1 サンプル サービス EJB
. . . public Reply service(TPServiceInformation mydata) throws TPException { TypedString data; String lowered; TypedString return_data; log("service tolower called"); data = (TypedString) mydata.getServiceData(); lowered = data.toString().toLowerCase(); return_data = new TypedString(lowered); mydata.setReplyBuffer(return_data); return (mydata); } . . .