Tips on when to use different Spring RPC remoting models
Spring 2.5 supports 4 remoting models, namely:
- Remote Method Invocation (RMI)
- Hessian or Burlap
- HTTP Invoker
- JAX-RPC/SOAP
So a question arises which method is best suited and when. Here is a very basic "Spring Remoting Model X useful when..." list
Remote Method Invocation (RMI)
RMI is useful when:
- Accessing/exposing Java based services over a network and network constraints are not a factor (for example: firewalls)
- Objects being transferred over the network are very complex.
RMI is NOT useful when:
- When client or server side is not using Java programming language.
Hessian or Burlap
Hessian/Burlap is useful when:
- Accessing/exposing Java based services over a network/internet with firewalls
- Your service must communicate with other programming languages such as: PHP, Python, C++, etc.
- You need a light weight container (consider handheld devices)
- You need small message sizes.
Hessian/Burlap is NOT useful when:
- When you are using complex objects. They might not be serialized correctly since Hessian/Burlap is using proprietary serialization mechanism.
HTTP Invoker
HTTP Invoker is useful when:
- Accessing/exposing Java based services over a network/internet with firewalls
- Objects being transferred over the network are very complex
HTTP Invoker is NOT useful when:
- When client or server side is not using Java programming language and Spring Framework
- When you don't want to couple you code to Spring Framework.
JAX-RPC/SOAP
JAX-RPC/SOAP is useful when:
- Accessing/exposing services over a network/internet with firewalls
- You want to communicate with any programming language.
分享到:
相关推荐
spring-remoting.jar spring-remoting.jar
org.apache.cxf.spring.remoting.Jsr181HandlerMapping.jar
《Spring Remoting详解》 Spring框架以其强大的依赖注入和面向切面编程能力,深受开发者喜爱。在分布式系统中,远程调用(Remoting)是必不可少的技术之一,Spring Remoting提供了多种远程调用解决方案,帮助开发者...
自己弄的三层框架Spring.net,Remoting 本系统共分3部分: 1, DataAccess 数据访问层, 使用Ado.Net和Sql2005交互..数据访问层基本的Model, 单表基本操作存储过程, Dao代码可以由"动软代码生成工具修改版"生成 2, ...
"c# 实现远程调用(rpc) remoting"是C#的一个关键特性,它允许对象在不同的进程甚至不同的计算机之间进行通信,仿佛它们是在同一个内存空间内操作。这个主题涉及到分布式系统开发,对于理解跨进程通信和提升系统的可...
由于spring2和spring3的rmi方式调用方式不同引起的,通过查阅相关文档后发现,spring3不在需要生成skeleton和stub了,所以把这个类从spring-context中删除了,解决办法就是想办法将它再加进来
使用.NET Remoting从服务器主动发出事件通知客户端(远程广播) 经常看见有人问:使用.NET Remoting如何从服务器主动发出事件通知客户端?的确,初接触.NET Remoting的人多半会有这样的疑问,因为大部分的文章和...
刘冬编写Spring.NET学习笔记20——整合Remoting(应用篇)的例子 原文:http://www.cnblogs.com/GoodHelper/archive/2009/11/19/SpringNet_Remoting.html
org.springframework.remoting.caucho.BurlapClientInterceptor.class org.springframework.remoting.caucho.BurlapProxyFactoryBean.class org.springframework.remoting.caucho.BurlapServiceExporter.class org....
本示例着重介绍如何在Spring和SpringMVC框架中集成Hessian RPC,以实现客户端和服务端的通信。 Hessian是一种轻量级的二进制Web服务协议,由Caucho公司开发。它具有较高的传输效率,支持Java和.NET等多种语言,特别...
.NET Remoting是微软.NET框架中的一个核心技术,它允许在不同应用程序域(AppDomains)或不同计算机之间进行对象间通信,从而构建分布式应用程序。这个技术在.NET早期版本中扮演了核心角色,尤其对于需要跨进程或者...
在Spring框架中,注解是实现服务暴露和远程调用(Remoting)的重要方式,它极大地简化了配置,提高了代码的可读性和可维护性。本文将深入探讨如何使用注解来实现Spring中的Remoting服务。 首先,让我们理解什么是...
项目工程结构如下图所示,除了包含spring定义远程服务org.springframework.remoting.httpinvoker.*部分节点代码(红框框部分,具体设计代码部分参考相关代码示例说明文章),还包含springmvc等其他示例部分可以忽略...
在当今的IT行业中,"Pro Flex On Spring"一书为我们提供了一个深入探讨如何将Flex和Java的Spring框架结合使用的珍贵视角。在这本书中,作者Chris Giametta详细讲述了如何将Flex应用于前端UI展示,同时利用Java开发...
.NET Remoting是微软.NET框架提供的一种技术,用于在不同的应用程序域(AppDomain)之间进行通信,无论是同一台机器上的还是跨网络的。这种技术在分布式系统开发中扮演着重要角色,使得不同进程甚至不同计算机之间的...
Spring框架,作为一个广泛使用的Java企业级应用开发框架,提供了多种RPC实现方式,其中之一便是Spring-Remoting-AMQP。这个开源项目将Spring的远程调用功能与Advanced Message Queuing Protocol(AMQP)相结合,为...
* Spring enterprise: Spring Java EE integration, Spring Integration, Spring Batch, jBPM with Spring, Spring Remoting, messaging, transactions, scaling using Terracotta and GridGrain, and more. ...