Introducing InterSystems IRIS Interoperability
Introduction to InterSystems IRIS Interoperability
The purpose of InterSystems IRIS™ Interoperability is to enable you to connect systems so that you can transform and route messages between them. To connect systems, you develop, configure, deploy, and manage productions, which integrate multiple software systems. This chapter introduces productions and some of the basic terminology. It contains the following sections:
Introduction to Productions
A production integrates multiple, disparate software systems. A production includes elements that communicate with these external systems, as well as elements that perform processing that is internal to the production.
The elements in a production are known as business hosts
. There are three kinds of business hosts, with different purposes as follows:
accept requests from entities outside the production and relay them to host classes inside the production for processing and fulfillment.
accept requests from host classes within the production business services or business processes and either process the requests or relay them to other host classes inside the production for processing.
accept requests from host classes inside the production business services or business processes and either process the requests or relay them to entities outside the production for processing.
The following figure provides a conceptual overview of a production and business hosts.
Business hosts communicate with each other via messages. All messages are stored in the InterSystems IRIS database and can be seen via the Management Portal.
In most cases (but not all), a business service has an associated inbound adapter
. The role of an inbound adapter is to accept input from entities external to the production. Similarly, a business operation usually has an associated outbound adapter
. The role of an outbound adapter is to send output to entities external to the production. InterSystems IRIS provides a large set of adapters to handle different technologies. For example, you use a different adapter for files than you do for FTP. It is also possible to define your own adapters.
The following figure shows an actual production, as seen in the Management Portal:
This view shows all the connections to and from one business host, Demo.Loan.FindRateDecisionProcessBPL
. Note that this view does not display adapters because these are incorporated into the business service and business operation definitions.
A production typically includes a large number of settings. Settings
are configurable values that control the behavior of a production. Settings can affect a production in many ways. For example, a setting can specify:
The TCP port on which a business service should listen.
How frequently to check for new input.
The external data source name (DSN) to use.
The SSL configuration to use when connecting to an external entity.
How long to stay connected.
An important feature of InterSystems IRIS is that a system administrator can modify settings while a production is running. The changes take effect immediately. The following shows an example of the web page that the system administrator uses to make such changes:
The production and its business hosts have settings provided by InterSystems IRIS; they correspond to properties of the production and business host classes. You can define additional settings in exactly the same way, by defining your own subclasses of InterSystems IRIS classes. You can also remove settings so that the corresponding properties are hardcoded and not configurable.
Message Flow in a Production
An InterSystems IRIS production typically processes incoming events as follows:
An inbound adapter receives an incoming event, transforms it into a message object, and passes it to its associated business service.
The business service creates a follow-on request message, and passes this new message to a business process or business operation within the production.
A business process that receives a request message executes a predefined set of activities, in sequence or in parallel. These activities may include sending follow-on messages to other business hosts. Business processes are also responsible for most or all of the business logic in the production. The next chapter
provides more detail.
A business operation encapsulates the capabilities of a resource outside InterSystems IRIS, usually an external software application. The business operation transforms properties of the request message object into a format usable by the external application API.
An outbound adapter manages the details of communicating with a specific external system or application from within the production. It transmits the API call to the external entity.
The response from the external system or application can trigger a cascade of response messages back to the external entity that started the flow of events. Details depend on the design choices made by the production developers.
As a demonstration, the following figure shows a trace of a set of related messages, which a production sent in response to an initial message (in this case sent by the testing service in the Management Portal rather than by an exterior source):
The processing can also include workflow
, which makes it possible to incorporate human interaction into automated business processes. Uses of workflow within the enterprise might include order entry, order fulfillment, contract approval, or help desk activities. The chapter Other Production Options
provides more information.