Oracle Coherence is an essential ingredient for building reliable, high-scale clustered applications. The term clustering refers to the use of more than one server to run an application, usually for reliability and scalability purposes. Oracle Coherence provides all of the necessary capabilities for applications to achieve the maximum possible availability, reliability, scalability and performance. Virtually any clustered application will benefit from using Oracle Coherence.
One of the primary uses of Oracle Coherence is to cluster an application's objects and data. In the simplest sense, this means that all of the objects and data that an application delegates to Oracle Coherence are automatically available to and accessible by all servers in the application cluster, and none of those objects and none of that data will be lost in the event of server failure.
There are a lot of challenges in building a highly available application that exhibits scalable performance and is both serviceable and manageable. While there are many ways to build distributed applications, only Oracle Coherence reliably clusters objects and data. Once objects and data are clustered by Oracle Coherence, all the servers in the cluster can access and modify those objects and that data, and the objects and data managed by Oracle Coherence will not be effected if and when servers fail. By providing a variety of advanced capabilities, each of which is configurable, an application can achieve the optimal balance of redundancy, scalability and performance, and do so within a manageable and serviceable environment.