3

Hessian是一种自定义二进制序列化协议(我认为它是开源的),它构成了二进制跨平台远程处理框架的基础。我想知道这里是否有人使用过它,如果是这样,我们可以从一种将 Java 应用程序与 C# 应用程序连接起来的解决方案获得什么样的性能。(假设我们正在序列化简单类,可能是简单类的数组、列表、字典。)

4

4 回答 4

1

你看过 HessianC# 项目(http://www.hessiancsharp.org/)吗?

于 2008-09-15T21:49:39.693 回答
1

我是jni4net的作者,它是 JVM 和 CLR 之间的开源进程内桥梁。它建立在 JNI 和 PInvoke 之上。不需要 C/C++ 代码,它应该相对较快。我不确定跨边界通过引用编组是否可以解决您的问题。

于 2009-10-31T20:17:23.407 回答
0

这就是 Web 服务旨在解决的问题。虽然不再简单,但 SOAP 格式允许您在 Java/C# 应用程序上将对象序列化为 XML 表示,通过网络传输它们并在相应的 Java/C# 应用程序中反序列化它们(Java/C# 几乎可以替换为任何语言可以翻译 XML 文档)。虽然这里使用了“serialize”,但这个过程也被称为“marshalling”也很常见。

然而,许多人目前正在考虑从 SOAP 转向 Web 服务。从 Wikipedia 了解有关 Web 服务的更多信息:http ://en.wikipedia.org/wiki/Web_services

于 2008-09-15T19:16:47.033 回答
0

承认“Soap 被过度设计”,然后赞扬一个未设计/抽象它的实现,就像我用法语写这篇文章,然后要求你使用谷歌翻译来阅读它,然后用英语赞美谷歌翻译。

二进制协议是未来的方式。如果您准备编写“智能”代码,当它完全按照编程和开发的方式执行时,您会感谢自己。

只需要一个潜在的 Soap 服务即可将您的 SOA 架构带入“异常”模式……我将其称为“异常”模式,因为在 SOA 中实现 SOA 的公司(阅读:XML)在遇到 SOA 时会围绕 SOA 实施异常一种事务类型的数据交换,其中可以连续读取非常大的记录。

*(我可以想象正在进行的 SOAP 实施后对话)

那么你有 SOA 吗?: 是的,我们什么都做?: 好吧,除了我们的关键业务运输之外的一切......

在您使用 WSO2 网络服务和他们的 ESB 时检查一下 - 如果您这样做了,您会再次感谢自己。Mule 是有原因的,然后 WSO2 提供了对 HESSIAN 的支持。您可能还想阅读:http: //java.sun.com/developer/technicalArticles/WebServices/fastWS/

于 2009-10-14T00:54:55.930 回答