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

几种Remoting实现的比较

阅读更多
几种Remoting实现的比较

Spring支持的Remoting实现技术是非常多的,虽然Spring屏蔽了这些技术使用上的差异,但是选择一个合适的Remoting技术仍然对系统有非常积极的作用,下面就来讲述这些实现技术的优缺点。

(1) RMI:RMI使用Java的序列化机制实现调用及返回值的编组(marshal)与反编组(unmarshal),可以使用任何可序列化的对象作为参数和返回值。其缺点是RMI只能通过RMI协议来进行访问,无法通过HTTP协议访问,无法穿透防火墙。

(2) Hessian:Hessian也是将网络传输的对象转换为二进制流通过Http进行传递,不过它是使用自己的序列化机制实现的编组与反编组,其支持的数据类型是有限制的,不支持复杂的对象。Hessian的优点是可以透过防火墙。

(3) Burlap:Burlap是将网络传输的对象转换为XML文本格式通过Http进行传递,支持的对象与Hessian相比更少。XML一般比二进制流占用空间大,在网络上传递所需要的时间比二进制流长,XML的解析过程也会耗用更多的内存。Burlap可以穿透防火墙,而且由于传输的格式是XML文本,可以与其他系统(比如.NET)集成,从某种程度来讲,Burlap是一种不标准的WebService。

(4) HttpInvoker:HttpInvoker将参数和返回值通过Java的序列化机制进行编组和反编组,它具有RMI的支持所有可序列化对象的优点。 Http Invoker是使用Http协议传输二进制流的,而同时又具有Hessian、Burlap的优点。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zfrong/archive/2009/12/27/5083943.aspx
分享到:
评论

相关推荐

    如何通过Remoting实现双向通信

    在分布式系统开发中,.NET Remoting 提供了一种高效且灵活的方式来处理远程对象的调用。与传统的请求/响应模型不同,.NET Remoting 支持更复杂的通信模式,包括双向通信。本文将详细介绍如何利用 .NET Remoting 构建...

    .NET Remoting 实现远程数据库访问源码

    .NET Remoting是微软.NET框架提供的一种技术,用于在应用程序之间创建高效的、安全的通信机制。它允许对象在不同的进程甚至不同的计算机之间透明地交互,从而实现远程方法调用(Remote Method Invocation)。在这个...

    利用 Remoting 实现异步队列机制 .doc

    总的来说,通过.NET Remoting实现异步队列机制提供了一种灵活的方式,可以在分布式系统中有效地处理大量并发请求,同时保持系统的响应性和可扩展性。然而,实际的实现可能需要考虑更多的因素,例如线程同步、错误...

    C#Remoting超简单实例

    这个简单的Remoting应用实例可能包括以下几个关键部分: 1. **服务器端组件**:通常包含一个实现特定接口的类。这个类被标记为可序列化(Serializable),并且可以通过Remoting暴露出来。例如,你可以有一个名为`...

    Remoting TCP双向通信

    在实现Remoting TCP双向通信时,有几个关键点需要注意: 1. 安全性:由于数据在网络中传输,应考虑使用SSL/TLS等加密协议来保护通信内容。 2. 错误处理:必须妥善处理网络异常,如连接丢失、超时等,以保持系统的...

    用Remoting分布式处理方式

    在标题"用Remoting分布式处理方式"中,主要涉及到的是如何利用.NET Remoting实现分布式系统的处理。分布式处理意味着将任务分解到多个独立的执行单元,这些单元可能位于不同的计算资源上。Remoting提供了一种透明的...

    .NET下使用remoting技术实现的即时通信/聊天程序源代码

    .NET框架下的Remoting技术是微软提供的一种用于在应用程序之间创建通信机制的方法,它允许不同进程间的对象交互,甚至是跨网络的交互。这个标题所指的项目是一个基于C#语言实现的即时通信或聊天程序,利用了.NET ...

    Remoting双向通信V3.0.rar

    在.NET Remoting中,有几种通信模式,包括单向调用、请求/响应模式以及双向通信。双向通信是指客户端不仅能调用服务器端的方法,服务器端也能主动调用客户端的方法,从而实现更复杂的交互逻辑。这在实时性要求较高的...

    Remoting基本原理及其扩展机制

    框架中默认提供了几种Channel,如HttpChannel、TcpChannel和IpcChannel,它们分别对应不同的网络协议。 - **TransportSink**: 实际上决定了通信时所采用的具体网络协议。Remoting框架提供了多个TransportSink,例如...

    Remoting实例

    在"Remoting实例"中,我们通常会涉及以下几个关键知识点: 1. **应用程序域(AppDomain)**:AppDomain是.NET运行时执行代码的基本单元,它可以隔离应用程序,确保一个应用的问题不会影响到其他应用。在Remoting中...

    remoting实例

    在这个"remoting实例"中,我们主要探讨以下几个关键知识点: 1. **接口(Interface)**:在服务端,通常会定义一个接口,用于暴露供客户端调用的方法。接口是一种纯抽象类型,不包含任何实现,只定义了方法、属性等...

    基于remoting的数据库开发应用

    实现Remoting数据库应用的步骤通常包括以下几个阶段: 1. **定义接口**: 创建一个接口,定义所有数据库操作的方法。例如,`IOrderService`接口可能包含`GetOrders()`、`InsertOrder()`等方法。 2. **实现接口**: 在...

    remoting三层架构C#实例原码

    Remoting是.NET Framework提供的一种强大的远程通信技术,它允许对象在不同的应用程序域(AppDomain)之间,甚至是跨网络的进程间进行交互。本实例原码是关于C# Remoting的实现,非常适合C#初学者学习远程通信的核心...

    c#remoting简单例子

    Remoting提供了一种高效、灵活的方式来实现跨进程通信,使得对象调用就像调用本地方法一样简单。 首先,我们要了解几个关键术语: 1. **服务器端(Server)**:运行远程对象的应用程序域。服务器端负责创建和暴露...

    Remoting事件(服务端广播) 源码

    .NET Remoting是微软.NET框架提供的一种技术,用于在不同进程甚至不同计算机之间进行通信。通过Remoting,开发者可以创建可跨进程或网络边界调用的对象,仿佛它们在同一进程中一样。 在Remoting中,服务端广播事件...

    remoting服务自动转变为webservice服务

    将Remoting服务转换为Web Service主要涉及以下几个步骤: 1. **定义接口**:首先,你需要定义服务的公共接口。这些接口应该使用.NET的接口(Interface)来创建,因为它们可以被Web Service使用。 2. **实现服务...

    net remoting 用法

    .NET Remoting 是 .NET Framework 提供的一种高级通信机制,它允许不同应用程序域(AppDomain)间的对象互相通信,无论是同一台机器还是跨网络环境。这使得开发者可以构建分布式应用程序,实现服务间的高效交互。在...

    Remoting简易示例

    Remoting,全称为“.NET Remoting”,是微软.NET框架中的一种技术,用于在不同应用程序域(AppDomain)之间,甚至跨进程或跨网络进行通信。它允许对象在不同的应用程序之间暴露其方法和属性,实现分布式系统中的交互...

Global site tag (gtag.js) - Google Analytics