Q: Firstly, I’d like to have a broad overview. What exactly is middleware?

“Middleware is a platform that interconnects systems. It allows you to send messages across a set of various systems that are interdependent. It also allows you to orchestrate the publication of those messages across the systems. It connects systems together, and facilitates the transmission of information between those systems.

It transforms the data, so that every system doesn’t have to know what the reception system is like. Each system just needs to plug into the middleware, and the middleware will handle the communications between systems. Middleware makes messaging consistent across all systems within an organisation.”

Q: Great, so when would an organisation be likely to use middleware?

“As soon as you have multiple systems that interconnect with each other (probably more than ten), and with one set of information that needs to be published to various systems all in one go, you’ll need a middleware. This is the hard and fast rule, I’d say.

Let’s say, for example, in publishing you have a product system that needs to send product information to various systems; warehouse, sales CRM, and others. You’ll have a middleware in the middle that the product system will connect to. The middleware will decide which other systems are interested in that information, and publish it there. But the product system would not need to know how those other systems work.

In our case, we’ve had a product system (Klopotek) that needs to talk to a warehouse system like Vista, or a sales CRM system like Salesforce. It plugs into the middleware, which says “Okay, who is interested?” Systems X and Y are interested, so we plug into them and tell them exactly what they need to know. The systems don’t need to understand each other. If you have 2 systems, middleware is unnecessary. If you have any more, it’s a good option.

Q: So in a nutshell, what are the main benefits from using middleware?

“The fact that you don’t need to reinvent the wheel. If you have a new system that comes into play at your organisation, you just need to make it understand how to talk to one system; the middleware. I don’t have to understand 10 other systems, or their ins, outs, and inconsistencies.

Middleware makes things more transparent, and makes support more easy because it creates one system that’s in charge of controlling the room in the middle.

Consistency is another benefit. A new system arrives and there’s a clearly-defined documentation about how to plug it into middleware. The middleware has likely already done some integration to other systems, so it takes less time to integrate than for a new system to understand the other.”

Q: Would you say there are any drawbacks to using middleware?

“Of course. It’s a bit heavier. It’s one more system. Also, you can have a reliance on your middleware. So, the day that you want to change your middleware, you have trouble. This is a big job. Although the systems are decoupled from each other, you have a massive bottleneck on the middleware itself. The day that you’re not happy with your middleware, it’s a serious job.

There’s a reliance on that, and also you need to scale. You need to have different mindsets within the organisation to leverage the true benefits.”

Q: Are there any particular types of middleware, or brands that are prominent?

“They all work in a similar fashion. IBM, Oracle, Microsoft. Mulesoft is supposedly open-source, but this is hardly the case. You need to work very hard to get the true value from Mulesoft’s open-source offering. It’s difficult. The others are proprietary, but what they’re doing is always the same. They have connectors that allow them to connect to the main systems in the market, such as Marketo, Salesforce, or Facebook. They are messaging buffs, so they have the ability to read messages, transform them, and send them.”

Q: Can all types of businesses benefit from middleware?

“Small businesses, probably not. They typically only have two or three systems, so there’s no point in implementing a middleware. But every big organisation would usually benefit from having middleware in place. As soon as you have multiple systems, which big organisations do, there’s a benefit. To manage the orchestration and dispatching of messages across different systems.”

Q: Ribbonfish specialise in the publishing and media sector. How can these businesses benefit in particular?

“I think publishers often have a lot of various systems to connect. Traditionally, you have marketing, CRM, warehousing, title management, and product systems. Very quickly, you have a lot of systems to manage there.

Middleware allows you to have more visibility and transparency of what’s going on. Also, you have a lot of integration from one place to another. Especially in big publishing houses. For example, a lot of titles that go from one place to another overnight within the business systems setup. Rather than having a lot of silos or teams that look at one integration, you can centralise it. This centralises support, centralises skills. It also makes it more transparent and reduces the costs of getting a new integration up-and-running.”

Q: Does the rise of mobile impact middleware requirements?

“Well, it makes middleware even more beneficial, because most of the communication is through APIs, and that’s exactly what middleware allows. Especially middleware that’s hosted in the cloud. It allows you to create a set of APIs much faster, and to abstract your back-end systems. Let’s imagine you want to create an internal app for your reps to have access to contacts. If it’s your old system that doesn’t have native APIs, you can connect to a variety of apps, internal and external. In that circumstance, middleware allows you to publish data from a variety of sources to an app.”

Q: And just to wrap up, how has Ribbonfish used middleware recently?

“We have implemented WSO2 for Macmillan Learning in New York, and we are connecting a variety of back-end systems to a middleware, in order to facilitate the decommissioning of an old CRM system. In this case, we plug the old legacy systems and the new ones into the box, and slowly-but-surely move all the integration that was hanging off the old system, and moving them progressively to the middleware. This allows us to not do a “big bang” operation, and deploy new features month”