Loading…
Case Study · 2026 – ongoing
In flightbuilure is delivering the MuleSoft integration layer that connects a Tier-1 Australian general insurer's policy administration platform with a third-party broker rating exchange - bidirectional, multi-pattern, session-coherent across two enterprise estates.
№ 01 · The challenge
Brokers rate, quote, and bind SME and Commercial Motor Vehicle policies through a third-party broker rating exchange. The insurer's policy administration platform needs to call into the exchange mid-session and receive callbacks when brokers finish.
Some flows are insurer-initiated (the platform asks the exchange what action the broker should take next). Others are exchange-initiated (the exchange pushes commit / rollback events back when a broker exits the UI). Both directions must coexist on the same session.
The insurer platform speaks REST + JSON. The exchange speaks SOAP-style XML over HTTP POST. Every flow needs JSON↔XML transformation and, on the GET-and-PUT flows, HTTP verb mediation as well.
A broker session spans multiple API hops - retrieve → broker UI work → store → finish rating. The same sessionId must remain coherent for up to 24 hours with the rating context preserved end-to-end.
OAuth tokens must be brokered separately for the insurer estate and for the third-party rating exchange - with no token leakage across boundaries.
Exchange-initiated callbacks (commit / rollback / risk data) traverse the public internet and must be terminated through a Web Application Firewall plus an external API gateway before reaching MuleSoft.
A failed store leaves a job that does not match the exchange's view - needs exponential-backoff retries and a clear orphan-notification path back to the broker.
№ 02 · Solution architecture
Covering both directions: insurer-initiated GET (retrieve), insurer-initiated PUT (store), exchange-initiated PUSH (commit / rollback), and exchange-initiated GET trigger (risk data).
Outbound API (insurer → exchange) hosts A1 + A2; Inbound API (exchange → insurer) hosts A3 + A4. Cleanly separated by direction so each app has a single responsibility.
Internal Flex Gateway proxy for insurer-initiated traffic; Web Application Firewall + external API gateway for exchange-initiated traffic. Different policy bundles per side.
Separate identity providers per side (insurer estate, insurer-platform callbacks, exchange). Tokens cached and reused per session to avoid unnecessary round-trips.
sessionId-keyed cache, 24h TTL, region-pinned in ap-southeast-2, AWS IAM auth. retrieve writes the rating context; store reads it back and overlays insurer fields.
Mule Runtime 4.10 on Java 17 LTS, 2× small workers (0.1 vCore) per app, auto-scale at CPU > 80% / Memory > 85%, blue-green deployment for zero-downtime cutovers.
Up to 5 retries with exponential delay for store failures. If retries are exhausted, the broker is notified and the transaction is flagged as orphaned in the insurer platform.
№ 03 · Integration streams
Insurer asks the exchange what action the broker should take next mid-session. Sub-second sync GET → POST mediation → response cached in the session store for downstream operations.
After the broker exits the rating UI, the insurer sends the final policy state back into the exchange. PUT → POST mediation; reads cached retrieve context, overlays insurer fields, supports OK / CANCEL / ERROR ReturnCodes.
Exchange pushes session completion into the insurer. POST XML → MuleSoft → PATCH insurer commit (with policy data) or rollback (no payload).
Exchange triggers MuleSoft to GET risk data (instalment information etc.) from the insurer and return it. Same inbound entry path as commit / rollback but the insurer is the data source.
№ 04 · Integration patterns
| Pattern | Use cases | Key features |
|---|---|---|
| Synchronous request/response with protocol mediation | retrieve (GET→POST), store (PUT→POST) Sub-second targets, JSON↔XML transforms, single-session token reuse | Sub-second targets, JSON↔XML transforms, single-session token reuse |
| Server-initiated callback over public internet | commit, rollback, risk data WAF termination, external API gateway, JWT validation, no insurer-side trust on raw caller | WAF termination, external API gateway, JWT validation, no insurer-side trust on raw caller |
| Persistent session cache | retrieve → store → finish rating Object Store v2, sessionId key, 24h TTL, region-pinned, IAM auth | Object Store v2, sessionId key, 24h TTL, region-pinned, IAM auth |
| Bidirectional XML ↔ JSON mediation | All flows DataWeave transformations, schema-driven, CDATA-wrapped product data | DataWeave transformations, schema-driven, CDATA-wrapped product data |
| Resilient retry with orphan handling (A5) | store failures Binary exponential backoff up to 5 retries, broker notification on exhaustion | Binary exponential backoff up to 5 retries, broker notification on exhaustion |
| Sub-operation dispatch on phase | finish rating Single POST endpoint; phase tag routes to different insurer PATCH paths | Single POST endpoint; phase tag routes to different insurer PATCH paths |
№ 05 · Engineering standards
API-led pattern with clear System API stereotype on both MuleSoft apps.
Global error strategy returning canonical XML ResponseTransaction envelopes (ReturnCode = OK | CANCEL | ERROR + UserInfo / Diagnostics for ERROR).
Correlation IDs propagated end-to-end across every gateway and downstream system.
Token caching to avoid identity-provider round-trips per call (reuse unexpired exchange token across retrieve → store within a session).
Configuration externalised per environment (DEV / TEST / UAT / PROD endpoints for both insurer and exchange sides).
Rate limiting plus custom JTI validation and JWT audience / custom-claim validation enforced at the Flex Gateway proxy.
MUnit coverage plus contract testing in CI; blue-green deployments to remove downtime risk on production cutovers.
№ 06 · Tech stack
№ 07 · Closing
builureAI is delivering the MuleSoft integration layer that connects a Tier-1 Australian general insurer's policy administration platform with a third-party broker rating exchange - a bidirectional, multi-pattern, multi-auth-domain integration enabling brokers to rate, quote, and bind SME and Commercial Motor Vehicle policies with session continuity, sub-second insurer-side response, and resilient end-to-end orchestration across two enterprise estates.
Delivered by · Team builure
Got a similar integration ahead?
We've delivered this pattern before, and we'd like to deliver yours.