This is the next installment of the posts I started in April about the key capabilities of a collaborative integration platform. It has been over a month since I blogged about the first in the series about Reusability. Things got a bit away from me over the last five weeks but I hope to pick up the pace. So here it goes. The second big capability is Flexibility.
Flexibility
Integration requires a flexible approach. There are infinite varieties of integration needs as there are customers and business systems. One key driver of this variability is industry. The integration processes across different vertical markets can be dramatically different. Take for example, the integration of an order process between CRM and ERP in a distribution company versus a capital goods manufacturer. The integration for the distribution company is going to very transaction intensive with paramount emphasis on ensuring that the sales and services teams have up to date information on the location and delivery schedules of goods, while the capital goods manufacturer will likely focus on leveraging back office data about their customers to up-sell and cross-sell additional products and services. Integration processes can also vary greatly within industries based on differences in business models from company to company. A simple example is the difference between a direct selling and a channel selling organization.
Typical areas of variability in integration design include:
- The data design of each business application involved and the transformations needed to resolve the design differences between those business applications,
- The rules of data ownership: which system is the master of what data; which systems can insert or update certain records or fields; etc.,
- The actions that trigger integration events and the rules to process those integrations.
Beware of pre-packaged integration solutions, particularly around this issue of flexibility. They may seem a lot easier to implement, but may not give the user close to what their business requires. Even if a customer can take advantage of a pre-packaged integration solution, the solution will almost always require modification to address the customer's needs. These changes can range from minimal to extensive depending on how unique the business requirements are.
Custom code to achieve integration has a major advantage where it offers unlimited flexibility to meet a customer's needs. There is no limit to what can be accomplished provided that one has the resources with the skills and time necessary. The downside is cost in people, time, and money including the initial cost of the implementing the integration project and the ongoing costs of supporting and modifying the integration over time. The cost of custom code is always more expensive and can be out of reach for some customers. For many customers, the right answer is a third party integration tool that combines a graphical user interface, templates for common integration scenarios, and significant depth of configuration capabilities. An integration tool gives customers to the ability get exactly what they need while significantly reducing (or in some cases, eliminating) the costs and complexity of a custom coded integration.
Next up…Transferability.