Skip to main content

Choosing an Integration Approach

Whether you are moving from on-premise M3 to M3 Multi-Tenant (M3 MT) or building new integrations in M3 MT, the right integration approach depends on a handful of factors. This guide compares the available approaches and walks through a decision tree to help you choose.

note

This guide covers outbound integrations — from M3 to an external system. For the reverse direction — an M3 BOD triggering a Vince Platform workflow — see Infor ION.

Factors to consider​

Selecting the "right" integration approach depends on these main factors:

  • Latency — how long before the event needs to be at the target
  • Throughput — what frequency of events will be generated per unit of time
  • Size — how large is the event/output of the event
  • Complexity — how much extra logic and lookups are required (e.g. a raw table record vs. a complete order)

In relation to cost, also consider:

  • Filtering — do you need to filter the events, or send all of them? Sending all means higher egress cost.
  • Cost — the cost of the service used for publishing events. Some services, such as Streaming, are a separate SKU from Infor and not included in the standard license.

Event publishing approaches​

Bold types below are the most relevant/recommended. Italic types are available options too, but not recommended — they require higher maintenance and/or might not be supported going forward.

TypeThroughputSizeComplexityCostFilteringLatencyComment
BODLowMedium/LargeHighLowYesHighComplete objects
CMS049/WebhookLow/MediumSmallMediumLowYesLowCan use lite data, but higher load on M3
ION Document FlowHighSmallLowLowNoLow
ION Document Flow via EA + MECHigh/MediumSmallLowLowYesLowFiltering done by Event Analytics; MEC is used for passthrough
ION Document Flow via ScriptHighSmallMediumLowYesLowFiltering done in a Python script
ION Data Lake FlowHighSmallLowLowNoLowRequires Streaming OFF
ION Data Lake Flow w/ Stream PipelinesHighSmallLowHighNoHighRequires Streaming ON
ION Data Fabric Stream PipelinesHighSmallLowHighNoReal timeRequires Streaming ON

Data replication approaches​

TypeThroughputSizeComplexityCostFilteringLatencyComments
Delta queries to Data LakeMedium/HighMediumMediumMediumYesHighEgress costs only
StreamingHighSmallLowHighNoReal timeStreaming + egress costs

Detailed flow descriptions​

BOD​

Flowchart: M3 Event flows through Event Hub and MEC (which generates the BOD XML), filtered upstream by Event Analytics, into ION Document Flow, delivered to Target via REST

MEC generates the BOD XML from the raw M3 event; delivered as a complete, unfiltered business document. Throughput: Low · Size: Medium/Large · Complexity: High · Cost: Low · Filtering: Yes · Latency: High.

ION Document Flow (unfiltered events)​

Flowchart: M3 Event flows through Event Hub into ION Document Flow, delivered to Target via REST, with no filtering

Every event is sent to Target as-is — simplest setup, but no filtering means higher egress and target-side load. Throughput: High · Size: Small · Complexity: Low · Cost: Low · Filtering: No · Latency: Low.

ION Document Flow via EA + MEC (filtered events)​

Flowchart: M3 Event flows through Event Hub, filtered by Event Analytics, MEC Passthrough, into ION Document Flow, delivered to Target via REST

Event Analytics performs the filtering; MEC only passes the already-filtered event through to ION Document Flow. Throughput: High/Medium · Size: Small · Complexity: Low · Cost: Low · Filtering: Yes · Latency: Low.

tip

MEC Passthrough can become a bottleneck if volume is high.

ION Data Lake Flow (delta polling)​

Flowchart: M3 Event flows through Event Hub into ION Data Lake Flow and the Data Lake; a separate SQL Polling script reads delta changes via JDBC, backed by the DIP DB

A scheduled SQL job polls the Data Lake for new/changed rows (delta) via JDBC — no event filtering, egress cost only. Throughput: High · Size: Small · Complexity: Low · Cost: Low · Filtering: No · Latency: Low.

ION Data Lake Flow w/ Stream Pipelines & ION Data Fabric Stream Pipelines​

Flowchart: combined streaming flow — M3 Event through Event Hub, ION Data Lake Flow (Streaming), Streamer and Streaming Receiver DB on one path, with Data Lake, Polling script, Event trigger and DIP DB feeding a SQL Polling script on the other

When Streaming is enabled, this combined flow replaces ION Data Lake Flow (delta polling) and ION Document Flow (unfiltered events) described above. With Streaming ON, events reach the target in real time via the Streamer/Streaming Receiver DB path, while DIP DB keeps a queryable copy.

  • ION Data Lake Flow w/ Stream Pipelines: Cost High · Latency High
  • ION Data Fabric Stream Pipelines: Cost High · Latency Real time

Decision tree​

To determine the integration approach, follow this chart.

note

Document refers to a business document and its content, such as an Order Confirmation, Delivery Advice, or Invoice — not a literal file.

Decision tree: starting from "Complete Business Document or EDI?", branching through Latency irrelevant?, Filter events?, Low volume?, and Streaming available? to reach BOD, ION Data Lake Flow delta polling, ION Document Flow via EA + MEC, ION Document Flow unfiltered events, or ION Data Fabric Stream Pipelines

MEC mapping conversion approach​

These are generic recommendations and approaches for converting MEC mappings from on-prem to cloud.

TypeOn-prem technologyConvert to cloudComment
Plain EDI MEC mapping / Document mappingMEC + (s)FTPBOD
MEC mapping with custom codeMEC + Custom JARsION Desk + Scripting
MEC mapping with REST API request + responseMEC + Custom JARs + Custom codeION Desk (+ BOD)Consider using only ION Desk or splitting the custom BOD into two (1: request map + 2: response map)
MEC mapping with custom M3 APIMEC + Custom M3 APIBODConsider the standard API or XtendM3 API
MEC mapping with SQL to M3 DBMEC + Custom JARs + DBBODUse EXPORTMI, CMS100MI, MDBREADMI
MEC mapping with SQL to non-M3 DBMEC + Custom JARs + DBION Desk + AnySQLUse the ION Desk AnySQL component to query non-M3 databases; the ION Mapper tool might also be relevant (not the MEC Mapper tool)

Infor OS documentation​

Some relevant documentation from Infor in relation to integration, usage limits, and technology.

DocumentURL
Infor OS User and Administration Documentation Library (Cloud)docs.infor.com
Infor ION Desk User Guidedocs.infor.com
M3 Integrations Library (Cloud)docs.infor.com
Infor OS Service Limitsdocs.infor.com

Further reading​

  • M3 — Connection setup for calling the M3 API from Vince Platform
  • Infor ION — connect ION so an M3 BOD can trigger a Vince Platform workflow
  • Data Lake Usage — build a dashboard to monitor Data Lake usage