Start with user needs
Before you start, it is so important to understand what you want to achieve and why by integrating. Integration can be enormously useful when the need has been clearly defined. Integration is expensive, can be tricky to implement and creates a support need, so if you don’t know why you are doing it, you could be creating yourself a very expensive headache.
Integrate data not applications
Integration of any kind should be driven by a user need. Start by understanding the user need and use technology and data to design an appropriate solution. A blanket application to application integration is rarely valuable or required.
Open data by default but protected appropriately
Data should be treated with the correct level of security and protection at all times. Data should be open by default and protected where necessary.
Authentication and security (SSL/TLS) are standard.
Handle failure gracefully
Assume that every part of an integration could be offline at any time and each part of the integration should fail over gracefully. Users should be guarded from
failure at all times and their experience should be as seamless as possible. Data should never be lost or unaccounted for, even if an application is unavailable.
Standards wherever possible
Don’t repeat yourself (DRY) when it comes to integration
Data manipulation and data integration are different things
Changing the structure or format of data should be handled separately to sending/receiving data between systems.
This creates clarity and a separation of concerns that’s more easily managed