Many of our clients face a recurring need to synchronize or migrate data from one system to another. For example, copying orders from an eCommerce website into Microsoft Dynamics GP, copying account information from Microsoft CRM to Dynamics GP and back to Microsoft CRM, or copying payments from Dynamics GP into SalesForce.com.
Many clients often use an off-the-shelf integration tool such as Scribe or a cloud-based solution such as Boomi. At FMT Consultants, we have implemented solutions using Scribe and Boomi numerous times and often recommend these as part of our integration solutions. However, sometimes an integration may be so simple that the cost of an off-the-shelf product combined with the install and configuration time may be too costly. As an alternative, FMT developed the FMT Integration Engine.
The FMT Integration Engine is a generic integration engine designed to synchronize the various data entities used in Accounting, eCommerce, and CRM systems. Some examples of these entities are customer, address, order, order item and payment.
We chose to develop the engine on the Microsoft SQL Server platform in order to allow us the greatest amount of flexibility in configuring, maintaining, and expanding the engine. The engine was originally designed to integrate between Microsoft Dynamics GP and Microsoft CRM, but we have also used it to integrate with customer eCommerce websites and Salesforce.com.
At its most basic level, the Integration Engine is simply a XML message router. Messages are generated in source systems whenever an entity is added or changed. The engine gets messages from source systems by utilizing a set of stored procedures that are registered as message sources, puts them in a message queue, and then delivers them to a set of stored procedures that are registered as handler based on the message type.
The Integration Engine is very loosely coupled to the source systems; it knows nothing about the source system or the messages it produces. All of the knowledge of the source system is confined to a source stored procedure that produces and queues the messages. Similarly, the integration knows nothing about the target systems. The handler stored procedures (i.e. target stored procedures) picks up messages from the queue and performs action with them in the target system.
The FMT Integration Engine is very flexible. Messages can be popped on and off the queue via source/target stored procedures, triggers, a web service, a windows service or a custom application. A historical record is kept for all messages with the results of the integration. In order to view the current queue and history, a web interface is included with the ability to view messages, reset the retry count of messages, and view the delivery results.
To sum up, the FMT Integration Engine is a low cost alternative to off the shelf integration products. The engine is completely SQL-based which provides a very flexible integration platform that is easy to install and maintain.
If you would like more information about the FMT Integration Engine, or have questions about what integration solution is right for you, please feel free to contact FMT Consultants.
Jeff Fenn, Practice Manager
Posted by: Jakob Bechgaard