Infoworks Icmexchange: What It Is?
Infoworks Icmexchange: What It Is?
InfoWorks ICMExchange
What it is?
Firstly, it’s really important to understand that ICMExchange is not an extra application and is not an
add-on module for ICM either. An ICMExchange licence simply activates the Application
Programming Interface (API) for ICM, which is hidden by default. Think of it like a back-door into
ICM. Once that door is open, software code written by a 3rd party can instruct ICM to perform
certain steps/operations/tasks without anyone needing to be sat in front of the ICM software
itself. In other words, ICM is made to run in the background; it’s driven by a 3rd party
application/process and there is nothing to see from the end-users prospective.
With this final point in mind, you’ll appreciate that providing a standard software demo, of the type
we would typically do for applications like InfoWorks or InfoSWMM, Is not a viable proposition. The
whole point about ICMExchange is that there’s nothing to see while it’s running/working. When
driven via the API, ICM is no longer a desktop application, it’s just becomes a background task in a
much bigger process.
The next stage is to use a batch file. This allows ICMExchange to be run automatically as a scheduled
job (for example daily). The job could include one ruby script or multiple scripts. If run as multiple
scripts each will run sequentially i.e. the next one won’t start until the last one has finished.
Whilst there is a great degree of overlap between the functionality available when running scripts
from the user interface and that available within the ICMExchange product, some functionality is
only available within one or the other.
ICMExchange does not give access to all the tools and menus items that are available in InfoWorks
ICM itself and does not interact with the ICM-TSDB or Create/Export graphs and maps.
Users must note that the flexible nature of the Ruby scripting language means that the language is
almost infinitely flexible, the embedding of the language within the InfoWorks ICM and InfoNet
applications is intended primarily for the manipulation of data via the product’s APIs. It may not be
possible to get other Ruby libraries working within InfoWorks or InfoNet and it will not be possible to
provide support for such attempts.