# ADR-005 — OQ-11 closed: Integration Suite native — Arena ADK adapter + iFlows, approval in SAP Build Process Automation Date: 2026-09-29 · Status: Accepted (closes OQ-11; narrows ADR-004) ## Context ADR-004 withdrew the on-stack RAP route and said the application moves to a side-by-side runtime against released APIs, leaving the host open as OQ-11: key-user extensibility in the tenant, or a CAP service on Cloud Foundry. Both of those options failed the criterion that actually decides this. The test is not build cost — it is whether the next person finds the thing inside the platform. A CAP service or a hardened worker on Cloud Foundry is discoverable only to whoever already knows the route to it, which is the same objection that produced ADR-002 in the first place, merely relocated. Custom applications living outside the platform are not acceptable here. Two findings then settled which native option to take. **The Adapter Development Kit already provides the infrastructure my worker invented.** Every non-trivial mechanism in `worker/` has a first-class ADK facility [source: SAP Help, *Adapter Development Process*, Cloud Integration, verified 2026-09-29]: | Hand-rolled in `worker/` | ADK facility | |---|---| | Promise lock so only one Arena login runs; correctness dependent on `instances: 1` | Managing Cluster Lock in Custom Adapters | | Delta cursor persistence | Enabling ADK Persistency | | Arena credentials in environment / a user-provided service | Accessing User Credentials | | Delta poll timer | Enabling Scheduler Support for ADK Sender Adapter | | `/api/health` with `ok`/`degraded` | Enabling Connection Status for Integration Flow | | Structured logging | Enabling Tracing for Custom Adapter | | Webhook ingress URL | Enabling Endpoint Visualization for Custom Adapter | So the adapter does not merely present better — it deletes the custom infrastructure the worker existed to supply. **Java is not a new skill for this estate.** The ADK is a Java, Maven and OSGi toolchain, which I had recorded as the cost of this route. It is not a cost here: the AS/400 FetchAPI servlets on `mcl2000` are already Java, and Java developers can be staffed from inside the company. One language and one team therefore span both ends of the estate, and the ADK covers the on-premise leg directly through *Accessing On-Premise Application using Cloud Connector* — the sanctioned route to `mcl2000`, which retires the deleted Cloud Foundry `fetchapi-bridge` pattern rather than rebuilding it. ## Decision The integration is Integration Suite native. Nothing runs on Cloud Foundry and nothing is written in ABAP. - **Arena connectivity** is a custom adapter built with the Adapter SDK: a sender adapter carrying the webhook endpoint and the delta scheduler, using cluster lock for single-flight login, ADK persistency for the delta cursor, and the tenant's user credentials for Arena secrets. - **Movement** is iFlows: Arena → the released S/4 OData APIs for Product, BOM, Change Master and Attachment. - **Human approval** is SAP Build Process Automation, which is already entitled in the global account (`process-automation`, `process-automation-service`), so it requires assignment rather than procurement. - **The S/4 target** remains released OData APIs through the customizing tenant `my429480`. `worker/` stops being a deliverable and becomes the **specification**: its 137 tests describe the Arena session, delta-cursor and webhook behaviour the adapter must reproduce. That is worth more than its code, and it is why ADR-004 kept it. ## Consequences - ADR-004's phrase "a side-by-side runtime" is narrowed: there is no custom application runtime at all. Side-by-side now means "in Integration Suite", not "on Cloud Foundry". - The Fiori Elements app in `app/` has no target service under this decision. Approval screens come from SAP Build Process Automation. I keep `app/` as reference rather than deleting it, on the same reasoning as the parked RAP objects, and I do not repoint it. - New verification items: V-5 (can an ADK adapter hold an Arena session under cluster lock) and V-6 (where SAP Build Process Automation tasks surface for a business user). - The estate gains a second use for the same skill: adapters for `softco-ap` and the AS/400 legs can follow the same pattern.