16

What are some of the key differences between these two technologies? Does one have obvious advantages over the other?

jtruelove
  • 3,306
  • 3
  • 25
  • 29
  • 1
    Good writeup [here](http://narencoolgeek.blogspot.com/2006/01/tibco-rv-vs-tibco-ems.html ) – Eleco Nov 11 '09 at 07:56

3 Answers3

21

RV is like a radio broadcaster and EMS is like a telephone.

If you want to send a message to everyone in town (e.g. the weather forecast for today) then a radio is good because one message goes to everyone simultaneously. Telephone is bad because it takes a long time to call everyone and you pay 20c a call.

If you want to tell someone your credit card number you would use the telephone because you can be sure you are talking to the right person. Radio is bad because then everyone in town knows your credit card number.

RV uses a reliable multicast protocol so it supports fast high fan-out messaging capabilities like sending stock ticks to a large number of trading desks (what it was originally designed for). But the tradeoff is poor security and some limits on administration. There are also special considerations for communication across multiple LAN segments or WANs.

EMS is a JMS provider which communicates in a point-to-point fashion much like a telephone. Security is better and administration tasks are easier. EMS is server based (vs RV's peer-to-peer architecture) so store and forward type activities are easier than with RV.

You can mix and match the two to get the best of both worlds. I think later versions of EMS have a multicast capability for Topics, but I haven't used that.

scaganoff
  • 1,830
  • 1
  • 16
  • 19
  • 4
    A couple of problems: (1) Broadcast is different from multicast, so the analogy with radio doesn't apply. I'm not an expert, but I believe RV provides point-to-point and publish-subscribe messaging models. (2) A telephone requires a connection between the sender and receiver of the communication. Point-to-point messaging uses a message queue as a buffer; there's no connection or direct interaction between producer and consumer of the messages. – Paulo Merson Aug 27 '14 at 19:46
  • 1
    EMS can be used for fan-out and pub-sub (with topics), and support multicast for network performance... – GhislainCote Feb 24 '15 at 16:29
3

To build on above answers:

  1. Use EMS when you are looking for persistence of messages.
  2. EMS is based on JMS whereas RV protocols and APIs are proprietary.
Benjamin Wootton
  • 2,089
  • 20
  • 21
0
  • EMS is a broker that supports standard protocols (JMS), TCP
  • RV has focus on low latency, like ZeroMQ or maybe Akka
    • point-to-point over TCP or
    • point-to-point over UDP or
    • multicast over UDP
    • licensed per server
    • messages are sent via topic
    • supports topics with wildcard (*) segments, that don't require specific routing rules or explicit subscriptions to receive data from new topics
  • after Tibco acquired 29West, RV seems to be evolved from the 29West low-latency message bus/broker

For any fans of low-latency messaging (29West and/or Rendezous/RV) I would recommend taking a look at ZeroMQ (a.k.a. 0MQ) or Akka. I've never put it in production at work, but I've built prototypes with 0MQ that were blazing fast. Their new server offerings (new in 2018) are interesting.

API Note

  • in RV, to create a new/guaranteed unique topic use: CreateInbox()
yzorg
  • 4,224
  • 3
  • 39
  • 57