Sheet1

Name client License History Message Transport Java implementation of JeroMQ Java GNU LGPL library

MSMQ C++, Visual Basic, .NET, Part of OS Windows since 1997

Currently only beta, version 0.6. Nanomsg 23 languages 2.0 released ul 2015

C# implementation of zeromq, NetMQ C# GNU LGPL version 3.3.2.1. released sep 2015 Ruby, Go, Java, CoffeeScript, Python, Resque Clojure MIT license stable release 2013 Python, Cyclone, Ruby, RestMQ Erlang BSD license stable release may 2015 GNU LGPL v3, or commercial license stable release 2015, community Sidekiq Ruby, HTTP for business growing IMatix, 2008, first version; 2011 mass produced, latest release aug ZeroMQ 30+ languages LGPL 2015

Apache ActiveMQ 20+ languages Apache License 2.0 latest release 2015

Apache Apollo Java, Scala Apache License 2.0 latest release 2015

Apache Kafka 17+ languages Apache License 2.0 Version 0.9, nov 2015

C++, Perl, Python, Ruby, .NET, C, Java, JavaScript, PHP Apache License 2.0 Version 0.3, sep 2014

Darner C, C++ Apache License 2.0 Stable release mar 2013

EagleMQ C BSD stable release 2013 ejabberd Erlang GNU GPL v.2 Latest commit dec 2015

FFMQ Java GNU LGPL v3 Latest release 2013

RedHat, 2009, current version HornetQ Java Apache License 2.0 2013

Page 1 Sheet1

IBM Websphere C, Visual Basic, .NET, C++, Various IBM IBM, 1990's, latest MQ V8 released in MQ Java, JMS, ActiveX licences 2014

OW2, 1999, latest release may JORAM Java, XML, 13+ others LGPL 2015

Kestrel ASP.NET, Java Apache License 2.0 2.4.1 released nov 2012

MemcacheQ Perl, Python, C, BSD license ~2009, version 0.2.0. Since 2009, stable releast sep Mosquitto C, C++, Python, javascript BSD license 2015 GlassFish, 2008, stable release OpenMQ Java, C CDDL or GPL v2 2014

LShift and CohesiveFT in 2007, Java, Ruby, Python, .NET, acquired in 2010 by SpringSource, PHP, Perl, C/C++, Node.js, division of VMware. The project Go, Erlang, Haskell, Ocaml, Mozilla Public became part of GoPivotal in May RabbitMQ Lisp, COBOL, JavaScript, License 2013. Latest release July 2015

Redis ~38 languages BSD license Stable release sep 2015

Stable release v3.2.6, 2015. Documentation only available in RocketMQ Java Apache License 2.0 Chinese. Created 2008 in Twitter.Latest Starling memcache, Ruby MIT license commit 2011

.NET, Java, C, Perl, PHP, SwiftMQ evaluation 1990, Germany. IIT SwiftMQ Python, Ruby license 2.0 GmbH Integration Framework Java, XML, Groovy, Scala, Kotlin. Domain-specific Version 2.16.0., oct 2015. Used by language Apache License 2.0 Jboss, FuseSource, talend CPAL license – UI tools, domain-specific community or ESB languages Enterprise Version 3.7.0., 2015, MuleSoft Java, XML, Scala, Groovy. Spring Integration Domain-specific languages, Version 4.2.2., 2015, Pivotal Framework GUI Apache License 2.0 Software, Inc. Enterprise Service Bus

Apache domain-specific languages, ServiceMix Spring, XML Apache License 2.0 Version 6.1.0., 2015 Java, JavaScript, Ruby, Groovy, Scala Apache License 2.0 Version 2.1.0., 2012

Page 2 Sheet1

Fuse ESB Java Apache License 2.0 Stable release version 6, dec 2015

IBM Integration 1990, Germany. IIT Software Bus GUI IBM proprietary GmbH Java, JBoss developer Jboss community project, latest Switchyard studio Apache License 2.0 release 2015

