Welcome back! In part one of this ESB blog series, we looked into the differences between Proprietary and Open Source ESBs. But there is more to choosing an ESB than just that. What role do you want your ESB to play in your organization? Do you want your systems only to communicate with one another or do you want to integrate everything you own? In other words: are you a standalone or a platform kind of person? Let us find out.
It is widely believed that the interconnection of disparate systems can be easily achieved by using an ESB. However, when your systems are able to communicate with each other through open standards, regardless of their own native protocols, new challenges arise. Integration is not only complex from a technological point of view; it can also be politically complex. For example, what do you do when department A does not want department B to have full access to its systems and vice versa? Moreover, when integration is extended to outside partner organizations, this sharing issue becomes even more evident. You do not want your sensitive data to be available to externals or -even worse- people with bad intentions. Integration is a wonderful thing, but only when executed carefully.
Access and identity management
When systems are interconnected, the integration infrastructure becomes a system on its own and therefore needs to be managed as well. This calls for management and monitoring capabilities that a standalone ESB does not have. A standalone version only connects one system to another but does not offer any additional services to manage your infrastructure. A platform ESB does, and is capable of connecting systems, business processes and workflows according to business rules. Another difference revolves around versioning and usages. Not all services are created the same way and their consumption mode differs as well, meaning your integrated infrastructure asks for many new requirements. A standalone ESB only facilitates the interconnection and communication of disparate systems but does not offer complete functionality to use such an infrastructure to the fullest of it capabilities. When working with an ESB platform, on the other hand, the sky is your limit.
Standalone and platform ESBs both serve different purposes and needs. When working with many different systems, however, we would highly recommend a platform version, as it solves many of your IT issues and offers many possibilities for integration and management. Imagine you were looking for a platform ESB; which options do you have? Let us start with the incumbent proprietary software vendors: Oracle, IBM, Software AG and Tibco. All of these vendors offer a fully functional integration platform and they all boast an integration stack built from best-of-breed applications. These applications were acquired and then rewritten to work together. The downside of this approach is that, because most applications were built by different vendors, they all have a different code base and they all use different basic functionalities such as user management, security management, and configuration. This makes the whole stack quite large and difficult to set up. Furthermore, they do not integrate as well as they should. But nonetheless all of these platforms offer ample functionality to address the issues in the previous paragraph. They do come with a price tag, though.
An answer to the usually hefty price tag of the proprietary software vendors comes from the open source community. The most common names that pop up in Gartner and Forrester reports are MuleSoft, Talend, Red Hat and WSO2. These vendors are comparable, but do have their specialities:
- Talend focuses on data integration (MDM), service integration (ESB) and process integration (BPM)
- RedHat’ JBoss platform focuses on application development, service integration, and business integration
- MuleSoft revolves around the integration of services (ESB) and how to expose them (API)
- WSO2 offers a complete and modular integration stack
Enterprise versus community edition
It goes without saying that not all proprietary software vendors are the same, nor are the open source vendors. In the open source space, three of the four discussed vendors offer both a community and an enterprise edition of their software. The community version is free of charge. However, this version often lacks the features that a professional organization usually requires. The enterprise editions are subscription based, closed source, and offer enterprise grade functionality. The community version offers a trial period to dangle your feet a bit for free before plunging in the possibly more expensive deep end. Only WSO2 is 100% open source and offers a community edition that offers enterprise grade functionality.
How to choose?
After this brief description of the mainstream vendors and their offerings, it is time to select the right vendor. If you are looking for solely ESB functionality, you cannot go wrong selecting one of the previously mentioned offerings. All vendors have a large install base across different market segments and company sizes. The key to selecting the right product lies with the non-functional requirements of your IT strategy. You should look at the distinguishing qualities per offering and the bests fits for your organization. So look at the ‘DNA’ of the vendor and its partners, just as customers do with Apple and Android. More on that in the third and last part of this blog series.
Are you a standalone or a platform type? Leave a comment below!
Next up: Cultural considerations