Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

SAP

The hard case that shaped the connector doctrine: a native protocol, a C SDK, IDocs — none of it belongs in the core binary.

The SAP connector is a standalone binary (connectors/sap-rfc) that loads SAP NW RFC at runtime (hand-declared FFI + dlopen, ADR-0014 — the same move later reused for IBM MQ): the build needs no SAP anywhere; only the run needs the SDK. It registers as an RFC server (SAP_PROGRAM_ID at the gateway) for inbound IDocs and speaks over the bus like every other citizen.

Configuration is the SAP_* env family (SAP_ASHOST, SAP_SYSNR, SAP_CLIENT, SAP_USER, SAP_PASSWD, SAP_PROGRAM_ID, gateway host and service) — credentials from your secret machinery, never inline. The request/response path (rpc:exec) is cluster-safe through a queue group: each instance holds its own SAP logon, the bus distributes.

The end-to-end bridge (IDoc in → flow → response) is exercised in the recorded demo; a live SAP is required for the last mile, which is why the recipe carries a stated exception rather than a mock that would prove nothing.