OMS: A Temporal Reference Application for Order Management Systems

temporal logo meteor indigo

Tom Wheeler & Paul Nordstrom

Principal Curriculum Developer & Principal Software Engineer

Temporal provides a wealth of features that enable organizations to build scalable and reliable applications. Through our extensive documentation and SDK code samples, developers can quickly learn what a specific feature does and see an example of how to use it in a given SDK. While concise explanations and usage examples are essential, making Temporal accessible to a growing community requires that we also show them in context.

That's why we've recently announced OMS, a reference application that showcases the design and implementation of an order management system on the Temporal platform.

OMS illustrates how Workflows, Child Workflows, Activities, Timers, Signals, Queries, Custom Data Converters, and several other features work together in the context of a relevant and relatable use case. This, in turn, helps developers and architects map their own business requirements to features provided by the Temporal platform.

How to Get Started with OMS?

The quickstart offers step-by-step instructions that will help you get the application up and running in just a few minutes.

We published a four-part video playlist on YouTube that gives an overview of the OMS and demonstrates how to set up and use it. The project's documentation details what's shown in those videos, including using the OMS with Temporal Cloud and enabling the application's built-in support for encryption. It also provides instructions for deploying the application to a Kubernetes cluster in AWS.

The technical description details the system's design and implementation, linking to relevant sections of the code as it walks through the steps involved in processing an order.

OMS Demo

What's Next for OMS?

The application implements all of the capabilities we felt were required for the initial release, but there are plenty of opportunities to improve and expand on this in the future. What would you most like to see? Perhaps a new feature, such as email notifications? UI enhancements, such as a more traditional product listing and shopping cart in the web application? Maybe an implementation of the OMS using a different SDK, such as Java or Python? We're interested in your feedback, so feel free to start up a discussion in the #watercooler channel in Temporal's community Slack.