java远程技术

一、常用的RPC模式

 

RPC模式使用情况
RMI(远程方法调用)不考虑网络限制(如防火墙)是,访问/公开基于Java的服务
Hessian 或 Burlap考虑网络限制时,通过HTTP访问/公开基于Java的服务
HTTP invoker考虑网络限制时,访问/公开基于Spring的服务
JAX-RPC/SOAP访问/公开平台中立的,基于SOAP的Web服务

二、RMI

一个正常工作的RMI系统由下面几个部分组成:

  • 远程服务的接口定义
  • 远程服务接口的具体实现
  • 使用RMI编译器rmic编译具体实现,生成Stub 和 Skeleton 文件(Client Stub ,  Server Skeleton)
  • 一个运行远程服务的服务器
  • 一个RMI命名服务,它允许客户端去发现这个远程服务,Naming.rebind("rmi://localhost:1099/CalculatorService", c);
  • 类文件的提供者(一个HTTP或者FTP服务器
  • 一个需要这个远程服务的客户端程序,
    1.    Calculator c = (Calculator)
    2.                            Naming.lookup(
    3.                  "rmi://localhost·
    4.                          /CalculatorService");
    三、Hessian 和 Burlap
          Hessian消息格式为二进制,Burlap消息为XMl。Hessian要求远程服务通过Servlet暴露出来。 
          Hessian可以使用Spring实现客户端和服务端,与客户端相关的类为HessianProxyFactoryBean;而服务端的模式设计为Spring MVC,其中HessianServiceExporter被实现为Controller,还需要配置web.xml 文件的Spring的DispatcherServlet,将二者联系起来的是URLMapping
     四、HTTP invoker 
        HTTP invoker 介于RMI 和 Hessian,与Hessian不同的是,HTTP invoker使用Java标准的对象序列化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值