Performance and scalability: JMS, SOAP, RMI and a low transport rate

  1. JMS, SOAP, RMI and a low transport rate (8 messages)


    I´m designing a solution to integrate two servers througth a WAN, and a limitation to this project is that I has a "not so good" download rate and a "bad" upload rate!!!

    Who of this, JMS (over IBM MQSeries), SOAP or RMI, would me provides a better performance on this conditions?

    Threaded Messages (8)

  2. First of all, you're comparing two fundamentally different integration methods here, namely asynchronous (JMS) and synchronous (SOAP/RMI, which are basically "remote procedure call" technologies).

    Asynchronous messaging is traditionally related to higher performance, but if you need synchronous messaging and must select RPC, then RMI is absolutely more performant as it's pure Java, unlike SOAP.
  3. Going with an RMI based solution you are limited to Java. If you go with a SOAP interface you have an XML abstraction that allows you to implement the client in any language.
  4. JMS, SOAP, RMI and a low transport rate[ Go to top ]

    SOAP allows for async.
  5. Use SOAP but make sure you have a GZIP compression filter in place.


    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  6. What are your limitations:

    Development Language (technology)?
    Time Frame?
    System Flexibility?

    Answer these, and your question will be easier to answer.
  7. I will try to respond you:

    Development Language: Java and VB 6.0
    Plataform: Server A is NT, Server B is a Unix flavor
    Time Frame: what is it?
    System Flexibility: The architecture choice will have to allow scalability.

    Thank you.
  8. Java and VB 6.0

    With VB 6, you have a lot of options through .NET. You can easily make web services with .NET that are exposed as COM objects for VB 6 code, for example, or you can use ja.net or jnbridge to call into Java directly from VB 6 (again, by exposing the .NET classes as COM objects to VB 6).


    Cameron Purdy
    Tangosol, Inc.
    Coherence: Easily share live data across a cluster!
  9. SOAP vs RMI performance[ Go to top ]

    SOAP is certainly going to be a slow(er) option. How much slower? Prototype and benchmark a realistic version of your app. There's a very interesting detailed PDF paper called "Latency Performance of SOAP Implementations" detailing SOAP vs other protocols performance. It claims that SOAP is orders of magnitude slower thatn RMI, 40 to 200 times depending on type of call (args, no args, type of args, etc.).

    Article conclusion:
    One large source of inefficiency in SOAP is the use of multiple system calls to send one logical message. Several ways to prevent this are discussed in the experimental results. Another source of inefficiency in SOAP is the XML pars-ing and formatting time. Even for a SOAP call that does nothing, XML processing accounts for about 75% of the processing time when network delays are discounted.

    1. Latency Performance of SOAP Implementations: http://www.cse.ogi.edu/~wuchang/cse581_winter2002/papers/p2p-p2pws02-soap.pdf
    2. Fat Protocols: http://www.xml.com/pub/a/2002/01/16/deviant.html