3 Installing a Client Distribution
This chapter includes the following sections:
- Installing Coherence for Java
The Coherence for Java distribution is used to build and use Java-based extend clients. - Installing the C++ Client Distribution
The Oracle Coherence for C++ distribution is used to develop and run C++ extend clients. - Installing the .NET Client Distribution
The Oracle Coherence for .NET distribution is used to develop and use .NET extend clients. - Compatibility Between Coherence*Extend Versions
Coherence client distributions support both forward and backwards compatibility with cluster proxies.
Installing Coherence for Java
Parent topic: Installing a Client Distribution
Installing the C++ Client Distribution
This section contains the following topics:
- Supported Environments for Coherence C++ Client
- Microsoft-Specific Requirements
- Extracting the Coherence for C++ Distribution
Parent topic: Installing a Client Distribution
Supported Environments for Coherence C++ Client
Table 3-1 lists the supported platforms and operating systems for Coherence for C++:
Table 3-1 Platform and Operating System Support for Coherence for C++
Operating System | Compiler | Architecture |
---|---|---|
Microsoft Windows Server: 2012R2+ Client: Windows 7+ |
Visual Studio 2012, 2013, 2015, 2017, and 2019 |
x86, x64 |
Oracle Solaris 10+ |
SPARC64, x64 |
|
Linux |
GCC 4.8.5+, GNU libc 2.1.7+ |
x86, x64 |
Apple macOS 10.13+Foot 3 |
Xcode 9.4+ (GCC) |
x64 |
Footnote 1
Specifically Sun C++ 5.9 SPARC Patch 124863-14 or later are supported.
Footnote 2
Specifically Sun C++ 5.9 x64 Patch 124864-14 or later are supported.
Footnote 3
When building C++ applications with Apple OS X, you must compile with the command "g++" (as opposed to "CC").
Parent topic: Installing the C++ Client Distribution
Microsoft-Specific Requirements
When deploying on Microsoft Windows, just as with any Visual Studio based application, the corresponding Visual Studio runtime libraries must be installed on the deployment computer.
Parent topic: Installing the C++ Client Distribution
Extracting the Coherence for C++ Distribution
Coherence for C++ is distributed as a ZIP file. Use a ZIP utility or the unzip
command-line utility to extract the ZIP file to a location on the target computer. The extracted files are organized within a single directory called coherence-cpp
.
The following example uses the unzip
utility to extract the distribution to the /opt
directory which is the suggested installation directory on UNIX-based operating systems. Use the ZIP utility provided with the target operating system if the unzip
utility is not available.
unzip /path_to_zip/coherence-cpp-version_number-platform-architecture-compiler.zip -d /opt
The following example extracts the distribution using the unzip
utility to the C:\
directory on the Windows operating system.
unzip C:\path_to_zip\coherence-cpp-version_number-platform-architecture-compiler.zip -d C:\
The following list describes the directories that are included in installation directory:
-
bin
– This directory includessanka.exe
, which is an application launcher that is used to invoke executable classes embedded within a shared library. -
doc
– This directory contains Coherence for C++ documentation including the API documentation -
include
– This directory contains header files that use the Coherence API and must be compiled with an application. -
lib
– This directory includes the Coherence for C++ library. Thecoherence.dll
file is the main development and run-time library and is discussed in detail throughout this documentation.Note:
-
For Visual Studio 2015, 2017, and 2019 support, use
\lib\vs2015\coherence.dll
. -
For Solaris, STLport,
/lib/stlport/libcoherence.so
.
-
Parent topic: Installing the C++ Client Distribution
Installing the .NET Client Distribution
This section contains the following topics:
- Prerequisites
- Running the Installer
- Coherence .NET Version Number Mapping
- Deploying Coherence for .NET
Parent topic: Installing a Client Distribution
Prerequisites
The following are required to use Coherence for .NET:
-
Microsoft .NET 4.0 or higher runtime and SDK
-
Supported Microsoft Windows operating system (see the system requirements for the appropriate .NET runtime above)
-
MSHelp 2.x runtime, which is included in Visual Studio
-
Microsoft Visual Studio 2010 or higher is required to build and run the examples in the
example.zip
file that is provided as part of the Coherence for Java distribution
Parent topic: Installing the .NET Client Distribution
Running the Installer
Coherence for .NET is distributed as a ZIP file which contains an installer. Use a ZIP utility or the unzip
command-line utility to extract the installer to a location on the target computer. The following example extracts the installer using the unzip
utility to the C:\
directory:
unzip C:\path_to_zip\coherence-net-version_number.zip -d C:\
To run the installer:
- From the directory where the ZIP was extracted, double-click the
coherence-net-
version
.msi
file. - Follow the instructions in the installer to complete the installation.
Note:
If the installer indicates that it is rolling back the installation, then run the installer in elevated execution mode. For example, executing the MSI file from a command prompt that was started as an Administrator should enable the installation process to complete. For Windows 7, right-click the command prompt and select run as Administrator.
The following list describes the directories that are included in the installation directory:
-
bin
– This directory includes the Coherence for .NET library. TheCoherence.dll
file is the main development and run-time library and is discussed in detail throughout this documentation. -
config
– This directory contains XML schemas for Coherence client configuration files and also includes a POF configuration file for Coherence-defined user types. -
doc
– This directory contains Coherence for .NET API documentation. The API documentation is available as: HTML Help (Coherence.chm
), MSHelp 2.0, and MS Help Viewer.
Parent topic: Installing the .NET Client Distribution
Coherence .NET Version Number Mapping
A Coherence assembly uses a custom version number mapping. Oracle version numbers use 5 digits (N.N.N.N.N
), but .NET version numbers can only have up to 4 digits (N.N.N.N
). To support the .NET version convention, the 4th and 5th Oracle digits are combined for the 4th .NET version digit.
The following calculation is used to create the 4th .NET version digit:
4th .NET digit =
4th Oracle digit
* 1000 +
5th Oracle digit
The following calculations are used to convert the 4th .NET version digit to the 4th and 5th Oracle version digits:
4th Oracle digit = int
(4th .NET digit
/ 1000)
5th Oracle digit =
4th .NET digit
- (
4th Oracle digit
* 1000)
For example:
.NET Version Number | Oracle Version Number |
---|---|
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 |
Note:
For logging, the .NET 4th digit is converted to the Oracle 4th and 5th digits so that logging messages appear the same as Java and C++ log messages.
Parent topic: Installing the .NET Client Distribution
Deploying Coherence for .NET
Coherence for .NET requires no specialized deployment configuration. Simply add a reference to the Coherence.dll
found in the bin\
folder to your Microsoft.NET application.
Parent topic: Installing the .NET Client Distribution
Compatibility Between Coherence*Extend Versions
Coherence client distributions support both forward and backwards compatibility with cluster proxies.
Compatibility for the extend protocol and POF is maintained between the second digit of major releases (for example, 12.1, 12.2, and so on) but may not be maintained between the first digit of major releases (for example, 12.x, 13.x, and so on).
Note:
Compatibility requires that the serializers in the different Coherence*Extend
versions be compatible. For non-Java clients, compatibility requires the use of POF.
For Java clients that use java.io.Serializable
for serialization,
the major version of Java Standard Edition used by the client must be the same as,
or within one major version of, that used by the cluster.
Prior to version 12.1.2.0.1, extend clients only support forward compatibility with cluster proxies. That is, extend clients can connect to cluster proxies that have either the same or higher second digit of a major release.
Starting with version 12.1.2.0.1, extend clients support both forward and backward compatibility with cluster proxies. That is, extend clients can connect to cluster proxies that have lower or higher version numbers. For example, a 12.1.2.0.2 extend client can connect to a 12.1.2.0.1 proxy. Extend client backward compatibility is not supported on proxy versions prior to 12.1.2.0.1, including 12.1.2.0.0 and proxy versions 3.7.1 or earlier.
Coherence 12.1.2.0.0 extend clients require 12.1.2.0.0 or later cluster proxies. Coherence 12.1.2 extend clients other than 12.1.2.0.0 (for example 12.1.2.0.1 and 12.1.2.0.2) require 12.1.2.0.1 or later cluster proxies.
Backward compatibility to cluster proxies is intended as an upgrade convenience and not as a long term solution. It allows extend clients to upgrade to a new version before the proxy server and cluster. However, a cluster should always be upgraded to the latest version as a best practice. When an extend client and the server it connects to are on different versions, the extend client is limited to the functionality of the older of the two releases or patch set versions.
Parent topic: Installing a Client Distribution