首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hessian入门

Hessian入门
EN

Stack Overflow用户
提问于 2008-10-08 18:35:15
回答 2查看 10.5K关注 0票数 9

我有一个新的项目,需要一个良好的二进制协议。

我在考虑使用Hessian,除非有人有更好的主意。

我正在通读他们的一些文档,但并不像我想象的那么简单,所以我有几个快速的问题。

主页有一个标题为"Documentation“的部分,其中包含以下文档:

代码语言:javascript
复制
* Hessian Documentation
* Hessian 1.0.1 spec
* Hessian 2.0 Serialization Draft
* Hessian 2.0 Web Service Draft
* Taxonomy explaining Hessians relationship to CORBA, SOAP, RMI

1)这两者有什么区别?我假设1.0.1以后会变成2.0,并且现在使用2.0是正确的,但是我不确定。

2)您是否希望有人使用2.0序列化或2.0 web服务?看起来web服务只是用来创建新实现的引用,但这对我来说也不是完全清楚。

3)如何使用PHP实现一个支持Hessian的服务器。您是否需要使用Caucho服务器,或者是否可以在Fedora Core上使用PHP实现服务器并使用Java客户端进行连接?

EN

回答 2

Stack Overflow用户

发布于 2009-06-08 21:24:15

是的,Hessian 2.0就是用到的。协议规定了数据结构是如何表示二进制的,规范很简单。

Hessian web服务建立在Hessian协议上,它以Hessian格式指定多个报头来描述例如Hessian协议中的请求/响应格式。它定义了请求的内容、应该调用的方法等等。它并不是严格需要的,因为没有人使用它。您可以通过创建最适合您的"Request“类和"Response”类来定义它,并使用Hessian协议对其进行序列化。

Hessian是Java序列化的替代方案,它的速度较慢,因为java VM不直接支持它,但它(!)比XML解析更快。它可以以跨平台的方式使用,尽管你必须调整现有的实现来使它们协同工作,但规范已经在这里和那里发生了变化(例如,长度规范),所以实现往往不同。另一方面,它不是人类可读的,你总是需要一个工具来将黑森语转换为文本。

我在一个大型企业应用程序中使用了Hessian,在该应用程序中,Java富客户端与后端进行通信,以便使客户端JVM版本独立于服务器JVM版本。它就像一个护身符一样起作用。

请看一下实现Hessian4J。它是开源的,所以你可以完全控制它。

票数 9
EN

Stack Overflow用户

发布于 2008-10-08 19:57:16

我过去没有使用过Hessian,将来也不打算使用它,我的理由是:

对于web服务,我会非常努力地将其保持在普通的旧式XML中。如果我选择二进制XML表示,我可能会使用Fast Infoset -这是一个标准,并且很可能被更多的web服务客户端API/库/框架所支持。我知道CXF的人在他们的邮件列表上谈到了快速信息集,应该支持它,即使他们没有在他们的维基上记录这一点。

如果速度是最重要的,我可能最终会使用Protocol Buffers

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/184199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档