message broker

WSO2 Message Broker

Introduction

With the rapid evolvement of Service Oriented Architectures (SOA), businesses are trying to reorganise their business functionalities into multiple services. Messaging has become one of the crucial elements that needs to be considered while integrating and communicating between these distributed services. This led to the creation of Message Broker which provides a reliable and decoupled messaging mechanism.

A Message Broker provides three principal abilities in an overall Enterprise Architecture:
● A queueing/persistent message facility
● An event distribution (pub/sub) model
● An intermediary where multiple systems can connect irrespective of the direction of messages.

Mitra Innovation is a WSO2 Preferred Partner and we are experts in WSO2 technologies. We love to share our knowledge and experience and thought it would be useful to discuss WSO2’s unique, distributable, fault tolerant and scalable enterprise Message Broker, and how it is used to connect, persist and reliably distribute data and event information generated from multiple systems.

This article is intended for developers, CTOs, CEOs, Entrepreneurs and anyone familiar with technology looking to select the best Message Broker client for their integrations.

The WSO2 Message Broker

WSO2 Message Broker (WSO2 MB) is one of the trending Message brokers in the industry, providing various messaging functionalities. WSO2 Message Broker helps applications to exchange communications asynchronously and supports message queuing and publish-subscribe to enable message-driven and event-driven solutions among heterogeneous environments. WSO2 Message Broker works either standalone or in conjunction with products and components such as the WSO2 Enterprise Service Bus (WSO2 ESB) and WSO2 Complex Event Processing Server.

Infrastructure

The primary programming model for the WSO2 Message Broker is Java Messaging Service (JMS), the standard API to perform messaging while interacting with a Message Broker using Java. JMS supports both Distributed Queue and Publish/Subscribe messaging models. WSO2 Message Broker is built by extending Apache Qpid, an open source Message Broker from the Apache Software Foundation and based on Advanced Message Queuing Protocol (AMQP), open standard for passing business messages between applications or organisations. AMQP allows interoperability by providing different language APIs like Java, C, C++, Python, Ruby, .NET and Perl to interact with systems by agreeing the message format at the wire level. WS-Eventing and the Amazon Simple Queue Service (Amazon SQS) are also supported by WSO2 MESSAGE BROKER. It is also compatible with the Message Queueing and Telemetry Transport (MQTT).

event connector

Features and Benefits

WSO2 Message broker can be acquired with 100% Apache 2.0 open source licensing and consists of extended capabilities with other WSO2 Carbon products or features such as:

● Integrating with WSO2 ESB with JMS transport methods like JMS endpoints and JMS proxy services and through Message Stores and Processors
● Integrating with WSO2 DSS with JMS transport enabled data services.

WSO2 Message Broker can be helpful with integrating business applications and services for several reasons:

● It is Cloud enabled, therefore it can be deployed on-premise, in private, public or hybrid clouds.
● Being a pluggable component for the WSO2 environment, it is easy to monitor and examine the Message Broker functionalities separately and easily. Similarly, it can be easily scaled up and extended due to the use of Cassandra and Zookeeper, which does the coordination when needed.
● WSO2 Message Broker provides high availability and fault tolerance compared to other Message Brokers in the industry. It only creates one copy of the message during delivery, but allows a large number of transfers in asynchronous publish/subscribe messaging models.
● WSO2 Message Broker provides guaranteed delivery for required messages using two implementations – ‘Strict Ordering’ support using shared lock with Zookeeper and ‘Best Effort Implementation’.
● It is easy to handle large message transfers using WSO2 Message Broker as it selects storage on messaging demand.

Besides the basic Message Broker features which include queues, topics, distributed queues, durable subscriptions, dead letter channel, WSO2 Message Broker provides additional features for its users which include:

● Real time statistics
● Setting queue
● Topic permissions
● Dynamic queue creation.

Conclusion

Mitra Innovation recommends WSO2 Message Broker as the best middleware to provide messaging infrastructure for system integration. This is due to its open source nature, its compatibility with other powerful WSO2 products as WSO2 ESB, WSO2 DSS etc. and the vast number of benefits listed above.

Randima somathilaka

About the Author

Randima Somathilaka is an Associate Software Engineer at Mitra Innovation, a technology company that specialises in product, platform and SaaS incubation services, Cloud-to-Cloud systems integration, and digital innovation and transformation.

Find out how Randima and the rest of the Mitra Innovation team can help you make the most out of WSO2 Message Broker.