Estates Cockpit/Platform
Live · Snowflake · SharePoint · Power BI
SN
Adapters online1 degraded

5/6

SharePoint slowed by security upgrade

Events last hour+6%

14,208

Across 6 Kafka topics

Dead letter queueclear

0

Failed extractions route to manual review

Gateway p99

182ms

Kong gateway, all API paradigms

Integration adapter matrix

Adapter-per-source-system with backoff, circuit breaker and DLQ

External systemProtocolSync patternLatencyState
Snowflake (AWS)REST / JDBCCDC + polling1.2sHealthy
SharePointGraph APIRead-mostly polling4.8sDegraded
Power BIPush APIEvent-driven0.6sHealthy
Power AppsRESTBi-directional0.9sHealthy
CMMS / FacilitiesREST / CSVSync every 15 min2.4sHealthy
NHS / ICB ticketingWebhookEvent-driven1.1sHealthy

Event stream

Kafka topics consumed by the audit service

  • obligations.status_changes08:42:41

    OBL-4610 → completed by Colette Nimmo

  • documents.nlp_extracted08:41:12

    DOC-9101 · 34 clauses, 6 key dates

  • agent.actions_proposed08:39:55

    ACT-2201 escalation proposed (0.91)

  • documents.ocr_completed08:37:04

    DOC-9127 confidence 71.8% → review queue

  • realestate.maintenance_events08:31:47

    Work order WO-8812 raised · Benchill HC

  • obligations.expiry_alerts08:30:02

    255 obligations due within 30 days

Service topology

gRPC for synchronous calls, Kafka for state propagation

ServiceInterfaceKafka topicTarget latency
Obligation ServicegRPC + Kafkaobligations.status_changes<100ms p99
Document Service (Vault)REST + Kafkadocuments.uploaded<200ms p99
OCR Ingestion ServiceREST (async)documents.ocr_completedseconds–minutes
NLP Extraction ServicegRPC + Kafkadocuments.nlp_extractedseconds
Agent OrchestrationREST + Kafkaagent.actions_proposed<500ms p99
Property/Facilities ServicegRPC + Kafkarealestate.maintenance_events<200ms p99
Alert/Escalation ServiceKafka consumer—near real-time
Audit ServiceKafka consumer—guaranteed delivery

Interface governance

Stack-agnostic engineering conventions

Versioning

Path-based majors, 12-month sunset window

Pagination

Cursor-based, RSQL/FIQL filters, whitelisted sort keys

Idempotency

Idempotency-Key required on POST/PATCH, 24h retention

Errors

RFC 7807 problem details with correlation ID

Webhooks

HMAC-SHA256, retries 1m/5m/30m/2h/12h then DLQ

Schemas

Central registry, contract tests before merge