Plan an Integration Between Business Systems
Define data ownership, events, failure handling and reconciliation so an integration remains understandable when a request times out or a record changes twice.
اقرأ بالعربية
Is this the right guide for you?
- What should an integration brief describe before API development?
- Which system should own a shared field?
- When should a business integration use an event or a scheduled transfer?
- How can retries create duplicate business transactions?
- How do we notice and repair a failed integration?
- How should an integration handle conflicting record updates?
On this page
An integration moves meaning between systems, not merely JSON between endpoints. Begin with a business event and the decision or record that must follow it. A clear brief explains the source of truth, timing, permissions and failure path. Without those decisions, a technically successful connection can create duplicate orders or contradictory customer records.
Define ownership and the transfer contract
Choose one authoritative source for each shared field or define an explicit conflict rule. List identifiers, required fields, allowed states, data sensitivity and version expectations. For example, a CRM may originate a sales opportunity while an ERP owns the final invoice number. Avoid allowing both systems to overwrite every field. Record what happens when a related customer does not yet exist, a value is invalid or the sending user lacks authority. The contract should be understandable to the process owner as well as the developer.
Choose timing from the business need
A scheduled transfer can suit work that tolerates a clear delay. An event can notify another service that a meaningful change occurred. Microsoft’s architecture guidance distinguishes event producers, consumers and channels; that separation still requires decisions about delivery and consistency. Do not promise instantaneous agreement between all systems without understanding the design. Tell users which record is pending, confirmed or failed, and agree how long a pending state may remain before someone investigates it.
Design for timeouts, duplicates and conflict
A timed-out request may have completed even though the caller did not receive its result. Blindly repeating it could create a second business action. Use a stable operation identifier and an agreed duplicate-handling rule where the receiving system supports it. Microsoft’s retry guidance specifically highlights idempotency as a consideration. Distinguish transient failures from invalid data that will not improve on retry. Set bounded attempts and a controlled repair route, and decide how an old update is prevented from overwriting a newer approved record.
Make reconciliation part of operation
Log safe references and statuses so an operator can locate an affected transaction without exposing credentials or unnecessary personal data. Compare source and destination outcomes at an agreed interval. Assign someone to investigate exceptions and document whether replay, correction or cancellation is appropriate. Test a duplicate event, missing dependency, unavailable endpoint and conflicting change before launch. Continue with approval workflows and observability. Discuss the integration’s business and operational boundaries through Software Solutions before treating a connection as a completed process.
Primary references and further reading
Connect the idea to your business.
Start with your goals, existing systems and constraints before choosing a solution.
Software Solutions
