An Interview with abas USA's RabbitMQ Expert Tareq Abu-Alrub
The 17th Century English poet John Donne famously wrote that “no man is an island, entire of itself, every man is a piece of the continent.” In 2018, that same focus on connecting with others applies to systems and data. Companies that don’t connect, internally through ERP systems and externally, run the risk of becoming islands, which is a terrible way to run any business. Systems need connection as much as people.
What is Rabbit MQ?
RabbitMQ is messaging middleware that works to connect multiple systems together, allowing them to communicate with each other. The developers and users of abas ERP have been using RabbitMQ, finding that it helps them in multiple ways. We spoke with Tareq Abu-Alrub, abas USA’s expert on all things RabbitMQ, to better understand what RabbitMQ is, and the many benefits it provides. Tareq describes it as “the mailman in the middle, exchanging messages between one system and another.”
Put simply, RabbitMQ helps drive connection, allowing systems to exchange messages in a way poet John Donne might have appreciated four centuries ago. RabbitMQ connects in multiple ways, explains Tareq: “It could be a group of systems. It could pass a message from one system to a group of systems at the same time. The systems could be software applications or server programs.” The connection gets made.
RabbitMQ and abas Multi-Site Functionality
Tareq describes now abas is utilizing RabbitMQ to support multi-site functionality in abas ERP: “What multi-site does is integrate, so if you create a record in one system, it would automatically push that record to another system. RabbitMQ manages this process with message and record transfer.” How does the message exchange work? “If RabbitMQ receives something from ERP, it automatically pushes it through to the other system,” explains Tareq. “On the other side, there is multi-site waiting and listening on that queue to see if there’s anything new coming from ERP or any other source. If it finds that file, it automatically imports it.”
How does multi-site benefit abas ERP users? “If you have multiple companies, multiple instances of ERP, and other software solutions that you want to integrate, you need to have a way for them to exchange data automatically with the least amount of maintenance and coding. RabbitMQ is there in the middle enabling all of that.”
RabbitMQ allows systems talk to each other without having to do direct integrations between systems, which can be costly and highly time-consuming.
RabbitMQ’s Benefits for Developers: More Efficiency
RabbitMQ has also made life easier for abas developers, freeing them up to focus more energy on meeting customers' needs. As Tareq explains it, “previously, we had to use FTP servers if we wanted to connect two systems on two different servers. We needed a middle ground where both systems could reach out and then copy and paste files to.” Creating that middle ground , as developers did before using RabbitMQ, was inefficient and time-consuming.
RabbitMQ is very user-friendly. The user can easily check the status of the queues themselves
“If we didn’t have RabbitMQ,” explains Tareq, “we’d have to configure an FTP server, maintain the FTP server, write a program or a script that keeps running and checking the FTP to see if there’s anything new that’s been added. On the server itself, we’d have to add another script to check if there’s anything new coming from the abas application. We’d have to do all of that, and maintain all of those scripts, and create the job schedules for each script. But RabbitMQ does all of that for us.”
RabbitMQ’s Benefits for Users: Easy DIY
The first thing Tareq mentions when asked about RabbitMQ’s benefits for users is that “the user is not typically a technical person.” RabbitMQ, he notes, is much easier for them to deal with than previous solutions to message exchange between systems. “If we did the FTP setup,” Tareq says, “users would have to come to us every time something happened, or a problem occured, or an upgrade was needed, or for anything else they might need related to exchanging messages between servers. But RabbitMQ is very user-friendly. The user can easily check the status of the queues themselves. They can see what’s happening on RabbitMQ, what’s being exchanged every day, what’s being archived, if there’s a problem, if there’s an error message queue.”
What RabbitMQ does is enable a more DIY user who doesn’t need to constantly seek help in doing the basic functions. “RabbitMQ saves customers time and money on maintenance because they can do so much of the maintenance themselves.”
Other RabbitMQ Benefits: Cost and Customization
Because RabbitMQ is open source, users don’t have to pay additional licensing fees. In addition, explains Tareq, “it’s open for development too, so if you want to add more features, you can do that. You could enhance it, or customize it to your own needs.”
So the takeaway here is simple: RabbitMQ is a highly-user friendly messaging middleware allowing you to communicate with and connect systems. It would be difficult to understate the importance of connections in doing business in 2018, and RabbitMQ makes those connections easy. As Tareq explains, “RabbitMQ makes it possible for abas to integrate with other software easily with less programming effort, less time and money, less cost. It enabled the multi-site capability, which is basically syncing data across companies in a much easier and more robust way.” No system is an island: they need to connect and RabbitMQ does exactly that.