A bit of background: We are in the process of replacing the legacy ecommerce service with a highly modular service we’re calling Commerce Coordinator.
To start decoupling the legacy ecommerce service from other services and micro-frontends we’re building thin shims for the Coordiator and routing requests there and, for now, these shims will basically call the relevant legacy APIs.
One of the first of these will be decoupling the order history MFE, since it is relatively self-contained and lower-risk than other ecommerce functions. The Coordiator shim for this will essentially be a proxy for the orders
API, which brings me to my question:
Is there a better pattern or technology for implementing this proxy than simply (sychronously) calling the legacy API and returning the results?
Might Django Channels allow the order data to be fetched asynchronously and returned to the MFE? I haven’t used them, and only just started to read about them.
Any other technologies or patterns that folks have found helpful for decoupling a request and the returned data? Or should we stick to “Keep It Simple” here?
Forward-looking statements: The goal of these shims is to allow smooth transitions from the legacy service to an ecommerce backend vendor or other service; once that shift has been made, we will likely consider moving to vendor-hosted or vendor-specific frontends for things like order history, so this proxy will likely be a short- to medium-term solution.