TIBCO C, C++, Java,Visual BASIC, Created by Talarian, bought by Rendezvous Perl, .NET TIBCO proprietary TIBCO. Version 8.4.4., 2015

WSO2 ESB Java, GUI Apache License 2.0 Version 4.9.0., sep 2015 Integration suite

Oracle Fusion Middleware Java, GUI proprietary Current version 12.2.3 Red Hat End User Red Hat JBoss License BPM Suite Java, GUI Aggreement Current version 6.2, part of Jboss Founded 1996, absorbed by Software AG Software AG Software AG. Now part of webMethods Java, C, C++ proprietary Software AG bundle

Talend Data Apache License 2.0, Uses Kafka. Talend corporation‘s Fabric GUI or proprietary main product. other

Beanstalkd 20+ languages MIT license Latest release aug 2014

Celery Depends on Api BSD license Stable release sep 2015

Gearman 10+ languages BSD Stable release dec 2014

NSQ 20+ languages MIT license Version 0.3., sep 2015 First release 1998, University of Colorado project. Backed by US GNU GPL v.3 or Air Force dept. Of Science. Latest SIENA Java, C++ higher release may 2015 Cloud based

Java, Ruby, Python, .NET, Amazon SQS PHP, JavaScript Apache License 2.0 Amazon, 2004

Ruby, PHP, Python, Java, Go, .NET, Node.js and Founded 2011, iron.io. Products: IronMQ more Iron.io proprietary IronWorker, IronMQ

Page 3 Sheet1

Microsoft Azure .NET, Node.js, Java, Ruby, Service Bus Python, PHP proprietary Microsoft, 2010

Apache Software Hermes Swing GUI License Latest update 2013

Company founded in 1993, Cloud Informatica Ultra Informatica support programme started in Mesaging C, .NET, Java proprietary 2006

OpenAMQ Python, Java, Ruby, C Latest release 2010

Mozilla Public StormMQ unknown License 2009, Cloud servicing

Crossroads I/O - - -

IBM WebsSphere service scheduled to be ESB IBM proprietary discontinued by 2018

Jboss ESB GUI LGPL v2.1 Lastest release 2013

Kestrel Scala Apache License 2.0 Stable release nov 2012

Last update 2013. Site up but Mantaray mq C++, Java, C# MPL license download not working.

NETS 12 languages Apcera corporation, Around 2000, page last updated OpenJMS Java Open Source 2007, only beta

Sparrow memcache, Ruby MIT license Copyright from 2008

SmartMQ Java Open Source Last update 2013

Page 4 Sheet1

Pricing OS Native API Language Notes free Windows, UNIX zmq API Java zeromq client

Part of OS Part of , Windows Windows C++ or COM Windows part of Windows socket library, improvement on free Windows, UNIX nanomsg C API C ZeroMQ

zeromq free Windows,UNIX zmq API C# reimplementation

Redis-based Ruby free UNIX Ruby library Ruby library message queue, free UNIX REST Ruby redis-based free or $750/year Redis-based Ruby (pro) UNIX Ruby library Ruby library for Rails

socket library, free Windows, UNIX zmq API C++ flexible

Free Windows, UNIX JMS, CMS, NMS Java message broker message broker, improvement on Free Windows, UNIX JMS Scala ActiveMQ log aggregation solution, can be used as message Free Windows, UNIX Kafka API Scala broker

Java, C++, message broker, full Free Windows, UNIX JMS, Proton Python AMQP free OSX, UNIX C++ library C++ Message broker free Linux C library C Message broker

Mac OS X, free Windows, Linux Erlang library Erlang Message broker message broker, JMS-based, free Windows, UNIX JMS Java lightweight

JMS API, Hornet free Works on JMS API Java message broker

Page 5 Sheet1

