When writing a piece of software,
we are in total control of the quality of the product. With integration, many
elements are not under our control. Network and firewall are usually managed by
IT. With external systems, we usually don’t know how they work, or many times, not
given access. Yet, any changes to these elements can cause our interfaces to
fail.
For synchronous interfaces, the
user would receive instant feedback after each action is taken (e.g. Maximo
- GIS integration), thus, we don’t usually need to setup alarms. For
asynchronous interfaces, which usually run in the background, and don’t give instant
feedback, when failure occurs, it usually goes unnoticed. In many cases, we
only find out about failures after it has caused some major damage.
A good interface must provide
adequate mechanism to handle failures, and in the case of async integration,
proper alarms and reports should be setup so that failures are captured and
handled proactively by IT and application administrators.