`
lgx522
  • 浏览: 126080 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

伟大的Hessian

    博客分类:
  • Java
阅读更多

前几日看过道友lordhong的文章“Hessian开始支持RIA了(JavaFX和Flex)”(http://www.iteye.com/topic/125573),便到http://hessian.caucho.com/上访问了一下,仔细一看才知道Hessian已经远超期待!

 Java、Flash、Python、C++、.NET C#、D、Erlang、PHP、Ruby,看看伟大的Hessian当前所支持的语言吧!

原先看经典的“without EJB”,讲到Remoting时,便有对Hessian这一“Java to Java的轻量级协议”的支持。实践中Spring使用Hessian、Burlap、RMI、HttpInvoke非常简单,并且Hessian、Burlap的性能相当高,仅仅稍逊于Java专用的RMI。当时笔者对此稍感遗憾,这么简单高效的协议,如果能支持其它的语言该多好!

想不到仅仅两三年之后,Hessian便几乎囊括了当前最主流、最火爆的语言!

自从计算机世界的数百种语言不断诞生以来,IT界便陷入了巨大的烦恼中:一面是多种语言带来的丰富多彩和各自擅长领域的卓越表现;一面是“信息孤岛”的爆炸性增长和各类技术间激烈的争执。异构集成已成为至关重要的事情。

但问题在于缺乏标准和协议。

于是COM、CORBA、EJB、SOAP不断涌现,但这些由厂商和委员会们搞出来的东西,注定只能钻进那5%的“超复杂”胡同,高度的复杂性与低劣的性能,最终也只能让大家“曲高和寡”罢了。于是IT界继续争斗与混乱。

应用程序做久之后,大家就会认识到,在大多数情况下,我们真正需要的是足够简单高效的协议,可以很快地写出来,很快地连起来,并且可以很快地运行。于是REST开始放高调了,这就免不了要和SOAP开战,最重要的实践却反而放在一边了。

好在Hessian实实在在地作出了回应!看来要想实现IT世界的统一,必须要靠开源领域中立的的实干家。

如果都能以这样公正中立的路子走下去,大家真可以求同存异了。想想吧,服务端是强而稳的Java,客户端是容易高效的Flex、ASP.NET或者Ajax;或者用PHP、RoR快速构建服务端,再用J2ME、.NET Mobile搞无线;某些特殊场合,使用VB、C++、Delphi这类高性能的桌面程序……。这样的世界多美好!何必成天吵嚷“XXX将要灭了XXX”这类无聊的话题,担心所谓“技术路线”选择。大家各自精通专项技术,然后通力合作,共营IT世界,这才是唯一正确的选择。

人类世界已经趋向于沟通合作,IT世界也应该全面沟通合作了。

这个世界上,有人忙着赚钱,有人忙着出名,有人忙着吵架,有人则忙着做事。干实事的,真该学一学Hessian。

分享到:
评论
28 楼 lfh220 2007-12-06  
不知道hessian能不能访问手机端或者手机端能访问hessian提供的方法,类似于webservice.如果可以能不能推荐些资料.谢谢
27 楼 gqf2008 2007-11-25  
hessian的最大优点就是支持不同的语言平台,而且开发非常方便
26 楼 bsspirit 2007-11-25  
大家真是跟着时代在跑啊,我也学习学习。

我现在有这样的一个工程。
ear
|--war1
|--war2
|--jar1
|--jar2

如果让war1和war2之间通讯,目前的想法是Xfire。不知道Hessian适用我这个项目吗?

另外,还有一部分war和c++的socket通讯,Hessian可以做多语言的通讯吗?
25 楼 rainsoft 2007-11-18  
已经在大型项目上用了一年了,Hessian确实伟大
24 楼 openeyes 2007-11-15  
Hessian for C# sharp怎么部署到IIS上?下载了最新的HessianCsharp 1.3.3版本,结果死活连不通!
23 楼 Caixiaopig 2007-11-02  
Arbow 写道
CnXiaowei 写道
不知道Hession是否支持Keep-Alive呢,就是可以用同一个Connection来进行通讯?这样对于那些并发很高的应用对性能应该会有很大提升吧?


对于多个并发请求,会使用几个并发连接进行通信,请求完毕后,只要HTTP响应的头有 Connection: Keep-Alive,就可以将这个连接进行复用。

客户端设置为keep-alive似乎没用
我把resin的alive thread设置了一下
但是用并发跑的时候,resin管理界面里边并没有检测到alive的线程
22 楼 dimscar 2007-11-01  
hessian我们在招标网上也用过,招标系统中的招标信息要发送到评标专家系统中。就是通过hessian在不同的服务器间socket通信。
21 楼 Arbow 2007-10-26  
CnXiaowei 写道
不知道Hession是否支持Keep-Alive呢,就是可以用同一个Connection来进行通讯?这样对于那些并发很高的应用对性能应该会有很大提升吧?


对于多个并发请求,会使用几个并发连接进行通信,请求完毕后,只要HTTP响应的头有 Connection: Keep-Alive,就可以将这个连接进行复用。
20 楼 asdfasdf 2007-10-26  
作为程序来说   burlap跟hession没区别
修改一下实现配置

不过现在还是用ws用的多啊
19 楼 CnXiaowei 2007-10-26  
以前也曾经使用过,但是觉得不适合那种并发特别高的应用,http本身的性能是有局限性的,比如同时有100个请求,两台服务器之间就必须建立100个连接才行,这样速度效率都很低,而RMI就性能高很多,可惜无法跨语言。

不知道Hession是否支持Keep-Alive呢,就是可以用同一个Connection来进行通讯?这样对于那些并发很高的应用对性能应该会有很大提升吧?
18 楼 ddbird 2007-10-25  
大概看了下,优点也可能是coding简单些,支持的语言多些,maybe效率高些。不过单纯的RPC和SOAP本来不是同类,和EJB的也相去甚远,说到简单,EJB3的session bean也并不复杂,无非一个是用JNDI查找,一个是用类似CORBA的IOR来这种已知URL的方式查找,总体感觉就是如果不需要EJB的时候,也不需要引入消息机制的时候,但是却需要分布式,那会比RMI用起来方便很多。
吾之拙见。
17 楼 shallon 2007-10-17  
同意 dlee的说法,系统间的互通性成为比较主要的考虑因素,如果hessian是以RPC为编程架构,应用的范围要小一些,目前的技术趋势是从RPC往消息通信上转。远程对象这种东西也许很快是昨日黄花。
16 楼 lgx522 2007-10-16  
hatedance 写道
与soap相比,hessian的优点是不是只剩下性能了?


还有简单。这对于开发来说是非常重要的。
15 楼 hatedance 2007-10-14  
与soap相比,hessian的优点是不是只剩下性能了?
14 楼 yxxiao0929 2007-10-13  
<div class='quote_div'>
<p>比较支持“异构集成已成为至关重要的事情”这句话,但个人觉得要想到达这一目标,路子还长。期待中......<br/>
<br/>
<br/>
<br/>
</p>
</div>
13 楼 dlee 2007-10-12  
Hessian这类RPC风格的编程模型在Web应用中不会有很大的前途。Web应用中最有前途的编程模型是REST。你们应该多了解一下Rails的ActiveResource。

Hessian不错,不过主要是在企业应用运行环境中取代EJB或者SOAP,它并不适合使用在Web应用运行环境中。
12 楼 ecsoftcn 2007-10-12  
Hessian的确是一个非常不错的技术,但是一些天生的缺点使它很难被应用在大型项目中,比如在数据量非常大时结果往往会出错等,如果这些问题都解决了,那真的可以放心的在项目中使用它了,性能方面还是非常不错的。
11 楼 ajoo 2007-10-11  
引用
前几日看过道友lordhong的文章

街道网来的?
10 楼 dengyin2000 2007-10-11  
liwenqiu 写道
ruby中怎么得到一个hessian返回的java自定义对象呢?给个example看看,thanks


我也有这样的疑问。 用ruby的client去调用,如果hessian返回一个对象的话。 是不是ruby也要定义一个ruby对象? 要根据binary 协议?




文档太少。
9 楼 liwenqiu 2007-10-10  
ruby中怎么得到一个hessian返回的java自定义对象呢?给个example看看,thanks

相关推荐

    Hessian

    **Hessian:深入理解与应用** Hessian是一种二进制Web服务协议,它由Caucho Technology公司开发,主要用于提供轻量级、高效的远程方法调用(Remote Method Invocation,RMI)服务。Hessian的目标是简化分布式系统...

    Hessian 使用小结

    Hessian的设计目标是为了提供高效、简单的远程调用方式,使得客户端能够像调用本地方法一样调用远程服务。 **独立使用Hessian** 在不依赖任何框架的情况下,使用Hessian的步骤如下: 1. **添加依赖**:首先,...

    hessian案例,hessian案例

    Hessian是一种高效的二进制序列化协议,常用于实现轻量级的远程过程调用(RPC)。这个案例涉及到了Hessian在Java和Python之间的跨语言通信。以下是对Hessian技术及其应用的详细解释: 1. **Hessian简介**:Hessian...

    Hessian多个版本打包下载

    这个压缩包包含了Hessian的多个版本,分别是Hessian3.1.6、Hessian3.2.1以及Hessian4.0.7。每个版本都有其特定的功能改进和优化,了解这些版本的区别和适用场景对于开发者来说至关重要。 Hessian3.1.6是Hessian的一...

    多尺度hessian滤波器图像增强

    在图像处理领域,多尺度Hessian滤波器是一种高级的图像增强技术,它主要用于检测图像中的线性结构,特别是对于微弱或者噪声较大的图像特征有很好的识别能力。这个技术是基于数学形态学的Hessian矩阵理论,由V.S. ...

    hessian

    Hessian是一种二进制Web服务协议,由Caucho Technology公司开发,主要用于提供轻量级、高效的远程方法调用(Remote Method Invocation, RMI)机制。它结合了HTTP协议的可扩展性和Java序列化机制的易用性,使得在...

    基于Hessian矩阵增强的心血管分割_hessian_hessian血管_hessian血管分割_血管分割_Hessian矩阵

    在IT领域,尤其是在医学图像分析中,Hessian矩阵是一个重要的数学工具,用于图像特征检测,特别是在血管分割的应用中。本文将深入探讨标题和描述中提到的"基于Hessian矩阵增强的心血管分割"这一主题。 Hessian矩阵...

    Hessian应用

    《Hessian应用详解》 Hessian,一种轻量级的二进制协议,因其高效、简单的特点,在分布式服务中被广泛应用。它允许开发者在HTTP上透明地调用远程方法,就像是本地方法调用一样,极大地提高了开发效率和系统性能。...

    dubbo-hessian协议http请求demo(java)

    - 在实际开发中,我们可能会需要编写一些辅助工具类来处理Hessian的相关操作,例如Hessian2Input和Hessian2Output,它们用于读写Hessian序列化的二进制流。 6. **安全性与优化**: - 虽然Hessian协议效率高,但其...

    hessianServer

    在IT行业中,Hessian是一种基于二进制协议的RPC(远程过程调用)框架,它使得客户端和服务端之间能够高效地进行数据交换。HessianServer指的是实现Hessian协议的服务端程序,通常用于构建分布式系统,使得不同的应用...

    Spring中集成Hessian的问题

    在Spring框架中集成Hessian是为了实现远程方法调用(Remote Method Invocation, RMI),这是一种轻量级的序列化协议,可以高效地传输Java对象。Hessian使得服务提供者和服务消费者之间能够通过网络进行快速的数据...

    Hessian协议格式

    Hessian 协议格式 Hessian 协议是一种轻量级的 remoting on http 工具,使用简单的方法提供了 RMI 的功能。采用的是二进制 RPC 协议,所以它很适合于发送二进制数据。Hessian 主要用作面向对象的消息通信。 ...

    Hessian的Spring配置

    在Spring框架中,Hessian是一种轻量级的远程方法调用(RPC)协议,它能够实现Java对象到字节流的序列化,从而使得服务端的对象可以在客户端直接调用,仿佛对象就在本地一样。Hessian提供了高效的二进制RPC协议,使得...

    hessian-4.0.63-API文档-中英对照版.zip

    赠送jar包:hessian-4.0.63.jar; 赠送原API文档:hessian-4.0.63-javadoc.jar; 赠送源代码:hessian-4.0.63-sources.jar; 赠送Maven依赖信息文件:hessian-4.0.63.pom; 包含翻译后的API文档:hessian-4.0.63-...

    hessian服务端 客户端 可运行

    在这个“hessian服务端 客户端 可运行”的压缩包文件中,很可能包含了一个完整的示例,让我们来详细探讨Hessian在服务端和客户端的实现及其重要性。 首先,我们来理解一下Hessian服务端。在Java中,Hessian服务端...

    hessian学习基础篇——序列化和反序列化

    本文将深入探讨Hessian框架的基础知识,它是一个高效的二进制序列化协议,广泛应用于Java和.NET之间跨语言通信。通过学习Hessian,我们可以更有效地处理数据传输,提高应用性能。 首先,让我们理解什么是序列化。...

    springMVC hessian

    SpringMVC 和 Hessian 是两种在 Java 开发中常见的技术,它们在构建分布式系统时扮演着重要角色。SpringMVC 是 Spring 框架的一部分,主要用于构建 Web 应用的 MVC(模型-视图-控制器)架构。而 Hessian 是一种轻量...

    Hessian学习简单demo

    Hessian是一种二进制协议,它被设计用于提高远程调用的效率,特别是在Java和C++之间进行跨语言通信时。Hessian的目标是提供一种快速、简洁的数据序列化和远程方法调用(RPC)机制。在这个简单的demo中,我们将探讨...

    hessian-4.0.33.jar

    《深入理解Hessian框架:以hessian-4.0.33.jar为例》 Hessian是一种高效的二进制RPC(Remote Procedure Call)协议,由Caucho Technology开发,旨在提供轻量级、高效的远程调用服务。在这个专题中,我们将以hessian...

    Hessian异步请求访问包

    在IT行业中,尤其是在移动开发领域,Hessian是一种广泛使用的二进制协议,它允许远程对象调用(Remote Object Invocation)。本知识点主要关注的是在Android平台上,如何使用Hessian进行异步请求访问,以便提高应用...

Global site tag (gtag.js) - Google Analytics