Tips on use Spring RPC remoting models

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.

你可能感兴趣的:(java,spring,PHP,python,SOAP)