Free for developers, otherwise $ UNIX, Linux, IBM MQI, JMS 30 - 112 Windows API Java Message broker free Windows, UNIX JMS API Java Message broker

Scala Kestrel free Windows, UNIX API Scala Message broker depends on memcache free UNIX Memcache API used message broker Windows, free UNIX, Linux C library C message broker Windows, free UNIX, Solaris JMS API Java message broker Windows, Debian, Ubuntu, Fedora, RHEL, UNIX, Solaris, APIs for various free Mac OS X languages Erlang message broker

data structure store – database, cache, free UNIX, Linux Redis API C message broker

UNIX, Linux, free Windows JMS API Java message broker free UNIX, Windows Ruby library Ruby message broker

Various Windows, products UNIX, Linux JMS Java message broker

Enterprise Camel routes via Integration free Windows, UNIX Fuse IDE GUI Java Framework Enterprise free, paid Integration support Windows, UNIX Mule Studio Java Framework Enterprise Integration free Windows, UNIX Spring Java Framework

Enterprise Service Bus, unifies ActiveMQ, Camel, free Windows, UNIX OSGi Java CXF, Karaf Enterprise Service free Windows, UNIX REST API Java Bus

Page 6 Sheet1

Windows, Enterprise Service free UNIX, Linux OSGi, JBI Java Bus developer Configuration Enterprise Service edition free Windows, UNIX Manager Proxy Java Bus Enterprise Service free Windows, UNIX Switchyard API Java Bus free trial, after that, Windows, VMS, Enterprise Service paid UNIX, MVS TIBCO API Java Bus Enterprise Service free Windows, UNIX WSO2 API Java Bus

Windows, free for UNIX, Linux, developers OSX JMS API Java Integration suite free for developers Windows, UNIX Jboss API Java Integration suite commercial product Windows, UNIX JMS API Java Integration suite free for developers, Windows, paid UNIX, OSX, otherwise Linux talend API Java Integration suite

UNIX, Linux, free Mac Beanstalk API C task queue Celery Calling free UNIX API Python task queue

free linux API C task queue

Web UI nsqadmin, NSQ Distributed free OSX, UNIX API Go messaging platform

Event Notification free UNIX, Linux Siena API Java Architecture

message queueing Usage-based service, AWS payment Cloud-based Amazon API unknown account necessary Free or $30 (developer) – 500 (dedicated cluster) Iron API, message queueing /month Cloud-based dashboard Go service

Page 7 Sheet1

Usage-based Cloud-based Enterprise Service payment server .NET .NET Bus free JMS GUI - Java GUI for JMS Part of the Informatica Data integration Windows, JMS-based cloud bundle Linux, UNIX JMS API Java queueing services Windows, Linux, AIX, Solaris, Mac OS/X, UNIX JMS API Free for up to 5 connected StormMQ API, message queueing clients Cloud-based SQL compatible Java service

- - - - Site down

Enterprise Service Windows, UNIX JMS API unknown Bus Windows, Ulinux, Unix, Enterprise Service free OS X Java Bus free UNIX JVM Scala message queue

Windows, serverless transport free Linux, Solaris JMS API Java layer (P2P) depends on client language Ruby free Windows, UNIX OpenJMS API Java JMS implementation free UNIX JMS API Ruby message broker unknown, probably anything with free Java JMS j2se Java

Page 8 Sheet1

Website Active/Inactive SSL support Clustering https://github.com/zeromq/jero mq Active NO YES https://msdn.microsoft.com/en - us/library/ms711472(v=vs.85). aspx Active NO YES http://nanomsg.org/ Active NO YES http://netmq.readthedocs.org/e n/latest/ Active YES possible with NanoCluster https://github.com/resque/resq ue Active YES with plugin http://restmq.com/ Active YES not applicable http://sidekiq.org/ Active NO YES http://zeromq.org/ Active NO YES

Master/slave, Network of Brokers, Store and http://activemq.apache.org/ Active YES Forward https://activemq.apache.org/ap ollo/ Active YES Mirrored queues

