Open Gitter Chat
FREE, online, self-paced, learning for Hazelcast at the Hazelcast Training Center. Learn More »

JCache Provider

Hazelcast and JCache

Today’s applications, whether they are newly developed or long-time proven, need predictable latency and fast response time to reach their growing mass of users.

Caching has fast, low latency access to data. Caching does this by keeping in memory:

  • The data that are slow to calculate, process, or query
  • The data that originate from other underlying backend systems, such as disk-based storage systems where caching minimizes disk access for frequently used data

JCache standardizes caching for the Java platform: it is a common mechanism to create, access, update, and remove information from caches. It will accelerate mainstream adoption of in-memory computing by giving all Java developers an easy-to-use and standard way to access memory from within Java. Enterprises will greatly benefit from the increased speed and scalability of applications written to take advantage of JCache, and will be able to change providers without having to rewrite their applications or maintain a proprietary bespoke cache abstraction layer.

Hazelcast®, the leading open source in-memory data grid, enables organizations to seamlessly integrate with JCache. The JCache caching layer API—specified by the Java Community Process (JCP) as Java Specification Request (JSR) 107—provides a standard set of operations specialized for caching use cases. These operations can help to scale out applications and manage their high-speed access to their frequently used data. Hazelcast smoothly achieves its caching potential with a 100 percent compliant implementation that transparently registers with the JCache subsystem.

Client-Server and Cluster-Only

Hazelcast provides multiple ways for you to use JCache, depending on your deployment strategies, security aspects, or usage patterns. You can use Hazelcast as a client-server or a cluster-only architecture.

Hazelcast JCache Architecture

Hazelcast JCache Architecture Diagram

Client-Server architectures are used for high-security environments where:

  • Different clients might have diverging sets of security policies
  • Multiple applications will access the same cache pool
  • The environment is deployed on frontend and backend server clusters, such as Tomcat and JBoss

Cluster-only architectures are commonly used with embedded caches. These caches are kept in the memory of the application cluster for the highest possible access speed.

With both client-server and cluster-only, Hazelcast offers:

  • Elasticity
  • Scalability (the cache can be sized up and down)
  • Transparent integration with backend systems, such as databases using JCache CacheStore and CacheLoader interfaces
  • Management of the cluster through your web browser with Management Center

Hazelcast also provides you with:

  • Distributed computing capabilities across the cluster
  • Continuous queries for complex event processing
  • Pub/sub, a high-speed topic message system for transmitting messages inside the cluster or between clients and servers

Hazelcast IMDG