IMS Transaction Service
When would I use it?
When you want to export aggregated material movements or material stocktakes from Production Accounting into MineMarket. You need to be comfortable with configuring Production Accounting, IMS Integration Hub and MineMarket at both the application and WCF-connectivity levels.
What does it do?
This integration is used to send information about various kinds of aggregated material movements and material stocktakes from Production Accounting to MineMarket. The information is published from the system of record (Production Accounting), rather than pulled by MineMarket.
How does it work?
The data structures used are referred to as transactions (short for material movement transactions). Note that these (material movement) transactions have nothing to do with database transactions or distributed transactions.
Transactions
The transaction data structures used to send the information are generic enough that several different kinds of business data can be sent through them, with the business context being determined by a transaction definition.
For example, the same basic transaction structure (which contains things like total quantities of analytes) could potentially carry daily, weekly or monthly totals. The transaction definition (uniquely identified by a transaction definition name) is used to determine the context required to permit the transaction to be correctly interpreted by the receiver.
At present, the only transaction definition types defined in the integration are daily transaction summaries for individual stockpiles and individual stockpile surveys. Therefore, transaction definitions are currently associated with either a single stockpile or a single process flow.
A transaction definition name is typically formed by concatenating the name of the associated stockpile or process flow (for stockpile surveys and material movement transactions respectively) with other contextual information relevant to the service providing the data.
Software components
Three separate software components are required: Production Accounting, IMS Integration Hub and MineMarket.
The integration utilises IMS Integration Hub’s built-in IMS Transaction Publishing Service module to forward updates received from Production Accounting over WCF channels to MineMarket (and any other registered subscribers) for processing. That is, IMS Integration Hub acts as in intermediary between Production Accounting and MineMarket.
MineMarket subscribes to the IMS Integration Hub transaction publishing topics related to the Production Accounting data and forwards the incoming transactions received from IMS Integration Hub to other internal services via WCF channels. These internal services transform the transactions into stockpile daily transaction summaries and stockpile surveys and send the results to be saved via .NET Remoting.
How would I use it?
All of the software components involved require configuration.
Production Accounting must be configured:
- In the Process System module’s configuration database to react to either timer or cascade queue events by triggering calls to the IMS Transaction Service modules that perform the data export
- In the Portal’s Web.config file (in the WCF sections) to connect to IMS Integration Hub’s transaction forwarding module
IMS Integration Hub must be configured to receive the WCF data export calls from Production Accounting on the same channel as configured for Production Accounting above.
MineMarket must be configured:
- So that the MineMarket Service forwards messages it receives from IMS Integration Hub at the ImportDailyTransactions and ImportMPASurveys services over WCF to other processing services hosted within MineMarket (the BulkTransactionManagement and StockpileSurveyManagement services respectively)
- In corresponding transaction editors to match Alias1 values with the transaction definitions that create entries in the transaction editors.
Note that the MineMarket subscription to receive the published transactions from IMS Integration Hub is automatic.