Developing with VMware GemFire®
Developing with VMware GemFire® explains main concepts of application programming with VMware GemFire®. It describes how to plan and implement regions, data serialization, event handling, delta propagation, transactions, and more.
For information about VMware GemFire REST application development, see Developing REST Applications for VMware GemFire®.
The VMware GemFire® data storage and distribution models put your data in the right place at the right time. You should understand all the options for data storage in VMware GemFire before you start configuring your data regions.
In addition to basic region management, partitioned regions include options for high availability, data location control, and data balancing across the cluster.
In addition to basic region management, distributed and replicated regions include options for things like push and pull distribution models, global locking, and region entry versions to ensure consistency across VMware GemFire members.
VMware GemFire ensures that all copies of a region eventually reach a consistent state on all members and clients that host the region, including VMware GemFire members that distribute region events.
For all regions, you have options to control memory use, back up your data to disk, and keep stale data out of your cache.
Data that you manage in VMware GemFire must be serialized and deserialized for storage and transmittal between processes. You can choose among several options for data serialization.
VMware GemFire provides versatile and reliable event distribution and handling for your cached data and system member events.
Delta propagation allows you to reduce the amount of data you send over the network by including only changes to objects rather than the entire object.
VMware GemFire provides a SQL-like querying language called OQL that allows you to access data stored in VMware GemFire regions.
Continuous querying continuously returns events that match the queries you set up.
VMware GemFire provides a transactions API, with
rollbackmethods. These methods are much the same as the familiar relational database transactions methods.
A function is a body of code that resides on a server and that an application can invoke from a client or from another server without the need to send the function code itself. The caller can direct a data-dependent function to operate on a particular dataset, or can direct a data-independent function to operate on a particular server, member, or member group.