Dynamic Sequence – Notification Delivery

Crew Management System – end-to-end notification delivery sequence showing a business event raised by a backend source service, notification creation inside the CMS Notification Service, persistence of notification records and outbox tracking in Azure DocumentDB, optional outbound email delivery through RX Notification Service, delivery status updates, observability / audit capture through Datadog, and secured frontend retrieval of in-app notifications through Akamai, Azure Application Gateway, IBM API Connect, and the BFF.
User / Recipient
Receives in-app notifications in the CMS UI and, when applicable, email notification delivery
Browser / React SPA
Reads notifications through secured frontend APIs and displays the user-visible notification result
Akamai
Public edge entry applying WAF, DDoS protection, bot filtering, and secure routing
Azure Application Gateway
Protected origin ingress with WAF before traffic reaches private AKS-hosted application entry points
IBM API Connect
API exposure, governance, and controlled forwarding for frontend-facing notification APIs
BFF Service
Validates Azure AD access token, admits the request, and routes notification-read requests to backend services
Source Service
Workflow or domain service raises a notification-triggering business event
Notification Service
Creates content, determines channels, writes notification state, coordinates delivery, and updates status
Azure DocumentDB
Stores notification records, outbox tracking, read state, recipient linkage, and delivery status
RX Notification Service
Enterprise notification provider used for email delivery in the current CMS scope
Datadog / Audit
Captures logs, traces, retries, metrics, and delivery outcomes across the notification flow
Returned Result
Notification becomes visible in the UI and delivery outcome remains traceable
1. Business event occurs
Workflow or domain service raises a notification-triggering business event
2. Invoke Notification Service
Source Service forwards event context to the CMS Notification Service
3. Create notification content
Notification Service creates notification content, notification type, and target recipients
4. Decide channel and delivery path
Notification Service decides in-app only or in-app plus outbound email delivery
5. Persist notification record
Notification Service writes notification record, outbox state, recipient linkage, and initial status to Azure DocumentDB
6. Storage acknowledgement
Azure DocumentDB confirms notification persistence and outbox creation
7. Optional outbound email dispatch
Notification Service sends outbound email request to RX Notification Service when email delivery is required
8. Delivery acknowledgement
RX Notification Service returns delivery acknowledgement or provider status reference
9. Update delivery state
Notification Service updates delivery status, provider reference, and final state in Azure DocumentDB
10. Emit observability and audit
Creation, retry, success, failure, and trace data are sent to Datadog / audit path
11. Frontend requests notifications
React SPA sends secured notification-read request with Azure AD access token
12. Protected frontend API path
Request passes through Akamai → Azure Application Gateway → IBM API Connect
13. BFF receives request
BFF receives the secured notification-read request
14. Token validation and request admission
BFF validates token signature, issuer, audience, expiry, and request admissibility
15. Route to Notification Service
BFF forwards the request to Notification Service for user-visible notification retrieval
16. Read notification state
Notification Service reads notification records, read state, and delivery status from Azure DocumentDB
17. Return notification data
Azure DocumentDB returns user notification state and delivery details
18. Return final payload to frontend
BFF returns the final notification payload to the React SPA through the secured path
19. Display notification to recipient
React UI displays the in-app notification and the recipient sees the current delivery result
Notification lifecycle: A backend business event becomes a notification record first. The CMS Notification Service creates the message, determines the channel, writes notification state to Azure DocumentDB, and optionally triggers outbound email delivery.
Separated concerns: Azure DocumentDB stores notification records, outbox state, recipient linkage, and read status, while RX Notification Service handles email delivery in the current scope. The secured frontend path is used only when the user reads notifications in the UI.
Observable and traceable delivery: Success, failure, retry, and delivery outcomes remain traceable through Datadog and backend audit signals, while the React SPA retrieves the current state through the protected BFF path.
Recipient / user Frontend / browser Edge security Ingress / API gateway BFF processing Source event Notification service logic Notification state storage Outbound delivery Observability / audit Returned result