Main Article Content
Software integration is a crucial aspect of collaborative software applications and systems. It enables a number of different software applications, created by different developers, using different programming languages, and even located at different places to work with each other collaboratively to achieve common goals. Nowadays, a number of techniques are available to enable software integration. Messaging is the most prominent technique in this respect. In this paper, two leading open-source messaging brokers, Apache ActiveMQ and Apache Apollo, have been experimentally compared with each other with regard to their messaging capabilities (message sending and receiving throughputs). Both brokers support exchanging messages between heterogeneous and distributed software applications using several messaging mechanisms including Java Message Service (henceforth JMS). A number of experimental test scenarios have been conducted to obtain the comparison results that indicate the one-to-one JMS messaging performance of each broker. Overall performance evaluation and analysis showed that Apache Apollo outperformed Apache ActiveMQ in all test scenarios regarding message sending throughputs. Whereas, Apache ActiveMQ outperformed Apache Apollo in most test scenarios regarding message receiving throughputs. Moreover, the evaluation methodology (test conditions, test scenarios, and test metrics) proposed in this paper has been carefully chosen to be adopted by software developers to evaluate other messaging brokers to determine the acceptable level of messaging capabilities in distributed environments of heterogeneous software applications.
Crimson Consulting Group (2003). High-Performance JMS Messaging: A Benchmark Comparison of Sun Java System Message Queue and IBM WebSphere MQ. Los Altos, CA.
Greenfield, P. (2004). QoS evaluation of JMS: an empirical approach. Proceedings of the 37th Annual Hawaii International Conference System Sciences, 1-10.
He, W. & Xu, L. D. (2014). Integration of Distributed Enterprise Applications: A Survey. IEEE Transactions on Industrial Informatics, 10(1), 35-42.
Hohpe, G., & Woolf, B. (2003). Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley Professional, 1st edition.
Hsiao, T.-Y., Cheng, M.-C., Chiao, H.-T., & Yuan, S.-M. (2003). FJM: a High Performance Java Message Library. IEEE International Conference on Cluster Computing (ICCC), 460-463.
Klein, A. F., ŞtefǍnescu, M., Saied, A., & Swakhoven, K. (2015). An experimental comparison of ActiveMQ and OpenMQ brokers in asynchronous cloud environment. the 5th International Conference on Digital Information Processing and Communications (ICDIPC), 24-30.
Menth, M., Henjes, R., Gehrsitz, S., & Zepfel, C. (2006).Throughput Comparison of Professional JMS Servers. University of Wurzburg, Institute of Computer Science, Research Report Series, Report No. 380, 1-23.
Richards, M., Monson-Haefel, R., & Chappell, D. A. (2009). Java Message Service. O’Reilly, 2nd edition.
The Apache Software Foundation, Apache ActiveMQ web link: http://activemq.apache.org/, accessed 10/05/2017.
The Apache Software Foundation, Apache Apollo web link: http://activemq.apache.org/apollo/, accessed 10/05/2017.
Tran, P., Greenfield, P., & Gorton, I. (2002). Behavior and performance of message-oriented middleware systems. Proceedings of the International Conference on Distributed Computing Systems, 645-650.