vFabric GemFire was built to scale Java environments. In this release, GemFire 7 can now store up to 40 TB of data in memory and provide for a massive, Java-ready, in-memory “data grid of record” or co-exist with an existing database as a distributed cache.
On a more basic front, many Java development shops are already using GemFire and Spring to “drop in” some fairly simple, straightforward, yet powerful scale improvements. For example, Spring GemFire and in-memory session management are helping to scale and modernize applications built on J2EE and traditional databases.
While GemFire 7 steals the thunder, vFabric’s latest series of releases offer improvements to a number of key technologies:
- Elastic Memory for Java 1.2.0 (EM4J) provides additional improvements to help virtualize and scale Java environments by optimizing memory use.
- vFabric Data Director 2.5 expands virtual database administration capabilities from Oracle and Postgres to include MS SQL Server and Hadoop.
- vFabric Administration Server 1.1.1 adds more advanced configuration automation and increases support to vFabric SQLFire and vFabric Web Server to expand from vFabric GemFire, vFabric RabbitMQ, and vFabric tc Server.
- Erlang distribution for RabbitMQ has been made simpler and easier for developers who might be interested in developing loosely coupled, burstable architectures with components like the Java AMQP client library to message in polyglot or even mainframe environments.
Here are five key ways that GemFire 7.0 changes the game for Java Developers:
1. Support for JSON
vFabric GemFire now supports the use of JSON-formatted documents natively. When you add a JSON document to a GemFire cache, you call the JSONFormatter APIs to transform it into the PDX format (as a PdxInstance), which allows GemFire to understand the JSON document at a field level. You can perform the same GemFire operations on the JSON document that you can perform on a PdxInstance. See Adding JSON Documents into the GemFire Cache in the vFabric GemFire User's Guide for more information.
2. Deploy/Undeploy JARs Dynamically
You can now dynamically deploy your single or multiple application JAR files to specific members or to all members in your distributed system. GemFire automatically keeps track of JAR file versions and provides conveniences such as autoloading the deployed JAR files to the CLASSPATH and auto-registering any functions that are contained within the JAR.
3. Support Function Execution on Member Groups
By grouping nodes differently, you can now target them for JAR application deployment and perform a process called Function Execution. GemFire’s Function Execution Service can be used on groups of nodes and partitioned data to achieve a map-reduce way of operating on distributed data and query data where it is located.
4. Spring Release Integration for Spring Data GemFire
Release coordination is now part of the plan. The Spring Data Gemfire 1.2.1 release added Spring XML namespace support for the new WAN APIs. Spring Data Gemfire 1.2.0 provided complete Sprign XML namespace support for all GemFire resources and Spring Data Rrepositories for GemFire.
5. Better App Server HTTP Session Management Integration
Now, it’s easier to use GemFire to scale sessions for JBoss, WebSphere, WebLogic, Tomcat, and vFabric tc Server. Integration of the module now only requires the addition of a single 'filter' element into the web application's web.xml file. You are no longer required to wrap every servlet and extend every JSP page from a special class. The modify_war script has been enhanced to ease integration of the module with EAR files. Using the script, it is now possible to build a self-contained EAR file which includes all necessary libraries to enable session replication.
GemFire has a ton of other new capabilities from faster WAN capabilities to new monitoring and management to support for Memcached clients. See this article for more on all the latest info and links to the release notes.