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

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.

Use Case Notes

Sync certificate and grade data from LMS to Credentials

Rough Notes on Grades Event POC

[From meeting with Kelly/Justin]


[From Matt Tuchfarber] Our top two use cases for message bus are: