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
NT
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
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
OK
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