MilramX Logo

MilramX Architecture

MilramX Architecture

MilramX is designed to run on a Windows Server computer but can be run on a Windows Workstation, if needed.

At the core of the MilramX are one or more data Transfer Processes, which are executable process that contains multiple Data Transfer Objects (DTOs), which are the intelligent agents that do the work of extracting data from external systems, interpreting the data, and then exporting data to one or more external systems.

The intelligent agents within a Transfer Process can also generate and sends information alerts by Email or text message to lists of different people, depending on the event detected.

Transfer Processes are standard Windows .exe programs which are run periodically by a Launcher process. The Launcher runs as a Windows Service which enables continuity of operation even if the server is rebooted or problems occur with the Transfer Process.

Transfer Processes can be created using the Microsoft's Visual Studio .Net development environment linked with the MilramX .Net toolset. This toolset consists mostly of dynamic linked libraries, which perform most of the work of transferring data. Transfer Processes, such as for the DEX interface and QuickBooks Enterprise, are also available pre-built.

MilramX keeps data, such as the latest time that it transferred a specific type of data from a particular system in its SQL Server Control Database. MilramX uses this information to ensure that it only gets the latest information from a source system before relaying updates to a target system.

 As well as being used for project management, the MilramX  Management Console web-browser interface is used to schedule and the monitor the status of transfers and any errors that occur. This scheduling and status information is stored in the same Control Database that is used by the Launcher and Transfer Process.

DTOs can be scheduled to run periodically through the management console. When a DTO is scheduled to run, the transfer process  containing that DTO is run with the DTO name as an argument. This name can also refer to a sequence of DTOs within the transfer process to be run in sequence. Also the scheduled DTO can send messages to other DTOs within the Transfer Function, causing them to be executed, as a result.

When there is a conflict exists between DTOs that need to be run at the same time, a scheduling mechanism within the Launcher sets the priorities based on the user defined importance of running different DTOs. When run on multiple thread processors, multiple transfer functions can be run at the same time but only one DTO can be executed at a time within a DTO to make sure sequential execution of a sequence of DTOs is enforced, when needed.

Please click here to learn more about the Internals of a MilramX Transfer Process.