.NET vs Java Edition

Native Multi-Platform Solution

NCache is a unique native multi-platform solution. It provides a native .NET experience and also a native Java experience for .NET and Java applications respectively. NCache is able to do this because it has a separate .NET Edition and a Java Edition. Each edition contains fully native support (both client-side and server-side) for its respective language platform. Both editions provide the exact same features albeit in their own native language platforms.

All the NCache clients (.NET, Java, Node.js, and Python) are able to connect to both .NET and Java editions seamlessly.

.NET Edition

Native .NET solution

Server-side Code (.NET)

  • - Runs in its own .NET CLR process
  • - Read-through, Write-through, Write-behind
  • - Loader / Refresher, Entry Processor

Client (.NET)

Other Clients: Java, Node.js, Python

Platforms

  • - Windows, Linux, macOS
  • - Docker, Kubernetes, EKS, GKE, AKS, OpenShift

Java Edition

Native Java solution

Server-side Code (Java)

  • - Runs in its own JVM process
  • - Read-through, Write-through, Write-behind
  • - Loader / Refresher, Entry Processor (coming soon)

Client (Java)

Other Clients: .NET, Node.js, Python

Platforms

  • - Linux, Windows, macOS
  • - Docker, Kubernetes, EKS, GKE, AKS, OpenShift
 

Server-Side Code (.NET Edition)

NCache architecture is such that all the server-side code in .NET Edition runs in its own separate native .NET CLR process. The "Cache Host Process" on the NCache server (the one hosting the cached data) also runs in a separate process and communicates with this server-side code CLR process through an extremely fast local in-memory RPC using NCache custom Protocol Buffer.

This server-side code includes Read-through, Write-through, Write-behind, Loader, Refresher, and Entry Processor.

NCache (.NET Edition)
 

Server-Side Code (Java Edition)

NCache architecture is such that all the server-side code in Java Edition runs in its own separate native Java JVM process. The "Cache Host Process" on the NCache server (the one hosting the cached data) also runs in a separate process and communicates with this server-side code JVM process through an extremely fast local in-memory RPC using NCache custom Protocol Buffer.

This server-side code includes Read-through, Write-through, Write-behind, Loader, Refresher, and Entry Processor (coming soon).

NCache (Java Edition)
 

.NET Client

100% C#

NCache .NET client is able to talk to both .NET Edition and Java Edition servers. This .NET client opens a socket connection with the NCache servers and directly talks to the NCache servers by making RPC calls that use the NCache custom Protocol Buffer. All the data exchanged between the .NET client and NCache servers is serialized either as a binary byte array or JSON.

The .NET client is developed natively in C# as a multi-threaded client and runs on both Windows and Linux.

 

Java Client

100% Java

NCache Java client is also able to talk to both Java Edition and .NET Edition servers. This Java client opens a socket connection with the NCache servers and directly talks to the NCache servers by making RPC calls that use the NCache custom Protocol Buffer. All the data exchanged between the Java client and NCache servers is serialized either as a binary byte array or JSON.

The Java client is developed natively in Java as a multi-threaded client and runs on both Linux and Windows.

 

Node.js and Python Clients

Built on Java Client

Both Node.js and Python clients use the Java client underneath and rely on it to connect and talk to NCache servers.

Node.js and Python clients run on both Linux and Windows.

What to Do Next?

© Copyright Alachisoft 2002 - . All rights reserved. NCache is a registered trademark of Diyatech Corp.