Partitioned and replicated https://kafka.apache.org Active YES by default

https://qpid.apache.org/ Active YES Active-active https://github.com/wavii/darner Active NO YES https://github.com/yakushstani slav/EagleMQ Active NO NO https://www.ejabberd.im/ Active YES YES http://timewalker74.github.io/ff mq/ Active YES NO Client-side load balancing, server http://hornetq.jboss.org/ Active YES discovery, good stuff

Page 9 Sheet1 http://www- 03.ibm.com/software/products/ en/ibm-mq Active YES Networks of brokers, HA Load balancing and failover mechanisms, http://joram.ow2.org/ Active YES otherwise just JMS http://twitter.github.io/kestrel Active NO YES, but no coordination http://memcachedb.org/memc acheq/ Active YES NO http://mosquitto.org/ Active YES Naive round-robin https://mq.java.net/downloads/ index.html Active YES YES

https://www.rabbitmq.com/ Active YES Federation, mirroring

http://redis.io/ Active NO YES

https://github.com/alibaba/Roc ketMQ Active NO Unknown https://github.com/starling/starl ing Active NO NO http://www.swiftmq.com/ Active YES YES

http://camel.apache.org/ Active https://www.mulesoft.com/platf orm/enterprise-integration Active http://projects.spring.io/spring- integration/ Active

http://servicemix.apache.org/ Active http://synapse.apache.org/ Active

Page 10 Sheet1 www.jboss.org/products/fuse/overviewActive www- 03.ibm.com/software/products/ cs/ibm-integration-bus Active http://switchyard.jboss.org Active http://www.tibco.com/products/ automation/enterprise- messaging/rendezvous Active http://wso2.com/products/enter prise-service-bus/ Active https://www.oracle.com/middle ware/index.html Active http://www.jboss.org/products/ bpmsuite/overview/ Active http://www.softwareag.com/cor porate/products/az/webmetho ds/ Active https://www.talend.com/produc ts/data-fabric Active http://kr.github.io/beanstalkd/ Active NO Not default http://docs.celeryproject.org/en /latest/index.html Active YES YES

http://gearman.org/ Active YES YES

http://nsq.io/ Active YES YES http://www.inf.usi.ch/carzaniga /siena/ Active YES NO

https://aws.amazon.com/sqs/ Active YES YES

http://www.iron.io/mq/ Active YES YES

Page 11 Sheet1 http://azure.microsoft.com/en- us/services/service-bus/ Active YES YES

Unknown, site http://www.hermesjms.com/ down https://www.informatica.com/pr oducts/data-integration/real- time-integration/ultra- messaging.html#fbid=ZbFgirS P5hC Unknown

Unknown http://stormmq.com/ unknown https://github.com/crossroads- io Inactive http://www.ibm.com/developer works/websphere/library/techa rticles/1303_pisal/1303_pisal.h tml Inactive http://jbossesb.jboss.org Inactive http://robey.github.io/kestrel/ Inactive http://spacebug.com/mantaray _open_source_jms.html Inactive https://nats.io/ Inactive http://openjms.sourceforge.net / Inactive https://code.google.com/p/spar row/ Inactive http://sourceforge.net/projects/ smartmq/ Inactive

Page 12 Sheet1

Protocol Transaction support Default storage

ZMTP NO NONE

MSMQ YES SQL database

TCP, IPC, INPROC YES NONE

ZMTP YES NONE

resque NO Redis

HTTP + JSON NO Redis

HTTP REST YES Redis

ZMTP NO NONE

AMQP, AUTO, MQTT, OpenWire, REST, RSS, KahaDB, Atom, STOMP, WSIF, WS Notification, XMPP YES LevelDB

STOMP, AMQP, MQTT, OpenWire YES BDB, LevelDB

TCP-based proprietary YES Logs on disk

Apache Derby, AMQP YES Oracle BDB

