LMS Messaging and Outbox
Summary
Training stages integration contracts directly through TrainingOutbox helpers; there are no domain events or domain-to-integration mapping handlers.
Eight invoked contract types cover assignment/start/completion, assessment pass/fail, certificate issue, and session schedule/reschedule. The expiring-certificate contract exists but has no confirmed Training producer invocation. Shared bus/publisher/processor services are registered, and an outbox store exists, but no Training hosted relay or explicit processor invocation was found. ProcessedIntegrationEvent storage exists without an inbound consumer. Retry capability exists in the shared processor only when invoked. Delivery, exactly-once, dead-letter, replay, and consumer completion are not guaranteed.
Requires confirmation
Fine-grained authorization, production ownership, operational governance, and future architectural boundaries require confirmation where not implemented.
Source References
microservices/src/training-service/Infrastructure/TrainingDbContext.csmicroservices/src/training-service/Infrastructure/Persistence.csmicroservices/src/contracts/Events/TrainingLifecycleEvents.csmicroservices/src/training-service/Program.csmicroservices/src/shared-kernel/Extensions/MessagingExtensions.csmicroservices/src/shared-kernel/Messaging/OutboxProcessor.cs
Related Articles
See Also
Keywords
- LMS technical architecture
- Source-backed implementation
Revision Information
- Status: Draft
- Last reviewed: 2026-07-17
- Review cycle: Quarterly