`
jackyhongvip
  • 浏览: 159678 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hessian 简介

    博客分类:
  • RPC
 
阅读更多

关于hession的文章摘自:http://hi.baidu.com/li_zhongnan/blog/item/a8161fcc0014481800e928c6.html

 

说到 web service,首先想到的便是SOAP,对于很多人来说,SOAP基本上就等同于 Web service了。其实,Web service 是一种概念,SOAP 则是这种概念的一种实现而已,除此之外,还有其他针对 Web service 的实现,Hessian 就是其中的一个。
Hessian 与 web service 常用的 SOAP 协议类似,将协议报文封装在HTTP封包中,通过HTTP信道进行传输的。不同的是,Hessian 使用的是二进制协议,而不是像 SOAP 那样使用 XML,使用 Hessian 传输数据量比 SOAP 协议要小很多。Hessian 是一个轻量级的 Web service 实现框架,使用起来也非常简单,只需要将 Hessian 的 jar 包即可编写服务端和客户端的程序,不需要其他附加包。由于其轻量,因此还可以用来编写手机上的应用程序。

1、接口 - Web 服务协议

通常,需要根据应用程序的业务逻辑为 Web service 和其客户端程序交互定义一个协议来描述 Web service 所能提供的服务,在程序实现上,就表现为编写一个接口。Web service 程序实现该接口,客户端按照该接口定义的方法进行业务操作。

package example;

public interface Basic {
public String hello();
}

2、Web 服务程序

位于服务器端的 Web 服务程序需要实现为业务逻辑定义的接口。

package example;

public class BasicService implements Basic {
public String hello(String name)
{
    return "Hello, " + name;
}
}

3、Web 服务器配置

Hessian 通过在 Web 服务器上配置 HessianServlet 这个 Servlet 来提供 Web service。为 HessianServlet 指定不同的 init-param 来使 HessianServlet 提供不同的 Web service 服务。

<web-app>
<servlet>
   <servlet-name>hello</servlet-name>
   <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
    <init-param>
      <param-name>home-class</param-name>
      <param-value>example.BasicService</param-value>
    </init-param>
    <init-param>
      <param-name>home-api</param-name>
      <param-value>example.Basic</param-value>
    </init-param>
</servlet>

<servlet-mapping>
    <url-pattern>/hello</url-pattern>
    <servlet-name>hello</servlet-name>
</servlet-mapping>
</web-app>

其中,home-class 指示实现接口的类名称,home-api 指示描述 Web service 的接口名称。

4、客户端程序

在 Java 客户端使用 Hessian service 就像调用一个普通的 Java 方法那样简单。通过指定目标 web service 的 URL 和描述 Web service 的接口,HessianProxyFactory 将创建一个实现了该接口的对象,然后就可以像使用本地对象那样使用该对象了。

package example;

import com.caucho.hessian.client.HessianProxyFactory;

public class BasicClient {
public static void main(String []args)
    throws Exception
{
    String url = "http://127.0.0.1:8080/htest/hello";

    HessianProxyFactory factory = new HessianProxyFactory();
    Basic basic = (Basic) factory.create(Basic.class, url);

    System.out.println(basic.hello("hessian"));
}
}

5、参考

http://hessian.caucho.com/

 

分享到:
评论

相关推荐

    理解RESTful架构、Hessian简介、机制、Webservice及cxf介绍

    它提供了高效的远程调用能力,相比基于文本的协议(如SOAP),Hessian能更节省带宽和提高通信效率。Hessian库可以在不同平台上使用,支持多种编程语言,简化了跨语言的远程服务调用。 WebService是一种基于XML的、...

    hessian案例,hessian案例

    1. **Hessian简介**:Hessian是由Caucho Technology开发的一种二进制Web服务协议,它提供了简洁、快速的数据传输方式,尤其适用于低带宽环境。Hessian支持RPC模式,允许服务端和客户端之间进行方法调用。 2. **Java...

    利用hessian进行系统通信实例教程

    一、Hessian简介 Hessian是由Caucho公司开发的一种轻量级的Web服务协议,它的主要特点是使用二进制格式传输数据,相比XML或JSON,其在网络传输中具有更高的效率和更快的速度。Hessian支持Java、C++、Python等多种...

    android端使用hessian跟web服务器通讯

    一、Hessian简介 Hessian是由Caucho公司开发的一种轻量级的二进制Remoting协议,它提供了高效的序列化和反序列化机制,使得跨平台的远程方法调用(RMI)变得更加便捷。Hessian支持HTTP传输,可以在防火墙开放的HTTP...

    Hessian(Spring集成的)的应用与研究

    一、Hessian简介 Hessian是一种基于HTTP的二进制协议,它以简洁的二进制格式传输数据,相比于XML-RPC或JSON-RPC等文本协议,Hessian具有更高的传输效率和更快的解析速度。Hessian支持Java、C++、Python等多种语言,...

    hessian+spring小案例

    #### 一、Hessian简介 Hessian是一个轻量级的远程服务调用框架,其核心功能是提供类似于RMI(远程方法调用)的服务,但采用的是更为高效的二进制RPC(远程过程调用协议)。这使得Hessian非常适合用于传输大量的二...

    hessian+spring

    #### 一、Hessian简介 Hessian是一个轻量级的远程服务调用框架,其主要特点在于采用高效的二进制格式进行数据传输,这使得它非常适合处理大量的二进制数据。Hessian通过HTTP协议进行通信,并且支持多种编程语言。它...

    WebService另一种轻量级实现—Hessian 学习笔记.rar

    **一、Hessian简介** Hessian是由Caucho Technology公司开发的一种二进制RPC(Remote Procedure Call)协议,它能够将Java对象序列化为高效的二进制格式,从而显著减少网络传输的数据量。Hessian支持HTTP协议,可以...

    使用hessian简单使用【续】- 与spring结合使用

    一、Hessian简介 Hessian是由Caucho公司开发的一种基于HTTP的二进制RPC(Remote Procedure Call)协议,它以简洁的二进制格式传输数据,从而提高了网络通信效率。Hessian协议支持Java、.NET、Python等多种语言,使得...

    hessian-4.0.33.jar

    一、Hessian协议简介 Hessian协议基于HTTP协议,但其数据传输采用二进制格式,这使得它在数据传输效率上远超基于文本的XML或JSON协议。Hessian支持多种类型的数据序列化,包括基本类型、对象、数组、日期等,并且...

    jinrongjuServer

    二、Hessian简介 Hessian是由Caucho公司开发的一种二进制RPC协议,它通过HTTP协议传输,具有序列化速度快、传输数据量小的特点。Hessian支持Java、C++、Python等多种语言,使得不同平台和语言之间的通信变得简单。 ...

    hessin+spring实例

    #### 一、Hessian简介 Hessian是一种轻量级的远程过程调用(RPC)协议,相比传统的WebService技术,Hessian提供了更简单且高效的方式来实现分布式应用间的通信。Hessian的核心优势在于其采用了二进制RPC协议(Binary ...

    Hessian的学习笔记

    一、简介 Hessian是基于Binary-RPC协议实现的远程通讯library,用于实现远程过程调用(RPC)。Hessian提供了一个轻量级的RPC解决方案,支持多种编程语言,并且具有高性能和可扩展性。 二、Hessian的工作原理 ...

    Hessian矩阵与牛顿法.pdf

    #### 二、Hessian矩阵简介 **定义**:Hessian矩阵是多元函数二次导数的矩阵表示形式。对于一个具有两个变量\( x_1 \)和\( x_2 \)的函数\( f(x_1, x_2) \),其Hessian矩阵\( H(f) \)定义为: \[ H(f) = \begin{b...

    hessian例子

    ### Hessian协议简介 Hessian协议是基于HTTP的,它通过二进制编码来提高数据传输效率,相比于XML或JSON等文本格式,Hessian在数据量和传输速度上有显著优势。Hessian协议支持基本类型(如整型、浮点型、字符串等)...

    frangi_hessian.rar

    一、Frangi-Hessian算法简介 Frangi-Hessian算法是Frangi在1998年提出的一种针对血管检测的特征提取方法。该算法的核心在于利用Hessian矩阵,它是图像二阶导数的表示,可以捕捉图像中的局部特征。Hessian矩阵H的...

    hessian小实例

    一、Hessian协议简介 Hessian是一种轻量级的序列化和通信协议,它的主要特点是: 1. **二进制格式**:Hessian使用二进制格式传输数据,相比XML或JSON等文本格式,占用带宽更少,传输速度更快。 2. **自动类型检测**...

    外部接口调用 使用spring4+hessian4实例(二)

    一、Spring 4与Hessian 4简介 Spring 4是Spring框架的一个版本,它提供了一整套企业级应用开发的支持,包括依赖注入、AOP(面向切面编程)、数据访问、事务管理等。Hessian 4则是一种二进制Web服务协议,它能高效地...

    Nacos JRaft Hessian 反序列化 RCE 分析.pdf

    1. **反序列化简介**: - 序列化是指将对象的状态信息转换为可以存储或传输的形式的过程;而反序列化则是指将序列化的数据恢复为对象的过程。 - 在 Java 中,可以利用 `java.io.Serializable` 接口实现对象的序列...

    dubbo-2.5.3版本及构建工具依赖

    - **简介**:Hessian是一种二进制的Web服务协议,由Caucho公司开发。Hessian-lite是Hessian的轻量级实现,专为Java设计,用于减少网络传输的数据量,提高服务调用效率。 - **功能**:Hessian-lite使得远程调用更加...

Global site tag (gtag.js) - Google Analytics