Same as Kestrel NO LevelDB disk storage, custom NO no database

XMPP YES Mnesia

disk storage, TCP-based YES no database

CORE, AMQP, STOMP YES Hornet journal

Page 13 Sheet1

WebSphere transport protocol using SOAP or Oracle DB, XML YES DB2

AMQP, STOMP YES MySql, JDBC

disk storage, memcache, thrift NO no database memcache NO BerkeleyDB

MQTT NO mosquitto.db

STOMP, WebSocket YES JDBC

RabbitMQ AMQP, STOMP, MQTT, HTTP YES message store

Redis protocol YES Included

AMQP, MQTT YES unknown memcache YES log

AMQP YES JDBC

Page 14 Sheet1

Beanstalk (based on Memcache) NO binary log

Task Message Protocol v2 YES NONE Drizzle, memcache, SQLite, Gearman protocol YES PostgreSQL

NSQ-protocol YES unknown

TCP, UDP NO NONE

NO, but workarounds HTTP REST possible SimpleDB

NO, but workarounds HTTP REST possible AuthDB

Page 15 Sheet1

Microsoft SQL - - server

Page 16 Sheet1

Message filtering Use Case

As ZeroMQ, but for Java

Applications dependent on SQL, communicating over HTTP, insensitive data

As ZeromMQ, but has better connectivity and protocol support.

.NET implementation of ZeroMQ.

Distribution of Jobs at the background of a Ruby application. Possible to add pub/sub through a plugin.

Distribution of Ruby application components plugin for pub/sub form Rails Distribution of Ruby application components

Simple and fast delivery of insensitive data. Many different architectures can be built off of it.

Transactional messaging, High-performance market data distribution, clustering, web data streaming, JMS selectors, content-based routing RESTful HTTP

JMS selectors idem

Messaging, Website Acivity Tracking,Log Aggregation, Partitioned topics, consumer groups Stream Processing, Event Sourcing, Commit Log

JMS selectors, content-based routing High Volume Transient Broker Keeps messages out of process. For very large queues ? (more than what can be held in the RAM).

Protocol-based routing Small projects. Not a lot of support.

Large mobile networks (Whatsapp), gaming, social multicast content-based routing networks, video messaging, internet of things

JMS selectors, content-based routing Fast, lightweight, simple. Distributing jobs to workers.

Enterprise integration, part of Jboss server. For big JMS selectors, content-based routing projects

Page 17 Sheet1

Enterprise integration with IBM service bus, or as a MOM system (expensive, but with good technical JMS selectors, content-based routing support)

JMS selectors, content-based routing Integration of messaging into an OSGi-based framework none Message queueing between application components

Memcache multicast Small projects. Fast, memcache-compatible, simple.

MQTT pub/sub Low-power sensors and mobile devices.

JMS selectors, content-based routing JMS provider for the GlassFish server.

Messaging platform for distributed applications. Relatively high overhead, but good community support routing keys and easy for work.

Cases where the entire data set can fit into memory. Pattern-matching subscriptions Database with messaging.

JMS selectors, RocketMQ filters Message broker implementation. Docs only in Chinese. plugin for pub/sub for Rails Slow compared to others, „fast enough“

Enterprise message-oriented middleware with corporate JMS selectors, content-based routing support

Page 18 Sheet1

Round-robin distributing small tasks to workers Distributing tasks to worker nodes. Requires a broker to Round-robin work.

Round-robin Distributing tasks to worker nodes.

multicast REST integration, distributed systems communication

p2p Sensor networks. Passing of packets on a p2p basis.

When hardware solution is impossible, ASQS provides messaging through the internet. Web crawling, mobile JMS selectors, content-based routing computing, cloud scheduling

Integration, processing with IronWorker, Web crawling, mobile computing, cloud scheduling. Available both as a multicast service in the cloud and on-premise.

Page 19 Sheet1

- Integrating multiple Microsoft services

Page 20