Java Remoting选取方案


Java Remoting选取方案

 

l  性能要求特别高的:可以选用Socket,RMI;

l  跨平台,跨语言,安全性,易用性:Webservice;

l  跨平台,跨语言,易用性,性能:HessianREST;

l  不跨语言,性能,易用性:NIO(Netty,Mina),RMI。

 

 

技术名称

是否收费

优点

缺点

      备注

Socket

跨语言,跨平台,速度快,根据需要制定数据传输格式

不支持面象对象、事务,编码实现相对复杂。

 

RMI

面向对象的远程服务模型;基于TCP协议上的服务,执行速度快

不能跨语言;每个远程对象都要绑定端口,不易维护;不支持分布式事务JTA

 

EJB

可扩展性好,安全性强,支持分布式事务处理。

不能跨语言;配置相对复杂,不同J2EE容器之间很难做无缝迁移

 

Web Service

跨语言、跨平台,SOA思想的实现;安全性高;

性能相对差,不支持两阶段事务,不支持复杂对象如:List、Map

 

Hessian

 

使用简单,速度快;跨语言,跨平台,支持复杂对象。

安全性的支持不够强,不支持两阶段事务,客户代码不能自动生成

类Webservice,不过Hessian数据传输格式不用XML,采用二进制方式。

NIO

基于TCP通信,效率上高于HTTP的方式,非阻塞IO应对高并发绰绰有余。根据具体的需要制定数据传输的格式,可扩展性强。

不能跨语言,无法穿透防火墙。

底层实现socketcet通信,有Netty,Mina框架。

HTTPInvoker

基于HTTP的Java到Java Remoting;通过HTTP实现Java串行化;容易建立

服务器和客户端应用程序都需要使用Spring。

仅是一种Java方案。

 

 

REST

基于HTTP,返回的结构可以是任格式(由开发者定义),效率比Web服务高,适用于无需多步操作场景。

只是一种私有约束,缺乏标准,安全性差。

 

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值