Gemstrone和Tangosol为分布式数据缓存提供本地.NET客户端

Gemstrone在上月随其本地C++和.NET缓存客户端一起,发布了它们Gemfire分布数据缓存/网格产品的一个互操作更新。Tangosol上周也发布了Coherence for .NET,它能为在Coherence的数据网格中访问数据提供本地C#客户端实现。这两个公司,以及GigaSpaces都有自己的基于Java的分布式缓存解决方案,在2006年也都发布了对.NET的支持。这些工具的最常应用场景是在前端用.NET客户端,后端用Java实现(特别是在金融企业里)的地方,在这儿.NET代码可以在缓存里和基于Java的底层基础共享对象。

在二月份Gemstone是第一个发布本地C++和.NET客户端的,消除了在.NET应用中部署JVM,或者在C++和Java之间分享数据时使用包装的需要。三月份的时候InfoQ就他们的解决方案采访了Gemstone,关于他们的链接格式,Gemstone回答说:

GemFire使用一个二进制格式代表对象图表。这和将和Class ID信息在一起的对象声明编码到流中的Java对象序列协议有些类似。Class ID(被应用创建或者指定)信息是不同语言在非序列化时对字节互操作时,首选的方法。它为Java、C++和.NET对象之间的映射提供了绝对的映射,并建立了一个跨语言的持久编程模型。序列化框架可以处理负责的对象图表。除了支持基本的类型,序列化框架还增加了对字节数组和XML文档的本地支持。

Gemfire支持Java、C++和任何其他本地.NET语言。为了能相互分享对象,它们必须以能访问那些对象的一种语言实现相同的对象模型。Gemstone描述了大部分客户曾用过的一些方法:

  1. 在.NET、C++或者Java(起始语言并不重要)里创建一个类;
  2. 在目标语言里创建一个相匹配的类;
  3. 在客户端(Java、C++或者.NET)注册这个类;
  4. 在每一个服务器上注册这个类。

最后产生的就是一个可以被所有成员理解和接受的通用序列化结构。在描述使用Java和.NET互操作时的客户使用场景时,Gemstone解释说:

在华尔街,我们能看到对部署在网格里C++和Java客户端的大量需求,所有的这些需求都需要访问企业数据结构。在网格之外,我们在华尔街有为数众多的客户端,用以构建访问EDF的应用。在客户使用.NET作为他们GUI开发的选择时,.NET客户端是非常合适的。

GigaSpaces在从前InfoQ做的采访中也解释了他们的互操作解决方案,以及他们对支持本地.NET的重视。

查看英文原文: Gemstone, Tangosol Offering Native .NET Clients to Distributed Data Caches

你可能感兴趣的:(Gemstrone和Tangosol为分布式数据缓存提供本地.NET客户端)