Caché Java バインディング
Caché Java バインディングは、Java アプリケーション内で Caché オブジェクトを直接使用する簡単な方法を提供します。以下の方法で、Caché データベースと連動する Java アプリケーションを生成できます。
-
Caché Java バインディング — Caché Java バインディングを使用すると、Caché サーバ上のオブジェクトを直接使用して Java アプリケーションを実行できます。このバインディングにより、指定した Caché クラスの Java プロキシ・クラスが自動的に作成されます。各プロキシ・クラスは標準の Java コードのみで構成された Pure Java クラスであり、対応する Caché クラスのプロパティとメソッドに Java アプリケーションからアクセスできるようにします。
Caché Java バインディング は、同時実行性とトランザクションの制御を含め、オブジェクト・データベースの永続性を完全にサポートしています。また、Caché サーバと Java 環境を別々のマシン上に配置する場合でも、ネットワーク・トラフィックを最小限に抑える高度なデータ・キャッシング方式が採用されています。このメカニズムには、オブジェクトとリレーショナル間のマッピングやその他のミドルウェアは不要です。
-
Caché JDBC ドライバ — Caché は、JDBC バージョン 4.1 API をサポートするレベル 4 (Pure Java) JDBC ドライバを備えています。Caché JDBC ドライバは、Caché への高性能なリレーショナル・アクセスを提供します。JDBC と Caché Java バインディングをアプリケーションで同時に使用すれば、柔軟性を最大限に高めることができます。詳細は、"JDBC での Caché の使用法" を参照してください。
このドキュメントでは、Java および Java 標準ライブラリの基礎を理解していることを前提としています。Caché には、Java コンパイラや開発環境は含まれていません。
Java バインディング・アーキテクチャ
Caché Java バインディングにより、Java アプリケーションは、Caché サーバ内に格納されたオブジェクトにアクセスして操作することができます。これらは、Caché データベースに格納された永続オブジェクトか、Caché サーバ内で処理を実行する一時的なオブジェクトです。
Caché Java バインディングには、以下のコンポーネントが含まれます。
-
Caché Java クラス・ジェネレータ — クラス・コンパイラの拡張。Caché クラス・ディクショナリで定義されているクラスから Pure Java クラスを生成します。
-
Caché Java クラス・パッケージ — Caché Java クラス・ジェネレータが生成する Java クラスと連動し、Caché データベースに格納されたオブジェクトに Java クラスが透過的に接続できるようにする Pure Java クラス("Caché Java クラス・パッケージ" を参照してください)。
-
Caché オブジェクト・サーバ — Java クライアントと Caché データベース・サーバ間の通信を管理する高性能なサーバ・プロセスです。標準ネットワーク・プロトコル (TCP/IP) を使用して通信し、Caché がサポートしているプラットフォームであれば、どのプラットフォーム上でも動作します。Caché オブジェクト・サーバは、Java、JDBC、ODBC、C++、Perl、Python など、すべての Caché 言語バインディングで使用します。
クラス・コンパイラでは、Caché クラス・ディクショナリ内に格納されたあらゆるクラスに対して、Java クライアント・クラスを自動的に生成できます。このように生成された Java クラスは、Caché サーバ上の対応する Caché クラスと実行時に通信します。これらの Java クラスに含まれるのは Pure Java コードのみであり、マスタ・クラスの定義と自動的に同期されます。以下はその図です。
基本機能は以下のように動作します。
-
Caché 内で 1 つ以上のクラスを定義します。これらのクラスは、Caché データベースに格納される永続オブジェクト、または、Caché サーバで動作する一時的なオブジェクトです。
-
システムは、これらの Caché クラスに対応する Java クラスを生成します。これらの Java クラスには、サーバ上の Caché メソッドに対応するメソッドと、オブジェクトのプロパティにアクセスするためのアクセサ・メソッド (get と set) が含まれます。
-
実行時、Java アプリケーションは Caché サーバに接続します。その後、Caché サーバ内のオブジェクトに対応する Java オブジェクトのインスタンスを生成できます。これらのオブジェクトを、他の Java オブジェクトとして使用できます。Caché は、すべての通信とクライアント側のデータ・キャッシングを自動的に管理します。
実行時のアーキテクチャは以下のとおりです。
-
Caché データベース・サーバ (複数可)。
-
Java アプリケーションを実行する JVM (Java 仮想マシン)。Caché は JVM を提供しませんが、標準 JVM で動作します。プラットフォームに必要な Java Runtime Environment の入手方法は、http://Java.com/en/download/manual.jsp の "Java Downloads for All Operating Systems" を参照してください。
-
Java アプリケーション (サーブレット、アプレット、Swing ベースのアプリケーションを含む)。
-
実行時、Java アプリケーションは、オブジェクト接続インタフェースまたは標準 JDBC インタフェースのいずれかを使用して、Caché に接続します。Java アプリケーションと Caché サーバ間のすべての通信は、TCP/IP プロトコルを使用します。
インストールと構成
Caché Java バインディングを使用するすべてのアプリケーションは、Caché サーバと Java クライアントの 2 つの部分で構成されています。Caché サーバは、データベース処理と Caché オブジェクト・メソッドの実行を管理します。Java クライアントは、(追加されたビジネス・ロジックやユーザ・インタフェースなど) すべての Java コードの実行を管理します。アプリケーションの実行時、Java クライアントは TCP/IP ソケットを経由して Caché サーバに接続し、通信します。実際の配置構成はアプリケーション開発者が決定します。Java クライアントと Caché サーバは同じ物理マシンに配置することも、別々のマシンに配置することもできます。Caché のコピーを必要とするのは、Caché サーバ・マシンのみです。
Java クライアント要件
このリリース用のオンライン・ドキュメント "インターシステムズでサポートされるプラットフォームOpens in a new tab" には、すべての Java ベース・バインディング・アプリケーションの現在の要件が明記されています。
-
サポートされている Java リリースは、“サポート対象 Java テクノロジ” を参照してください。
-
サポートされている Java クライアント・プラットフォームは、“サポート対象クライアント・プラットフォーム:その他のプラットフォーム・サポート” を参照してください。
-
使用中のクライアント・アプリケーションと Caché サーバが同じバージョンの Caché 上で動作していない場合、バージョン間の互換性の詳細は、“サポート対象バージョン間の相互運用性” を参照してください。
Java バインディングのコア・コンポーネントは、cache-jdbc-2.0.0.jar および cache-db-2.0.0.jar という名前のファイルです。これらのファイルには、Caché サーバと通信するための接続とキャッシングのメカニズム、JDBC 接続性、およびリフレクション・サポートを提供する Java クラスが含まれています。クライアント・アプリケーションでは Caché のローカル・コピーを必要としませんが、Java プロキシ・クラスのコンパイル時または使用時には、cache-jdbc-2.0.0.jar ファイルおよび cache-db-2.0.0.jar ファイルがアプリケーションのクラス・パス上に存在している必要があります。これらのファイルの詳細は、"Caché Java クラス・パッケージ" を参照してください。
Caché サーバで Java クライアントを使用するのに、特別な構成はほとんど必要ありません。Caché が提供する Java サンプル・プログラムは、Caché を既定でインストールすると、変更を加えなくても動作します。このセクションでは、Java に関連するサーバ設定とそれらの変更方法について説明します。
Java クライアントが Caché サーバに接続するには、ユーザ名およびパスワードに加えて、サーバ IP アドレス、ポート番号、および Caché ネームスペースを指定した URL が必要です。
Java サンプル・プログラムは、以下の接続情報を使用します。
String url = "jdbc:Cache://127.0.0.1:1972/SAMPLES";
String user = "_SYSTEM";
String password = "SYS";
Java または JDBC のクライアント・アプリケーションを実行するには、インストール環境が以下の要件を満たしていることを確認してください。
-
クライアントは、互換性のあるバージョンの Caché サーバを現在実行しているマシンにアクセスできる必要があります (このリリース用のオンライン・ドキュメント "インターシステムズでサポートされるプラットフォームOpens in a new tab" の “サポート対象バージョン間の相互運用性” を参照してください)。クライアントとサーバは同じマシン上で動作できます。
-
クラス・パスに、使用中のバージョンの Java JDK に対応するバージョンの cache-jdbc-2.0.0.jar および cache-db-2.0.0.jar が含まれている必要があります (“Caché Java クラス・パッケージ” を参照してください)。
-
Caché サーバに接続するために、クライアント・アプリケーションに以下の情報が必要です。
-
Caché サーバが動作しているマシンの IP アドレス。Java サンプル・プログラムは "localhost" を使用します。サンプル・プログラムから別のシステムに接続する場合は、接続文字列を変更して、リコンパイルする必要があります。
-
Caché サーバが待ち受け状態にある TCP/IP ポート番号。Java サンプル・プログラムは 1972 を使用します。別のポートを使用する場合は、接続文字列を変更し、リコンパイルする必要があります。
-
有効な SQL ユーザ名とパスワード。SQL ユーザ名とパスワードは、管理ポータルの システム管理, セキュリティ, ユーザ ページで管理できます。Java サンプル・プログラムは、管理者のユーザ名 "_SYSTEM" と既定のパスワード "SYS" または "sys" を使用します。通常、サーバのインストール後に既定のパスワードを変更します。サンプル・プログラムで異なるユーザ名とパスワードを使用する場合は、ユーザ名とパスワードを変更した後でリコンパイルする必要があります。
-
クライアント・アプリケーションが使用するクラスとデータを含むサーバ・ネームスペース。Java サンプルは、Caché で事前にインストールされている SAMPLES ネームスペースに接続します。
-
Caché Java クラス・パッケージ
Caché Java クラス・パッケージを含むファイルは <install-dir>\Dev\java\lib\<java-release> にあります。<install-dir> はご使用の Caché インストール環境のルート・ディレクトリで、<java-release> は使用中の Java JDK に対応します。ご使用のシステムの <install-dir> の場所は、"Caché インストール・ガイド" の “Caché のインストール・ディレクトリ” を参照してください。サポート対象の Java リリースは、このリリース用のオンライン・ドキュメント "インターシステムズでサポートされるプラットフォームOpens in a new tab" の “サポート対象 Java テクノロジ” を参照してください。
Java クラス・パッケージは、以下のファイルに含まれています。
-
cache-jdbc-2.0.0.jar — このリスト内のその他のファイルはすべてこのファイルに依存しています。このファイルは、JDBC バインディング・アプリケーション用に単独で使用することができます。
-
cache-db-2.0.0.jar — ほとんどの Java バインディング・アプリケーションに必要です。
-
cache-extreme-2.0.0.jar — Caché eXTreme バインディング・アプリケーションにのみ必要です ("Caché eXTreme での Java の使用法" を参照してください)。
-
cache-gateway-2.0.0.jar — JDBC SQL ゲートウェイ・アプリケーションに必要です (“JDBC での Caché の使用法” の "JDBC での Caché SQL ゲートウェイの使用法" を参照してください)。
これらのパッケージの最も完全な最新情報は、<install-dir>\dev\java\doc\ の JavaDoc を参照してください。
チュートリアルと他のドキュメント
標準の Caché インストールには、チュートリアルや JavaDoc など、Caché で Java を使用するさまざまな方法について説明したさまざまなドキュメントが用意されています。
-
"Caché Java バインディングおよび JDBC クイックスタート・チュートリアル" では、Java バインディングを使用した作業の概要を示します。これには Java バインディング・アプリケーションの完全なサンプルが付属しています。
-
完全な JavaDoc は、Caché Java クラス・パッケージで利用できます。メインの index.html ファイルは、<install-dir>\dev\java\doc\ にあります (ご使用のシステムの <install-dir> の場所については、“Caché のインストール・ディレクトリ” を参照してください)。
-
このドキュメントのほか、以下のドキュメントでも、Caché で Java を使用するさまざまな方法を取り上げています。
-
JDBC での Caché の使用法 — Caché JDBC ドライバを使用して外部 JDBC データ・ソースに接続する方法について説明します。