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バージョン番号

14.1.1.0

14.1.1.0.0

14.1.1.1

14.1.1.0.1

14.1.1.1000

14.1.1.1.0

14.1.1.1001

14.1.1.1.1

14.1.1.2010

14.1.1.2.10

14.1.1.10010

14.1.1.10.10

ノート:

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

Coherence for .NETのデプロイ

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

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

拡張プロトコルでは、Extendクライアントとクラスタ・プロキシ間の上位バージョンと下位バージョンの両方の互換性がサポートされます。

つまり、クラスタ・プロキシは、古いバージョンと新しいバージョンの両方のExtendクライアントをサポートし、Extendクライアントは古いバージョンと新しいバージョンの両方のクラスタ・プロキシをサポートします。ExtendプロトコルとPOFの互換性はメジャー・リリースの2桁目が同じ場合(14.1、14.2など)は維持されますが、メジャー・リリースの1桁目が同じ場合(14.x、15.xなど)は維持されない可能性があります。

ノート:

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

Coherenceバージョン12.1.2.0.1では、Extendクライアントの下位バージョン互換性が導入されました。14.1.1.0.0 Extendクライアントは、12.1.2.0.1以降のクラスタ・プロキシに接続できます。14.1.1.0.0 Extendクライアントは、12.1.2.0.0および3.xクラスタ・プロキシには接続できません。

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

14.1.1.0のCoherence下位互換性の例外

一般に、拡張プロトコルとPOFの互換性は、2桁目のメジャーCoherenceリリース間で維持されますが(たとえば、バージョン14.1.xはバージョン14.2.xと互換性があります)、1桁目のメジャー・リリース間では維持されない場合があります(たとえば、バージョン14.xはバージョン15.xと互換性がない場合があります)。

拡張互換性ポリシーの例外として、Coherence 14.1.1.0拡張プロトコルとPOFのサポートはより幅広いバージョンに及びます。Coherence 14.1.1.0プロキシ・サーバーは、標準の拡張バージョン互換性サポートに加えて、バージョン12.x (12.2.1.4など) Extendクライアントとも互換性があります。Coherence 14.1.1.0 ExtendクライアントもCoherence 12.xプロキシ・サーバー(バージョン12.1.2.0.1以上)と互換性があります。

拡張互換性ポリシーに対するこの例外は、将来のCoherenceリリースには含まれない可能性があります。つまり、Coherenceプロキシ・サーバーの今後のリリースと14.1.1.0より新しいバージョンのExtendクライアントには、Coherence 12.xバージョンに対する追加のサポートが含まれない可能性があります。