Skip to content
iQBus HomeDocumentationBlogContact
Updated May 5, 2026
Adapters/Overview

Adapters

The boundary object between a port and an external system, the same role BizTalk adapters and Logic Apps connectors play. Configured on the port, named by intent (Listener for receive, Caller for send), and direction-aware by design.

An Adapter in Art2link ESB handles the protocol-specific work of moving a message between a port and the system on the other side of the wire. The receive port's stage 1 and the send port's stage 5 are both the Adapter, the only stage that is always present in either direction. Everything else (variable assignments, pipelines, maps) is optional; the adapter is what makes a port reach an actual endpoint.

Adapters are configuration-only: switching the transport on an existing port is a property change on the adapter binding, not a redeploy. Pair an adapter with the right Authentication and the runtime resolves the connection at execution time.

If you have used BizTalk adapters or Logic Apps connectors, the mental model carries over almost unchanged. An adapter is the unit that knows how to talk to a specific kind of system, HTTP, SQL, SFTP, a mail server, a queue, and it is the unit you bind to a port to make that conversation happen.

The differences are in two places only, both covered below: how Art2link ESB names adapters (Listener on the receive side, Caller on the send side) and how it handles scheduling (a separate Scheduler adapter rather than per-adapter polling).


Adapters are configured on either a receive port or a send port, and Art2link ESB's architecture rule is that the adapter's name signals where it belongs, a Listener suffix on the receive side, a Caller suffix on the send side. The same underlying protocol becomes two different adapter objects because listening and calling are two different jobs:

SAME PROTOCOL HTTP RECEIVE SIDE Listener External ADAPTER · API LISTENER Exposes an endpoint accepts inbound connections Brings a message into the bus SEND SIDE Caller ADAPTER · API CALLER Reaches outbound manages retries & response Endpoint Takes a message off the bus

That is why the receive-side HTTP adapter is called API Listener rather than just API, and the send-side counterpart is the API Caller. The two are different adapters; one listens, one calls.


Whether an adapter is intended for the receive side or the send side, and what kind of response it naturally produces, is decided adapter by adapter. The matrix below plots each shipping adapter into the cell that describes its natural shape. A practical wrinkle on the send side: every send port can be configured in two-way mode regardless of which adapter is bound; what varies is whether the response carries the adapter's real payload, or only an empty acknowledgement that lets the integration thread continue downstream.

ONE-WAY adapter has no payload response TWO-WAY adapter returns a real payload RECEIVE Listener side Scheduler Pure trigger, nothing to wait on. API Listener Holds the caller's connection open for a synchronous reply. SEND Caller side O365 Mail Sender SFTP Caller SQL Caller API Caller Real payload returned to the bus. A 2-way send port works with any send adapter, column placement only tells you whether the response carries the adapter's payload or an empty acknowledgement.
i
The Ports articles describe the consequence. Two-way mode on a receive port is gated by the adapter's capability, only adapters that can hold a synchronous connection open qualify.

BizTalk historically embedded scheduling into receive-side transport adapters, the SQL adapter on a receive location, for example, carries its own polling interval. Art2link ESB does not repeat that pattern. Scheduling is factored out into a single, purpose-built adapter that every other adapter can be triggered by.

The Scheduler adapter is a one-way receive adapter. You configure the cadence (repeat every N seconds / minutes / hours / days) once on a receive port, optionally gate it by a date range and a daily clock-time window, and the firing message it produces is published to the bus. From there, any send port subscribed to that message picks it up and runs its adapter:

RECEIVE PORT Scheduler on tick Bus MT: FIRE_TICK SEND PORT · SQL CALLER Run scheduled query against a database subscribes: MT == "FIRE_TICK" SEND PORT · API CALLER Pull a partner endpoint on the same schedule subscribes: MT == "FIRE_TICK" SEND PORT · SFTP CALLER Drop a recurring report file subscribes: MT == "FIRE_TICK" SEND PORT · O365 MAIL SENDER Send a periodic digest email subscribes: MT == "FIRE_TICK" One schedule. Any number of destinations. Timing lives in one place; transports stay scheduling-free.
BizTalk SQL polling, restated in Art2link ESB terms. What used to be a SQL receive location with a polling interval becomes two ports in Art2link ESB: a receive port using the Scheduler adapter (which owns the interval) and a send port using the SQL Caller adapter (which actually queries the database). The bus is the wire between them. The split looks like more moving parts at first glance, but the schedule, the query, and the routing each live in the place where they belong, and a single Scheduler can fan out to many send ports without re-implementing scheduling in any of them.
i
Adapters that could be scheduled stay unscheduled. If a transport could plausibly support polling on its own (databases, file pickups, queues), Art2link ESB still does not bake scheduling into the transport adapter. Use the Scheduler adapter and route to the relevant Caller.

An adapter does not carry its own credentials. Whatever it needs to reach its endpoint, a connection string, an API key, a certificate, an SFTP key, lives in a separate Authentication object that the adapter references by name.

The pairing is one-to-one at the type level: every adapter type defines exactly one Authentication shape, and an adapter cannot consume an Authentication that belongs to a different adapter type. A SQL Caller adapter pairs with a SQL Authentication, an API Caller adapter pairs with an API Authentication, and so on. The fields each Authentication exposes are determined by its adapter type.

Where to find what. The functional rules of the Authentication object, application scope, reuse, encryption at rest, snapshot behaviour, live in the Authentications article. The per-adapter detail (what the adapter does, what its Authentication carries at the field level) lives in each adapter's own sub-article, see the left-nav sub-items under Adapters.

The shape of an adapter

One transport concern per adapter, named by the side it belongs on (Listener for receive, Caller for send), and paired with the matching Authentication. The detail for each adapter, configuration fields, Authentication shape, worked example, lives in its own article:

Receive-only: Scheduler
Send-only: SQL · O365 Mail · SFTP
Bidirectional: API · Service Bus · File Share · Azure Blob
Enterprise adapters (Grow & Enterprise editions): MQ Series · SAP · Salesforce · CloudSuite

Enterprise adapters. The Grow and Enterprise editions unlock adapters that integrate with packaged enterprise systems, MQ Series, SAP, Salesforce, CloudSuite, and similar. They are not available on Starter. See the Edition comparison for the full distinction.