How M3's integration surface — MI programs, MEC XML mapping, ION/BODs, and Infor OS — maps to D365 F&O's data management framework, OData, custom services, business events, dual-write, and the Azure integration platform. Explains why M3's fine-grained transactional MI model must be re-thought as bulk entities plus business events.
M3 exposes its integration surface through MI programs: named transactional endpoints — one per M3 program, one method per function within that program — that apply Business Engine logic at call time. A call to OIS100MI/AddHead does not insert a record into a database table;
An MI program (M3 API program) has the form XXXnnnMI, where XXX is the program family and nnn is the program number. Each MI program exposes a set of named transactions (methods): typically Add, Change, Get, List, Delete, and domain-specific methods (e.g., ConfirmLine, AllocateOrder).
The DMF is D365's primary mechanism for bulk data import and export. It works through data entities: reusable, named projections of D365 tables (and sometimes computed fields) that expose a flat record structure suitable for file-based exchange.
D365 OData exposes the same data entities as a standard REST/OData v4 API. Each entity is a URL-addressable resource supporting GET (read), POST (create), PATCH (update), and DELETE (remove) operations with standard query options ($filter, $expand, $orderby, $top, $skip).
D365 business events are named, structured payloads emitted by standard D365 processes when a business step completes. Examples: Sales order confirmed, Purchase order received, Vendor invoice posted, Production order ended.
MEC (M3 Enterprise Collaborator) is M3's legacy middleware: it transforms XML messages between M3 MI programs and external partner systems, using partner agreements that define routing, transformation, and error handling rules. It is essentially an XML-era ESB embedded in the M3 platform.
Dual-write is a near-real-time bidirectional synchronisation mechanism between D365 F&O and Microsoft Dataverse. When enabled for a table pair (e.g., D365 Customer ↔ Dataverse Account), changes on either side propagate to the other within seconds.
The integration decision is easier when the M3 source landscape is made explicit. M3 is not one API surface; it is layers around the Business Engine, each useful for a different workload:
M3's MI program model — fine-grained, transactional, logic-preserving — must be replaced with D365's DMF + OData + business events architecture. The conceptual mapping is: batch data exchange → DMF; real-time record access → OData; outbound event notification → business events; analytical data supply → Synapse Link;