Contact

Integration Endpoint Architecture in ERP Systems: How Should We Think About External Connections?

When an ERP process reaches an external service, database, or messaging layer, the question is not only whether the connection works. Where it is defined, who can use it, when it opens, and what happens when it fails are all architectural decisions.

This is not a product configuration guide. It offers a simple, reusable mental model for assessing external connections without embedding them in business logic.

Table of contents

The Topic in Five Minutes

An endpoint is a controlled point of contact through which a business process reaches an external capability. The business rule decides which customer data may be sent or which approval is needed. The endpoint layer carries where to go, which identity to use, what limits apply, and which signals make the exchange understandable.

The key distinction

A business process should not know an external address, password, or retry count. Those belong to the connection layer. That lets different processes use the same external capability under the same controls.

Mental Model

Endpoint flow from business process to external capability

  1. 1

    Business Process

    The business rule and decision context.

  2. 2

    Connection / Endpoint Abstraction

    Connection definition, access policy, and operating boundaries.

  3. 3

    External Capability

    An API, database, messaging layer, vector database, or another service.

This separation is not abstraction for its own sake. It makes it possible to respond to address changes, certificate renewal, tighter access, or incident analysis without rewriting the business process.

What Problem Does an Endpoint Actually Solve?

Question

A host or protocol changes

When connection details sit in business logic

Code must be found and changed in several processes.

When an endpoint layer exists

The definition and its consumers can be reviewed.

Question

Who may access it?

When connection details sit in business logic

Authorization can be scattered inside calls.

When an endpoint layer exists

A user, profile, or service policy can be applied.

Question

Where is a failure seen?

When connection details sit in business logic

Logs and messages vary from one caller to another.

When an endpoint layer exists

Common correlation, error classes, and metrics become possible.

A point-to-point connection lets two systems reach each other quickly. An endpoint approach treats that connection as a defined, governable, and changeable capability. The difference may appear small in one integration; it grows once several processes, teams, and environments use the same service.

Where Should Configuration, Credentials, and Access Live?

Connection configuration should be separated from business rules. Target, protocol, certificate, timeout, and protected secret material belong in a separately managed definition. Environment differences, secret rotation, and access review then do not become a code change.

  • Are credentials absent from source code, screen parameters, and free-text logs?
  • Is access constrained by user, profile, or service need rather than by general system access?
  • Are permission to use a connection and permission to administer its configuration distinct?
  • Are different purposes and environments for the same service intentionally separated?

Connection Lifecycle, Timeout, and Resilience

A connection should live only as long as it is needed, and its behaviour should be visible. Keeping it open can reduce latency but introduces resource, stale-connection, and pool-pressure risk. Opening it for every call also has a cost. The right choice depends on workload, session model, pooling, and recovery behaviour together.

Concept

Timeout

Question to ask

What is the upper wait limit the process can tolerate, and what happens to the user and queued work?

Concept

Retry

Question to ask

Is this a transient failure, and could retrying create a duplicate record or message?

Concept

Circuit breaking

Question to ask

How will calls to an unhealthy service be limited before they consume healthy capacity?

Concept

Idempotency

Question to ask

Can a repeated request be recognised and handled safely?

Retry is not simply 'try again on error.' If repeat safety and ownership are unclear, retry can create a more expensive data inconsistency than the original failure.

Observability: Is the Connection Working, or Is It Understandable?

Counting success and failure is not enough. You need to relate which process called which target, under which access context, for how long, and with which error class. Correlation IDs, latency distributions, timeout rate, retry count, and separated failure reasons make this possible.

  • Can the request and its business result be related through one trace identifier?
  • Are p95 latency and timeout rate visible alongside success rate?
  • Are identity/access failures, network failures, and external-service failures distinguished?
  • Do logs protect secrets while retaining enough context for diagnosis?

Where Is It Commonly Misunderstood?

Anti-pattern

Every process carries its own connection details

Why it is risky

Change and security review are dispersed.

Anti-pattern

One technical identity reaches everything

Why it is risky

Least privilege and incident analysis weaken.

Anti-pattern

No timeout, or an excessive timeout

Why it is risky

Queues, threads, and user experience are needlessly pressured.

Anti-pattern

A failed call returns only an error string

Why it is risky

Root cause cannot be related to business impact.

An endpoint layer is not, by itself, a reason to buy an integration platform. First clarify which responsibilities need to be separated; tool selection is meaningful only after that framing.

What Should I Examine?

  • Where does connection configuration live, and how are environments separated?
  • Are credentials and access policy separate from business logic?
  • What common controls govern several processes reaching the same external service?
  • When does a connection open and close, and what happens when it is exhausted?
  • Are timeout, retry, and idempotency decisions tied to business impact?
  • At which layer are monitoring, failure tracking, and correlation produced?

One Page Cheat Sheet

Remember

Business process

Short version

Knows what to do, not where to connect.

Remember

Endpoint abstraction

Short version

Keeps connection, access, and operating boundaries together.

Remember

Credential

Short version

Lives outside code, is masked, and can be rotated.

Remember

Resilience

Short version

Treat timeout, safe retry, and capacity limits as one decision.

Remember

Observability

Short version

Make context and cause visible, not only a success count.

Mini glossary: Endpoint = point of access to an external capability; abstraction = placing variable detail behind a common boundary; idempotency = safely preserving the outcome when the same request is repeated; correlation = relating events within one business flow.

A Note for Those Researching TROIA

TROIA's public developer documentation includes an Integration Endpoints topic that shows this architectural concept has a current product-level counterpart. This guide does not teach product configuration or implementation steps; it explains the problem framing. Refer to the original documentation for current TROIA-specific detail.

Frequently asked questions

Is an endpoint the same thing as an API?
No. An API may expose an external capability; an endpoint is the point of contact considered with its address, identity, policy, and operating boundaries.
Does every integration need a separate endpoint?
Not merely because the technical target differs. Purpose, access, data sensitivity, environment, and failure impact may justify a separate definition or policy.
Should retry be enabled for every error?
No. First assess whether the failure is transient, whether the operation is repeatable, and whether duplicate processing is possible.

Related pages:

Sources and further reading

Integration Endpoint Architecture in ERP Systems | Fatih Görgülü | Fatih Görgülü