Customer 360 Enterprise Data Platform — Denodo on Azure  ·  View 22 of 39  ·  Runtime

A Data Service Call

One REST call from the agent desktop, including the part where a source does not answer.

Editable source SVG draw.io All views
Agent Desktop Front Door and WAF API Management Microsoft Entra ID VDP Data Services ECID Crosswalk Source Systems Log Analytics 1. GET /v1/customers/{id}/summary 2. forwarded, WAF passed 3. validate bearer token 4. claims and group memberships 5. quota check, 600 per minute 6. REST call with delegated token 7. resolve caller id to enterprise id 8. one enterprise id 9. delegated reads, four domains 10. three succeed, one times out 11. mask by role, build status block 12. 200 with per-domain status 13. response in 1.4 s 14. who asked, what was returned Runtime — A Data Service Call from the Agent Desktop A partial answer is a 200 with an explicit per-domain status, not a 500 and not a silent omission. The client renders the gap; it never has to guess at it. v 1.0 · owner Data & AI Global Practice · date 2026-09

The contract

  • A partial answer is a 200 with an explicit per-domain status, not a 500 and not a silent omission. The client renders the gap; it never has to guess at it.
  • This is the direct answer to the agent journey's worst moment on view 05, and it is a contract decision rather than an error-handling detail.
  • The token is validated at API Management and again at Denodo. The gateway enforces quota and shape; only Denodo enforces entitlement.

Numbers

  • 1.4 s against a 2 s target with one source timing out at 3 s — the timeout budget is set so that a single slow source cannot spend the whole response budget.
  • 600 requests per minute per consumer at the gateway; 60 requests per second aggregate at peak.

Assumptions

  • The desktop application renders per-domain status. If it does not, the architecture has solved a problem the user still experiences — this is a client-side acceptance criterion, not a platform one.