Bulktrak Integration Export DLL
When would I use it?
The classes in this dynamic-link library (DLL) export many different kinds of data aggregated from MineMarket data objects, and some MineMarket objects. The Export Settings screen in the MineMarket Client displays the list of objects that can be exported using this DLL. Most of the objects exported fall into one of the following categories:
- Aggregated material movement transactions for bulk material movements
- Aggregated material movement transactions for despatches
- Aggregated material movement transactions for discrete units
- Stockpile or location balances
- Financials (journals from invoices, invoice revaluation adjustments, payments, refunds and profit and loss reports)
The first four categories use the same transaction structure and interfaces as the IMS Transaction Service. These categories aggregate data at various time scales (for example, daily or monthly). The last two categories do not aggregate data or use the structures and interfaces from the IMS Transaction Service.
To use this DLL, your external system receiving the data must be capable of receiving events that are pushed as they occur. If your external system is not event driven and needs to poll for data, then Bulktrak Integration Business DLL would be more appropriate.
What does it do?
This DLL contains a group of classes used to export data from MineMarket to external integrated systems using Windows Communication Framework (WCF). The classes are hosted by the MineMarket Service. Each class facilitates the export of a specific type of MineMarket object by providing collections of recently changed objects for export. The actual export is handled by a single master exporter within the MineMarket Service, which uses IMS Integration Hub to pass the data on to subscribers.
How does it work?
In the majority of cases (those related to aggregated material movements and stockpile or location balances), external systems subscribe to topics of interest with IMS Integration Hub. In the case of the Shipping Operations Management messages, the external systems configure their WCF endpoints to match corresponding endpoints in the MineMarket Service’s configuration file for a more direct connection.
On a fixed time interval (10 seconds), the MineMarket Service’s Export mechanism instructs all the export-enabled export classes to aggregate the data (for their associated object type) that has changed since the last export. The export-enabled export classes search within MineMarket for recently changed objects and expose them to the MineMarket Service’s Export mechanism, which then handles the transmission of the data to external systems.
In the majority of cases (those related to aggregated material movements and stockpile/location balances), the transmission of data is done over WCF channels to IMS Integration Hub for subsequent forwarding to subscribing external systems. In the case of Shipping Operations Management data, the transmission of data is done over WCF channels directly to the external system.
How would I use it?
MineMarket requires some configuration:
- Select BulkTrak.Integration.Export.dll as your export DLL in the MineMarket Service Config screen before starting your MineMarket Service.
- Register the BulkTrak.Integration.Export.dll in the Register Integration Assemblies screen.
- Enable export for the XML Schema Definitions (XSDs) associated with the data that you want to export in the Export Settings screen.
You also need to code modules in your external systems to subscribe (via IMS Integration Hub) to the topics that on which the BulkTrak Integration Export DLL is exporting data. Your external systems need to be coded to interpret the published messages that they receive from IMS Integration Hub. This requires use of the IMS Transaction Service.