At the core of the MilramX is the data transfer process, which does the work of moving data between external systems. These transfers are encapsulated in Data Transfer Objects (DTOs) which typically move one type of business object from one system to another.
Multiple DTOs are typically encapsulated as subroutines in one transfer process so that one DTO can be called from another to make sure that related business objects are transferred in the correct order. DTOs can retrieve data from multiple systems at the same time and produce business objects that are exported to multiple systems at the same time.
The transfer process is a standard Windows .exe program that is created by the MilramX toolset, when used with Microsoft's Visual Studio development environment. It keeps data, such as the latest time that it transferred a specific type of data from a particular system in the control database. It then uses this information to ensure that it only gets the latest information from a source system before relaying it to a target system.
The MilramDEX control database resides in a SQL Server database on a Windows computer. Both the Launcher process and the Transfer Process access the data in this control database using a web-services SOAP/XML interface. This enables the Launcher and Transfer Process to run in a Windows computer in a facility that is geographically remote from the data center in which the monitoring and control interface and database.
The MilramX has a web-browser interface through which the transfer processes and DTOs can be scheduled and the status and any errors monitored. The scheduling and status information is stored in a the same control database on the webserver that is used by the transfer process.
The launcher process typically runs as a Windows service that periodically communicates with the monitoring website and gets the information about which DTO to run next in which transfer process. At the appropriate time, the launcher then runs the transfer process as a background process with the DTO and other parameters specified through the monitoring and control interface.
The transfer process then uses the web services interface of the monitoring website to report its status as it runs and also reports any errors through this same mechanism. It also writes any errors into a daily log file on its local disk drive.
The launcher can run different transfer processes at scheduled times to perform different data exchanges. These transfer processes can communicate with legacy systems and databases accessible on the same local area network as the computer in which they run or they can communicate with Cloud-based systems or systems in remote data centers using web-services SOAP/XML data exchange over the Internet.