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: 2022+クライアント: Windows 11以降

Visual Studio 2015、2017および2019

x86、x64

Linux

GCC 4.8.5以降、GNU libc 2.1.7以降

x86、x64、aarch64

Apple macOS 14+Foot 1

Xcode 15+ (GCC)

aarch64

脚注1

C++アプリケーションをApple macOSでビルドする場合、コマンド"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ファイルは、開発およびランタイム用のメイン・ライブラリです。これについては、このドキュメント全体で詳細に説明します。

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

Oracle Coherence for .NETディストリビューションは、.NET Extendクライアントの開発および使用の際に使用します。nugetパッケージとして公開されています。パッケージ名はCoherenceで、nuget.orgからダウンロードできます。

ノート:

14.1.2.0.0以降では、Coherence .NETクライアントは.NET 6.0以降をサポートしています。

以前の.NETバージョンでは、Coherence 14.1.1.xを使用します。14.1.1.xでは、.NET Core互換実装のパッケージ名はCoherence.Coreですが、.NET Framework 4.x互換実装のパッケージ名はCoherenceです。14.1.1.x .NETクライアントの詳細は、Oracle Coherenceのインストール(14.1.1.0).NETクライアント・ディストリビューションのインストールに関する項を参照してください。

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

前提条件

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

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

  • サポートされているMicrosoft Windowsオペレーティング・システム

Coherence .NETクライアントのインストール

Coherence for .NETは、nugetパッケージとして配布され、nuget.orgに公開されます。Microsoft Visual Studioまたは.NETコマンド行インタフェース(.NET CLI)からインストールできます。

  • Visual Studioを使用してCoherence for .NETをインストールするには、次のステップに従います:
    1. Visual Studioで、「プロジェクト」「NuGetパッケージの管理」の順に選択します。
    2. 「NuGetパッケージ・マネージャ」ページで、パッケージ・ソースとしてnuget.orgを選択します。
    3. 「参照」タブのリストでCoherenceを検索し、「インストール」を選択します。
  • .NET CLIツールを使用してCoherence for .NETをインストールするには、次のステップに従います:
    1. コマンド行インタフェースを開き、プロジェクト・ファイルを含むディレクトリに移動します。
    2. 次のコマンドを入力して、Coherence NuGetパッケージをインストールします: dotnet add package Coherence
      dotnet add packageコマンドは、Coherenceのパッケージ参照をプロジェクト・ファイルに追加し、dotnet restoreを実行してパッケージをインストールします。コマンドが終了したら、.csprojプロジェクト・ファイルを開いて、パッケージ参照が追加されたことを確認できます。
       <ItemGroup>
          <PackageReference Include="Coherence" Version="14.1.2.0" />
      </ItemGroup>

      デフォルトでは、dotnet add packageはパッケージの最新バージョンをインストールします。別のバージョンをインストールする場合は、-vまたは--versionスイッチを追加します。たとえば、dotnet add package Coherence.Core --version 14.1.1.13です

      ノート:

      14.1.1.xでは、Coherence.Coreは.NET Core互換実装のパッケージ名ですが、Coherenceは.NET Framework 4.x互換実装のパッケージ名です。

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.2.0

14.1.2.0.0

14.1.2.1

14.1.2.0.1

14.1.2.1000

14.1.2.1.0

14.1.2.1001

14.1.2.1.1

14.1.2.2010

14.1.2.2.10

14.1.2.10010

14.1.2.10.10

ノート:

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

Coherence for .NETのデプロイ

Coherence for .NETには、専用のデプロイメント構成は必要ありません。「Coherence .NETクライアントのインストール」の説明に従って、Coherence nugetパッケージへの参照を追加するだけです。

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メジャー・バージョン内である必要があります。

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

14.1.2.0.0のCoherence下位互換性の例外

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

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

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