Hitachi

TPBroker Version 5 トランザクショナル分散オブジェクト基盤 TPBroker ユーザーズガイド


1.3.4 Java OTSの機能

Javaでアプリケーションプログラムを開発すると,Java OTSの機能を使用できます。

〈この項の構成〉

(1) OMG OTS仕様のJavaサポート

Java OTSは,C++に関連するサポート(C++実行環境が提供するサポート)以外のOTS 1.3インタフェースを提供します。これには,次のものが含まれます。

Java OTSは,直接コンテキスト管理および間接コンテキスト管理の両方をサポートします。OTSのインタフェース定義を使って直接コンテキスト管理および間接コンテキスト管理の両方をサポートするOTSを呼び出します。

Java OTSは,暗黙的プロパゲーションおよび明示的プロパゲーションの両方をサポートします。

なお,次に示すOTSインタフェースはJava言語をサポートしていません。

JavaアプリケーションでTXまたはXAインタフェースにアクセスするには,Javaアプリケーションとこれらのインタフェース間を中継するC++アプリケーションを作成する必要があります。

(2) ライトウェイトライブラリ

Java OTSの中心となる機能は,ライトウェイトクライアント/サーバライブラリです。Javaアプリケーションを実行するマシンには,デーモンや固定的な記憶領域は必要ありません。OTS環境の一部として,サーバマシン上のトランザクションコンテキストサーバデーモンが,トランザクショナルJavaアプリケーションから任されたすべてのトランザクションコンテキストを管理します。

(3) C++で開発したアプリケーションプログラムとの相互運用性

Javaで開発したアプリケーションプログラムには,C++で開発したアプリケーションプログラムとの完全な相互運用性があります。Javaアプリケーションは,TPBroker OTSを使用するC++アプリケーションにトランザクションをプロパゲーションすることができます。また,C++アプリケーションはJavaアプリケーションにトランザクションをプロパゲーションすることができます。

一般的に,Javaで開発したクライアントアプリケーションはC++で開発したサーバアプリケーションをトランザクションとともに呼び出します。C++で開発したサーバアプリケーションは,X/Open XAインタフェースを使用してデータベースにアクセスします。そして,クライアントアプリケーションはトランザクションをコミットします。

Java OTSは,同一プロセス上での,C++で開発したアプリケーションプログラムとJavaで開発したアプリケーションプログラムの混在をサポートしていません。例えば,Javaアプリケーション上でJava Native Interface(JNI)を使用してC++ライブラリを呼び出し,C++のAPIを使用することはできません。JavaとC++が混在するプログラムを使用しても,Java OTSはJavaプログラム上でC++のAPIをサポートしません。

JavaのコーディングはORBの通信を介してC++で開発したプログラムと協調します。このため,各言語のプログラムをシンプルにできます。