4.5. Integrations with other SoftwareIRM can be licensed for special interoperabilty with select other products, via special integrations.
A basic level of interoperability with a great number of other products and tools is already provided in IRM though its comprehensive data import and export capabilities.
Special Integration design principlesIRM special integrations are designed to integrate with specific industry products or solutions and are based on the following principles:
Generic IntegrationIRM utilizes the following basic set of integration-related objects and services, which help keep much of the integration generic.
The above features work together to enable considerable functionality, while minimizing the need for custom code and even limiting most of the custom code to a single component (the Integration Service).
Minimal IntegrationIntegrations that copy large amounts of data suffer from three major problems:
IRM seeks to avoid all of these issues by using an integration strategy that depends primarily on data federation, rather than data duplication. Using this strategy, each integrated system continues to be the primary owner of its data, while maintaining references to relevant related data in the other system. IRM accomplishes such references in a robust and general way via the Proxy objects that are described above.
The data federation approach also prevents the systems from needed to re-implement each other's user interfaces for viewing and modifying objects. For example, IRM keeps a Proxy for a Linkware Live project and Cable Ids, allowing the user to view the details in Linkware live by providing a direct link from within the IRM Interface.
Tightly aligned but loosely coupledThe Integration Service, a bit of custom user interface, and IRM Correlation Engine keeps IRM and the external system tightly aligned in that important user workflows are implemented in a convenient manner and corresponding objects in the external system can be readily referenced from IRM (and in some cases, vice versa). However, use of Proxies means that the systems are loosely coupled, meaning that each system, and to an extent even the integration itself, can continue to be used even if the other system is down or the network is partitioned. This approach makes the integration far less fragile; once IRM has Proxies for objects that it needs, it can operate directly on those Proxies even if the external system is not reachable for whatever reason. Of course, there are limits to how far a given workflow can proceed without the systems being up and connected, but the user isn't exposed to every networking hiccup or short period of downtime for the external system.
|