NCache 4.6 - Online Documentation

Portable Data Types (.NET & Java)

To share data among heterogeneous applications, most messaging solutions require building a self-descriptive application if it is based on message text. It becomes the responsibility of the application to use a format for the data so that it can be decoded by the receiving application's code. If you use the XML data format, it encounters performance problems.
In addition, a highly concurrent application environment with several publishers has a greater chance of race conditions causing problems with data integrity. Messaging systems have no inherent relationship between process control messages or messages to multiple destinations’ messaging (queues or topics) capabilities.
Most messaging solutions are actually designed to support multiple protocols, flexibility in terms of message reliability and more. However, when it comes to opposing applications like Java wishing to share data with .NET, you can build heavy heads or interpretation of payload based message encoding / decoding / text message delivery settings, message correlation, research data bases before sending your message across.
NCache comes with the feature of data types portability for heterogeneous applications through cache, with binary protocol which boosts the performance by reducing traffic and data size with the help of Compact Serialization. To explain this feature, we will take examples of product entities having attributes id, name, quantity, price and category.
The Data Type Portability feature will allow .NET client applications to fetch objects of Product class from cache which is inserted by Java client application and will successfully deserialize to .NET Product class and vice versa.
You only have to configure both product classes as shared types from administrative tools of NCache and map one or more attributes of class to the other which you want to be shared across platform. Non-mapped attributes will contain default value while being received on the other side. To configure runtime data sharing through NCache Manger, see registering classes for portable data sharing section of NCache Administrator's Guide.
Class Attributes Mapping
Product Class (C#)
Product Class (Java)
In the above mentioned table, attributes of class have been mapped with each other; quantity and category have no mapping attributes in the target class so they are left unmapped.
Query Indexes are also shared among shared data types if added in query index list.
See Also