This chapter provides instructions for installing the Coherence C++ and .NET client distributions. There is no separate Java client distribution. Java extend clients are created using Coherence for Java.
This chapter includes the following sections:
The Coherence for Java distribution is used to build and use Java-based extend clients. To install Coherence for Java, see "Installing Oracle Coherence for Java" in the Developing Applications with Oracle Coherence.
The Oracle Coherence for C++ distribution is used to develop and run C++ extend clients. The latest version of the distribution can be downloaded from the Coherence product page on the Oracle Technology Network:
http://www.oracle.com/technology/software/products/ias/htdocs/coherence.html
This section contains the following topics:
Table 2-1 lists the supported platforms and operating systems for Coherence for C++:
Table 2-1 Platform and Operating System Support for Coherence for C++
Operating System | Compiler | Architecture |
---|---|---|
Microsoft Windows Server 2003+ |
MSVC 2010, MSVC 2012 |
x86, x64 |
Sun Solaris 10+ |
SPARC, x86, x64 |
|
Linux |
GCC 4.1.2+, GNU libc 2.5+ |
x86, x64 |
Apple OS X 10.7+Foot 3 |
GCC 3.4+ |
x64 |
Footnote 1 Specifically Sun C++ 5.9 SPARC Patch 124863-14 or later are supported.
Footnote 2 Specifically Sun C++ 5.9 x86/x64 Patch 124864-14 or later are supported.
Footnote 3 Including OS X Lion (10.7) and Mountain Lion (10.8)
When deploying on Microsoft Windows, just as with any MSVC based application, the corresponding MSVC run-time libraries must be installed on the deployment computer.
Visual Studio 2012: Resdistributable run-time libraries for x86 or x64.
http://www.microsoft.com/en-us/download/details.aspx?id=30679
Visual Studio 2010: Redistributable run-time libraries for x86 or x64.
x86:
http://www.microsoft.com/en-us/download/details.aspx?id=5555
x64:
http://www.microsoft.com/en-us/download/details.aspx?id=14632
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.
The Oracle Coherence for .NET distribution is used to develop and use .NET extend clients. The latest version of the distribution can be downloaded from the Coherence product page on the Oracle Technology Network:
http://www.oracle.com/technology/software/products/ias/htdocs/coherence.html
This section contains the following topics:
The following are required to use Coherence for .NET:
Microsoft .NET 2.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 200x and the Microsoft products listed here:
Microsoft Visual Studio 2008
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:
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. 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 uses 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.1.2.0 |
12.1.2.0.0 |
12.1.2.1 |
12.1.2.0.1 |
12.1.2.1000 |
12.1.2.1.0 |
12.1.2.1001 |
12.1.2.1.1 |
12.1.2.2010 |
12.1.2.2.10 |
12.1.2.10010 |
12.1.2.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.
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.
Compatibility for the extend protocol and POF is maintained between point releases (for example, 1.0, 1.1, and so on) but may not be maintained between major releases (for example, 1.0, 2.0, and so on).
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 version numbers (within 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 for patching purposes. It allows extend clients to upgrade to a new patch version before the proxy server and cluster is patched. However, extend clients cannot use the latest features and fixes until the cluster is also patched. A cluster should always be upgraded to the latest version as a best practice.
Coherence 12.1.2 Backward Compatibility Exception
Coherence 12.1.2 cluster proxies are backward compatible with version 3 extend clients (3.3, 3.4, 3.5, 3.6, and 3.7). That is, version 3 clients can connect to 12.1.2 cluster proxies. Backward compatibility in 12.1.2 is an exception to the Coherence*Extend major release compatibility policy that is described above. Cluster proxies beyond version 12.1.2 may not include the current exception and may not maintain backward compatibility.