Alachisoft.com

Contact Us

+1 (925) 236-3830 sales@alachisoft.com

support@alachisoft.com

Live Chat

Java and .NET Portable Data for In-Memory Data Grid

A large number of companies today have hybrid environments with Java and .NET applications running on Unix and Windows. And, often these applications share data with each other through a common database.

If these applications are high transaction in nature, they need to use an in-memory data grid. But, they face a limitation because many in-memory data grids do not allow them to share data between Java and .NET applications. As a result, a Java application stores Java objects that can only be used by other Java applications. And, .NET applications do the same.

TayzGrid, an extremely fast and scalable in-memory data grid, provides a powerful Java and .NET Portable Data feature with the following characteristics.

  • Java & .NET objects transformed to binary portable format before storage
  • Portable objects are transformed back to Java or .NET objects at fetch time

The conversion from Java or .NET objects to a binary portable format and back is done without any XML based transformation which is very costly. As a result, the performance of this conversion is super-fast.

This feature allows Java and .NET applications to share data with other through an in-memory data grid without compromising on performance. A Java application stores a Java object (e.g. Customer) which a .NET application reads back as a .NET object (e.g. Customer). Below is an example of how this data sharing is specified in TayzGrid.


<data-sharing>
  <type id="1001"
        handle="Product"
        portable="true">
    <attribute-list>
      <attribute name="id"
                 type="System.Int32"
                 order="1" />
      <attribute name="name"
                 type="System.String"
                 order="2" />
      <attribute name="category"
                 type="System.String"
                 order="3" />
      <attribute name="supplier"
                 type="System.Int32"
                 order="4" />
      <attribute name="unitsAvailable"
                 type="System.Int32"
                 order="5" />
      <attribute name="price"
                 type="System.Single"
                 order="6" />
      <attribute name="ProductID"
                 type="int"
                 order="7" />
      <attribute name="ProductName"
                 type="java.lang.String"
                 order="8" />
      <attribute name="Supplier"
                 type="int"
                 order="9" />
      <attribute name="Category"
                 type="java.lang.String"
                 order="10" />
      <attribute name="UnitsAvailable"
                 type="int"
                 order="11" />
    </attribute-list>
    <class name="TayzGrid.Sample.Data.Product:1.0.0.0"
           assembly="Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
           id="1"
           type="net">
      <attribute name="id"
                 type="System.Int32"
                 order="1" />
      <attribute name="name"
                 type="System.String"
                 order="2" />
      <attribute name="category"
                 type="System.String"
                 order="3" />
      <attribute name="supplier"
                 type="System.Int32"
                 order="4" />
      <attribute name="unitsAvailable"
                 type="System.Int32"
                 order="5" />
      <attribute name="price"
                 type="System.Single"
                 order="6" />
    </class>
    <class name="tayzgrid.sample.data.Product:0.0"
           assembly=""
           id="2"
           type="java">
      <attribute name="ProductID"
                 type="int"
                 order="1" />
      <attribute name="ProductName"
                 type="java.lang.String"
                 order="2" />
      <attribute name="Supplier"
                 type="int"
                 order="4" />
      <attribute name="Category"
                 type="java.lang.String"
                 order="3" />
      <attribute name="UnitsAvailable"
                 type="int"
                 order="5" />
    </class>
  </type>
</data-sharing>

What to Do Next?