InterSystems IRIS Basics: Connecting Systems Using Interoperability Productions
This article explains how you can connect systems together with InterSystems IRIS® data platform interoperability productions.
For an online hands-on activity that lets you create a simple production that organizes files on a local file system and use file adapters to read and write the files, see Creating a Basic Production in InterSystems IRISOpens in a new tab.
Why Connect Systems?
Connecting systems involves allowing messages from one system to be processed by another system. For example, the following scenarios require connecting systems:
To improve efficiency, systems originally designed to perform a single function need to be integrated. For example, you can gain efficiency by integrating individual systems that track inventory, order materials, record sales, and control shipping.
After a merger, systems that perform the same function in the separate organizations need to work together for the unified organization to be effective.
When connecting systems together, you may be faced with challenges such as:
Systems use different communication protocols: one system may use TCP, another uses SOAP, and a third uses REST.
Systems use different messages with different formats or based on different standards.
You may be required to guarantee that messages are delivered successfully to the right system and be able to detect and correct failures.
You have to monitor the system transferring the messages, provide a queue for messages if too many come at one time, and monitor overall system performance to ensure that there aren’t any roadblocks.
While it is possible to code a custom application to connect systems, it is much easier and faster to develop an InterSystems IRIS® production. InterSystems IRIS provides a framework that allows you to connect systems and either minimizes or eliminates the need for custom code.
An InterSystems IRIS production is an integration framework for easily connecting systems and for developing applications for interoperability. A production provides built-in connections to a wide variety of message formats and communications protocols. You can easily add other formats and protocols – and define business logic and message transformations either by coding or using graphic wizards. Productions provide persistent storage of messages, which allow you to trace the path of a message and audit whether a message is successfully delivered. A production consists of business services, processes, and operations:
Business services connect with external systems and receive messages from them.
Business processes allow you to define business logic, including routing and message transformation.
Business operations connect with external systems and send the messages to them.
When connecting systems together, it can be challenging to get them to understand the other system’s messages and documents. For example, consider the following problem:
You have two separate systems: one is collecting data from multiple networked devices and the other is a work order system that tracks broken devices and the repair process.
The current process depends on human intervention to monitor the devices and initiate the repair process. This has caused delays and is unreliable.
You have been given the task to connect the two systems together: to monitor the data being collected and to automate initiating the repair process. You know how to detect faulty devices in the data collection system and know how to initiate a repair, but the two systems store data in incompatible formats even when the data represents the same item.
You also need to record the actions when a repair is initiated from the data collection system.
You can solve this problem using an InterSystems IRIS production. It provides the framework for defining an interface that accepts messages from the data collection system, transforming the message into one that can be understood by the repair system, and then sending it to the repair system. It also stores a record of the message path.
The following illustrates a simple production:
Learn More About Interoperability Productions
For more information about productions, see: