Skip to Main Content U.S. Department of Energy

Integrating External Execuatables into a MIF Pipeline

Executables written in any language can be integrated into a MIF pipeline. These executables are 'external' in that they are run outside of the MIF container, although MIF controls data flow between them and coordinates their execution. There are two basic kinds of executable, which are differentiated by their relationship to the MIF server's lifecycle

  • External Services: Long running executables which are started and stopped by MIF or are already running when MIF starts. This kind of executable is represented in MIF by an ExternalServiceModule, which describes the service's URIs and Ports using the typical MIF endpoint syntax. While the pipeline is running, MIF interacts with the service by sending data to and receiving data from it.
  • External Commands: Executables which are called explicitly whenever data is received for them. This kind of code is represented in MIF by an ExternalCommandModule, which wraps a call to the operating system's command line. A special data structure is passed into the module which represents the command to be called. MIF interacts with the command module by calling the associated command when a new command object is received for it.
 
integrating_external_executables.txt · Last modified: 2008/02/11 20:22 by adamw