Event Bus Use Cases
This page is not intended to cover every use case, but to list specific needs or pain points from various squads. The event bus would generally be used for most future cross-service communication.
Squad / Contacts | Use Case | Status and Notes |
---|---|---|
Phoenix (@Kashif Chaudhry (Deactivated) @Jeremy Ristau) | Syncing CMS course run creation with Discovery. | Arch-BOM is currently working on implementing this use case. Currently handled with scheduled bulk updates. Has high latency and is prone to errors. |
Aperture (@Kelly Buchanan @TJ Tracy (Deactivated)) | Syncing catalog data from Discovery to Credentials | Currently handled with scheduled bulk updates. Has high latency and is prone to errors. |
Aperture (@Kelly Buchanan @TJ Tracy (Deactivated)) | Syncing course certificate and grade data from LMS to Credentials | Currently handled with async call from LMS directly to Credentials. Prone to errors, business logic breaks domain boundaries, no event reuse. See below for implementation notes. |
Purchase (@Ben Holt (Deactivated)) | Ecommerce replacement, cross service calls. For example, data sent from LMS to new Ecom. | Need to plan for async direct calls until Event Bus capabilities exist. Events can’t easily be reused by multiple services without being routed by the ecom replacement service. |
Enterprise: Access: Titans (@Brian Beggs) | Subscription plan creation, subscription plan expiration, license expiration, license renewals, learner enrollment changes | We need to create and remove things frequently that touch a number of systems (LMS, license manager, catalog manager) that are currently doing synchronously. This can cause timeouts, failures and is prone to errors due to transient errors on the systems being called. Nothing started yet. Would need something where events/messages could be fired and consumed by a number of systems. Also see https://openedx.atlassian.net/wiki/spaces/SOL/pages/3381428720 |
Content: Cosmonauts (@Zach Hancock (Deactivated) @Simon Chen @Andy Shultz (Deactivated) ) | Moving proctoring out of platform and into an IDA. Calls to the LMS to update grades, credit, completion, and certificates based on exam review. | This project is currently in the design phase. We would like to decouple a lot of these proctoring features that are currently spread across the LMS. |
Content: Cosmonauts (@Andy Shultz (Deactivated) ) | Detect some program intent actions to drive behavior | A later phase of program intent but I think likely to be implemented sooner or later. |
Other use cases:
Additional parts of Refresh Course Metadata
Catalog Caching for Prospectus builds
Replacing synchronous calls from LMS to Discovery
Replacing synchronous calls from publisher (discovery) to lms/studio/enterprise
Publishing enrollment event for unknown/various future consumption.