Many businesses use a combination of legacy code and ongoing development, typically written in separate languages. Other times there may be separate internal teams that have their own preferences of how applications should be created. Regardless of how businesses find themselves in this situation, at some point data will typically need to be shared.
While there are several methods of addressing this issue, including the traditional monolithic backend database, JBoss Data Grid’s compatibility mode allows applications to store data in a common cache, and then retrieve it using a method that is convenient for the application. Whether the data is written via C++, C#, Java, Node.js, REST, or another method, it will be automatically converted once retrieved.
Consider the following scenario:
In this scenario we have a shopping cart app using Node.js, which transmits user data to a backend JBoss Data Grid cache using the Node.js Hot Rod protocol. This data is then retrieved from the cache using the Java Hot Rod protocol by a separate application that uses User information to run reports on. There is a legacy C# application that uses this information for use with marketing promotions. In addition, the same information is retrieved from the cache by a separate system using the REST interface.
As we can see above, by enabling compatibility mode the data may be stored in a single location and then retrieved by multiple disparate sources.
Full instructions on enabling Compatibility Mode are found in the JBoss Data Grid Administration and Configuration Guide and the Developer Guide .