Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
PHP Development

The Layer Between Systems That Do Not Talk

Last updated:

Point-to-point does not scale

Two systems connected directly is manageable. Five systems connected to each other is twenty connections, each with its own error handling, and changing any one of them affects four others.

The moment you have a third system, a middle layer stops being over-engineering and starts being the thing that keeps the whole arrangement comprehensible.

What the middle layer does

  1. Translates between each system's data format and terminology
  2. Queues work when a destination is unavailable
  3. Retries transient failures with backoff
  4. Deduplicates, so a retry cannot create two records
  5. Records everything that moved, for reconciliation

Mapping is the hard part

Systems disagree about what a customer is, what a product is and what an order status means. Reconciling those is business work rather than technical work, and it is where the time goes.

  • Agree the canonical definition of each entity
  • Document how each system's version maps to it
  • Decide which system is authoritative for each field
  • Handle the cases where they disagree, explicitly

Reconciliation is not optional

A daily comparison of what was sent against what arrived catches silent failures the same day. Without it, a broken connection can run for weeks with nobody noticing.

It is a small piece of work and it is the difference between a reliable integration and one people stop trusting.

Make it observable

NeedProvide
What moved today?A summary report
Why did this record fail?Per-record logs with the payload
Is anything stuck?Queue depth monitoring
Can we reprocess it?A retry mechanism for quarantined items
Who changed the mapping?Configuration in version control

Frequently asked questions

Do we need middleware for two systems?

Probably not. From three onwards it usually pays for itself in maintainability.

Should we use an integration platform instead?

For simple, low-volume connections, frequently yes. Custom middleware earns its place with complex mapping or high volume.

How do we handle a system being down?

Queue the work and retry. Nothing should be lost because a destination was temporarily unavailable.

What does this cost?

£6,000–£20,000 depending on the number of systems and the complexity of the mapping.

Keep reading

Data retyped between three systems?

Tell us which systems and what moves between them. We will map what a connection would involve.

Book a free 30-minute call Get a project estimate WhatsApp us

Related services

What we build for problems like this one

Web DevelopmentCustom Software Development