Key Strategies for Choosing the Right Integration Vendor
As with any other solution implementation and rollout, picking the right vendor and tool for your integration needs can be intimidating. Even more so today when legacy integration vendors are giving way to Service Bus solutions from startups, cloud service vendors, and some traditional vendors working to stay relevant. And because a Service Bus is a technical component hidden from end users, the business often struggles to provide very few requirements other than the need to integrate other, specific applications.
So what should an IT organization look for in a Service Bus integration solution?
First a quick definition. A Service Bus Integration Platform is modeled as a flow, taking messages from a source such as an application, file, or API; manipulating the message into one or more formats; then delivering the translated messages to one or more consumers. Most Service Bus solutions have a way to receive messages, map messages to new formats, and supply a set of pre-built connectors to talk to various sources and consumers such as APIs, databases, file systems, and third-party applications such as Salesforce.
As part of selecting a vendor, one of the first decisions is whether to pursue a “free” open source solution, a commercial solution, or a hybrid open source solution supported by a commercial vendor. Open source solutions have little or no initial purchase price, but their tools are far less functional or nonexistent, and the solutions have fewer connectors than comparable commercial systems. In addition, commercial systems usually offer maintenance and support agreements and often support their own hosted cloud-based production environments.
There are several major capabilities you should consider in choosing a Service Bus that will meet your needs:
Supported Integration Models – Consider the integration models your implementation needs to support, including publish/subscribe, one-way messaging, request-reply messaging, and/or high-volume batch processing. Service Buses are like multi-tools. Once they meet the initial rollout needs, they often get used for many disparate purposed, so be sure the selected tool supports the most popular patterns. These models are described in detail at the Enterprise Integration Patterns website.
Connectors – It costs time and money to write you own sources and consumers. Finding a Service Bus vendor that supports connectors that integrate to the things you need will save a great deal of time and money. Be sure to distinguish between those connectors supported by the vendor and those that are contributed by outside parties. If you do go with an outside party connector, minimize your risks by checking on the supplier’s viability, support models, and the availability of source code.
Mapping Capabilities and Tools – Almost all messages received by a service bus need to be transformed before being sent to consumers. While the tools to perform this mapping are almost nonexistent in open source solutions, most commercial vendors have visual, drag-and-drop mappers to make transformation significantly easier. But look deeper than the visual tool itself. Does the tool provide all the complexing field mapping you need (translation, appending/merging, one-to-many, list processing)? Does it support the message formats you require (CSV, XML, JSON, EDI, etc.)? And to avoid backing yourself into a corner, be sure the mapping is extensible by a developer in order to meet your one-off needs.
Message Flow – Almost all vendors supply a visual flow design tool to make building flows easier. Be sure the tool supports the required flow constructs such as conditionals, parallelism, looping, and error handling. And to once again avoid getting backed into a corner, check that the message flow can be extended with custom actions in case the vendor supplied actions won’t work.
Development Support – An often-overlooked consideration prior to purchase is how it incorporates into your development process. How are the flows, maps, and customizations tracked in source control? How are they built and released to QA, Stage and Production environments? How are your flows and mappings going to be tested? An active developer community forum can be invaluable when you get stuck on a problem while implementing the solution. Good vendor training is imperative. In addition, it’s good to check if the vendor provides their own support.
Hosting Models – Service Busses can be hosted on your own hardware, your preferred cloud vendor, or a vendor’s hosting environment, but not all solutions provide all options. Be sure the solution has a hosting option that meets your operational support models and can also scale to meet any long term and peak loads.
There are dozens of other criteria to consider when selecting an integration solution including the usual cost, support models and vendor credibility. Click Here to Download a helpful checklist to provide a start in your evaluation.