System Interfacing and Integration

Note: System interfacing and integration is specific to each implementation of MineMarket. There are several methods to import data into MineMarket and export data to other systems. Contact Datamine to discuss what integration methods best suit your organisation and processes.

The MineMarket Export and Reports Service runs the standard export process. You can configure the export settings to control when the export process starts and stops, as well as what data is exported.

IMS Integration Hub provides a publish-and-subscribe messaging mechanism between MineMarket applications and third-party systems; and the automation of tasks triggered by file events and scheduled events. See the separate IMS Integration Hub Guide for more information.

MineMarket can also be integrated with other systems via Windows Communication Framework (WCF). See Register a WCF Integration Assembly.

Configuration of the Standard MineMarket Export Process

Note: The MineMarket Integration Components package includes the default export DLL file BulkTrak.Integration.Export.dll. Customer-specific export messages and business logic can be created to use this DLL or a customised DLL. The DLL must be selected as the ExportAssemblyName in the MineMarket Service Config screen.

If you develop a custom DLL for exporting, ensure that there is a class that implements the iExportClass interface. For example:

Copy
using System;
using System.Collections.Specialized;

namespace Mincom.MineMarket
{
    public interface IExportClass
    {
        SelectedMessageTypes MessageTypes { get; }
        NameValueCollection Settings { get; }
        void Execute();
    }
}
//...
namespace BulkTrak.Export.CustomerName
{
    public class Export : IExportClass
   {
        public Export()
        {
        //...
        }
        public SelectedMessageTypes MessageTypes
        {
            get{return mMessageTypes;}
        }
    }
}

The MineMarket Service Config screen also includes these settings to control what data is exported and when:

  • GenerateChangeRegisterObjects—Default: False; however, must be changed to True if the site is exporting data. If a site does not use the MineMarket exporting process, there is no need to generate change register objects. If the export processing never runs, the size of the Change Register table will grow considerably over time and will not be cleared.
  • FilterChangeRegisterObjects—If True, the Change Register database table records the creation/update/deletion only for exportable objects that are registered in the export DLL. If False, every creation/update/deletion of an exportable object is recorded in the Change Register table. Default: False.
  • PreventDownstreamingBeforeExporting—Exporting runs as a scheduled task every 5 seconds. If True, MineMarket runs the exporting and after the exporting is finished, MineMarket starts the downstreaming in a separate process. While the downstreaming is running, the export can continue to run on schedule. However, while the downstreaming is running, no change register objects are created for the objects being downstreamed. When the downstreaming is finished, the warehousing runs. If False, downstreaming runs first, then exporting and then warehousing. Default: False.

See also Start or Stop the Export Process to control when the export process runs or restarts after errors.

Configure the Deletion of Change History Objects so that the ChangeHistory table does not grow too large over time.

Standard Export Process

If GenerateChangeRegisterObjects is True, whenever an object is created, changed or deleted (that is, when the Save button is clicked), changes are written to the ChangeRegister table in the MineMarket database.

The MineMarket Export and Reports Service runs the export DLL as a scheduled task every 5 seconds.

The export DLL uses the code for the Exported Message Types selected in the Export Settings screen and looks at the ChangeRegister table to determine the data that needs to be exported. After the export DLL has created export messages, the export process moves that data from the ChangeRegister table to the ChangeHistory table.

Export Mappings

You can map individual MineMarket objects for integration with third-party systems. Mappings are used when objects are known by different names in other systems. All MineMarket object types can have export mappings. You can enter export mappings as string values via the Property Window in the navigation pane. See Map Objects to Third-party Systems.