3 クライアント・ディストリビューションのインストール

CoherenceではC++および.NETクライアント・ディストリビューションが提供され、必要に応じインストールできます。Javaクライアント用の別個のディストリビューションはありません。Java Extendクライアントは、Coherence for Javaを使用して作成されます。また、CoherenceのクラスタはJavaに実装されます。ただし、Coherence for Javaは、いずれかのクライアント・ディストリビューションを使用してインストールする必要があります。

この章の内容は次のとおりです。

Coherence for Javaのインストール

Coherence for Javaディストリビューションは、JavaベースのExtendクライアントの構築および使用の際に使用します。Coherence for Javaのインストールは、Oracle Coherence for Javaのインストールを参照してください。

C++クライアント・ディストリビューションのインストール

Oracle Coherence for C++ディストリビューションは、C++ Extendクライアントの開発および実行の際に使用します。ディストリビューションの最新バージョンは、Oracle Coherence Software Downloadsからダウンロードできます。

この項では、次の項目について説明します。

Coherence C++クライアントでサポートされている環境

表3-1は、Coherence for C++がサポートされているプラットフォームおよびオペレーティング・システムのリストです。

表3-1 Coherence for C++がサポートされているプラットフォームとオペレーティング・システム

オペレーティング・システム コンパイラ アーキテクチャ

Microsoft Windows Server: 2012R2+ クライアント: Windows 7以降

Visual Studio 2012、2013、2015、2017および2019

x86、x64

Oracle Solaris 10+

SunPro 5.9+脚注1脚注2

SPARC64、x64

Linux

GCC 4.8.5以降、GNU libc 2.1.7以降

x86、x64

Apple macOS 10.13以降脚注3

Xcode 9.4以降(GCC)

x64

脚注1

具体的には、Sun C++ 5.9 SPARCパッチ124863-14以降がサポートされています。

脚注2

具体的には、Sun C++ 5.9 x64パッチ124864-14以降がサポートされています。

脚注3

C++アプリケーションをApple OS Xでビルドする場合、コマンド"g++" ("CC"ではなく)を使用してコンパイルする必要があります。

Microsoft固有の要件

Microsoft Windowsにデプロイする場合は、他のVisual Studioベースのアプリケーションと同様に、対応するVisual Studioランタイム・ライブラリをデプロイメント・コンピュータにインストールする必要があります。

Coherence for C++ディストリビューションの抽出

Coherence for C++はZIPファイルとして配布されます。ZIPユーティリティまたはunzipコマンド行ユーティリティを使用して、ターゲット・コンピュータの任意の場所にZIPファイルを解凍します。抽出されたファイルは、coherence-cppという単一のディレクトリ内にまとめられています。

次の例では、unzipユーティリティを使用して、/optディレクトリ(UNIXベースのオペレーティング・システムで推奨されるインストール・ディレクトリ)にディストリビューションを抽出します。unzipユーティリティが使用できない場合は、ターゲットのオペレーティング・システムで提供されているZIPユーティリティを使用します。

unzip /path_to_zip/coherence-cpp-version_number-platform-architecture-compiler.zip -d /opt

次の例では、unzipユーティリティを使用して、Windowsオペレーティング・システムのC:\ディレクトリにディストリビューションを抽出します。

unzip C:\path_to_zip\coherence-cpp-version_number-platform-architecture-compiler.zip -d C:\

インストール・ディレクトリに含まれているディレクトリの説明は、次のとおりです。

  • bin – このディレクトリに含まれるsanka.exeは、共有ライブラリ内に埋め込まれている実行可能クラスを起動するアプリケーション・ランチャです。

  • doc – このディレクトリには、Coherence for C++に関するドキュメント(APIドキュメントを含む)が含まれています。

  • include - このディレクトリには、Coherence APIを使用し、アプリケーションとともにコンパイルする必要があるヘッダー・ファイルが含まれています。

  • lib – このディレクトリにはCoherence for C++ライブラリが含まれています。coherence.dllファイルは、開発およびランタイム用のメイン・ライブラリです。これについては、このドキュメント全体で詳細に説明します。

    ノート:

    • Visual Studio 2015、2017および2019をサポートするには、\lib\vs2015\coherence.dllを使用します。

    • Solarisでは、STLport、/lib/stlport/libcoherence.soを使用します。

.NETクライアント・ディストリビューションのインストール

Oracle Coherence for .NETディストリビューションは、.NET Extendクライアントの開発および使用の際に使用します。ディストリビューションの最新バージョンは、Oracle Coherence Software Downloadsからダウンロードできます。

この項では、次の項目について説明します。

前提条件

Coherence for .NETを使用するには、次のものが必要です。

  • Microsoft .NET 4.0以上のランタイムとSDK

  • サポートされているMicrosoft Windowsオペレーティング・システム(前述の該当する.NETランタイムのシステム要件を参照)

  • Visual Studioに含まれているMSHelp 2.xランタイム

  • Coherence for Javaディストリビューションの一部として提供されているexample.zipファイル内の例を構築および実行するには、Microsoft Visual Studio 2010以上が必要です

インストーラの実行

Coherence for .NETは、インストーラを含むZIPファイルとして配布されています。ZIPユーティリティまたはunzipコマンド行ユーティリティを使用して、ターゲット・コンピュータの任意の場所にインストーラを抽出します。次の例では、unzipユーティリティを使用して、C:\ディレクトリにインストーラを抽出します。

unzip C:\path_to_zip\coherence-net-version_number.zip -d C:\

