This chapter includes the following sections:
This section contains the following topics:
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 2010, 2012, 2013, 2015, and 2017 |
x86, x64 |
Sun Solaris 10+ |
SPARC64, x64 |
|
Linux |
GCC 4.4.7+, GNU libc 2.2.5+, GNU libc++ 3.4.11+ |
x86, x64 |
Apple OS X 10.10+Foot 3 |
Xcode 6 (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").
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.
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 includes sanka.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. The coherence.dll
file is the main development and run-time library and is discussed in detail throughout this documentation.
Note:
For Visual Studio 2015 and 2017 support, use \lib\vs2015\coherence.dll
.
For Solaris, STLport, /lib/stlport/libcoherence.so
.
This section contains the following topics:
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
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:
coherence-net-
version
.msi
file.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. The Coherence.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.
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.
Note:
Compatibility requires the use of POF, because POF can support backward compatible serialization changes.
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.
Coherence 12.2.1 Backward Compatibility Exception
Coherence 12.2.1 cluster proxies are backward compatible with version 3 extend clients. That is, version 3 clients can connect to 12.2.1 cluster proxies. Backward compatibility in 12.2.1 is an exception to the Coherence*Extend major release compatibility policy. Cluster proxies beyond version 12.2.1 may not include the current exception and may not maintain backward compatibility.