Assign ownership to each piece of data

Two systems may both contain a customer or an order without assigning the same meaning or update timing to those records. Before designing a connection, identify the authoritative source for names, stock or order status. If both sides change the same field without agreed rules, a technically functioning integration can still produce inconsistent data.

Separate a successful exchange from a completed process

A successful service response does not necessarily mean the business process is finished. An order may exist before its financial document is ready, or a message may be accepted before it is processed. Design must recognise intermediate states and explain their meaning to users and support teams.

Design for errors and repeated requests

Real connections involve delays, outages and retries. Decide how duplicate requests behave, which failures can be retried and when a person must investigate. Tracking identifiers and state records make the data path reviewable, while sensitive information should not be copied unnecessarily into operational logs.

Deliver reconciliation and clear responsibility

An integration is manageable when the two sides can be compared and discrepancies investigated. Technical ownership, business responsibility and incident reporting need to be defined. The deliverable is more than code that moves data: it is a workflow that remains accountable and traceable both in normal operation and during disruption.

All articles