インストーラを実行するには:

  1. ZIPファイルの抽出先のディレクトリで、coherence-net-version.msiファイルをダブルクリックします。
  2. インストーラの指示に従ってインストールを完了します。

ノート:

インストーラの実行中に、インストールをロールバックすると表示された場合は、実行モードのレベルを上げてインストーラを実行します。たとえば、管理者の権限でコマンド・プロンプトからMSIファイルを実行すれば、インストール・プロセスを完了できます。Windows 7の場合は、コマンド・プロンプトを右クリックして「管理者として実行」を選択します。

インストール・ディレクトリに含まれているディレクトリの説明は、次のとおりです。

  • bin – このディレクトリにはCoherence for .NETライブラリが含まれています。Coherence.dllファイルは、開発およびランタイム用のメイン・ライブラリです。これについては、このドキュメント全体で詳細に説明します。

  • config – このディレクトリには、Coherenceクライアント構成ファイル用のXMLスキーマと、Coherenceで定義したユーザー定義型に対するPOF構成ファイルが含まれています。

  • doc – このディレクトリには、Coherence for .NETに関するAPIドキュメントが含まれています。APIドキュメントは、HTMLヘルプ(Coherence.chm)、MSHelp 2.0およびMS Help Viewerです。

Coherence .NETバージョン番号マッピング

Coherenceアセンブリは、カスタム・バージョン番号マッピングを使用します。Oracleバージョン番号は5桁 (N.N.N.N.N)を使用しますが、.NETバージョン番号は4桁(N.N.N.N)までしか使用できません。.NETのバージョン規則をサポートするために、.NETのバージョンの4桁目にOracleの4桁目および5桁目を組み合せます。

.NETのバージョンの4桁目の作成には次の計算が使用されます:

.NET4桁目 = Oracle4桁目 * 1000 + Oracle5桁目

.NETのバージョンの4桁目をOracleのバージョンの5桁目に変換するには次の計算が使用されます:

Oracle4桁目 = int(.NET4桁目 / 1000)

Oracle5桁目 = .NET4桁目 - (Oracle4桁目 * 1000)

たとえば:

.NETバージョン番号 Oracleバージョン番号

12.2.1.0

12.2.1.0.0

12.2.1.1

12.2.1.0.1

12.2.1.1000

12.2.1.1.0

12.2.1.1001

12.2.1.1.1

12.2.1.2010

12.2.1.2.10

12.2.1.10010

12.2.1.10.10

ノート:

ロギングでは.NETの4桁目がOracleの4桁目および5桁目に変換されるため、JavaおよびC++のログ・メッセージと同じようにロギング・メッセージが表示されます。

Coherence for .NETのデプロイ

Coherence for .NETには、専用のデプロイメント構成は必要ありません。bin\フォルダにあるCoherence.dllへの参照を、Microsoft.NETアプリケーションに追加するのみです。

Coherence*Extendのバージョン間の互換性

Coherenceクライアント・ディストリビューションは、クラスタ・プロキシの前方互換性および後方互換性を両方ともサポートしています。

ExtendプロトコルとPOFの互換性はメジャー・リリースの2桁目が同じ場合(12.1、12.2など)は維持されますが、メジャー・リリースの1桁目が同じ場合(12.x、13.xなど)は維持されない可能性があります。

ノート:

互換性を維持するには、異なるCoherence*Extendバージョンのシリアライザに互換性が必要です。Java以外のクライアントの場合、互換性を維持するにはPOFを使用する必要があります。シリアライズにjava.io.Serializableを使用するJavaクライアントの場合、クライアントが使用するJava Standard Editionのメジャー・バージョンは、クラスタによって使用されるメジャー・バージョンと同じか、または差が1メジャー・バージョン内である必要があります。

12.1.2.0.1より前のリリースでは、Extendクライアントはクラスタ・プロキシとの前方互換性のみをサポートしています。つまり、Extendクライアントは、メジャー・リリースの2桁目が同じまたはそれ以降であるクラスタ・プロキシと接続可能です。

リリース12.1.2.0.1以降では、Extendクライアントはクラスタ・プロキシとの前方互換性および後方互換性を両方ともサポートしています。つまり、Extendクライアントは、より小さいバージョン番号またはより大きいバージョン番号のクラスタ・プロキシと接続可能です。たとえば、12.1.2.0.2のExtendクライアントは、12.1.2.0.1のプロキシに接続できます。Extendクライアントの後方互換性は、バージョン12.1.2.0.1より前のプロキシ(12.1.2.0.0およびバージョン3.7.1以前のプロキシ)ではサポートされていません。

Coherence 12.1.2.0.0のExtendクライアントは、12.1.2.0.0以降のクラスタ・プロキシが必要です。12.1.2.0.0以外(たとえば12.1.2.0.1や12.1.2.0.2)のCoherence 12.1.2のExtendクライアントでは、12.1.2.0.1以降のクラスタ・プロキシが必要です。

クラスタ・プロキシとの下位互換性は、アップグレードの利便性を目的とし、長期的なソリューションではありません。これによって、プロキシ・サーバーおよびクラスタが新しくなる前にExtendクライアントが新しいバージョンにアップグレードされることを可能にします。ただし、ベスト・プラクティスとしては、クラスタは常に最新バージョンにアップグレードしておく必要があります。Extendクライアントと接続されたサーバーのバージョンが異なる場合、Extendクライアントの機能は2つのリリースまたはパッチ・セットの古い方のバージョンに制限されます。