Real-Time Workflow

At this time, the Real-Time Workflow is the most common way to interact with providers that expose the information through an API or through their website. The workflow is described as real-time because every time a container is traced, the results of its status are provided immediately. Of course, the time to trace the container will depend on the provider implementation and the number of containers. APIs are usually very fast where scrapes take longer to retrieve results.

The following is a diagram that shows the design of the Real-Time Workflow:

../_images/realtime-workflow-design.png

The process is initiated by the TMS application by sending a Container Publish Event to Envase Connect Data. Envase Connect Data notifies Envase Trace Manager of the new event. Envase Trace Manager generates a trace job for the container and sends the job to Envase Tracer, which evaluates the job and sends it to the right provider implementation.

When the status is retrieved from the provider, Envase Tracer sends the results to Envase Trace Manager, which generates the Container Result Event and sends it to Envase Connect Data. Envase Connect Data receives the results event and notifies the TMS application through the exposed Web-Hook.

This initial trace of the container may take just a few seconds or less depending on the interaction with the provider source of information; therefore, the name of Real-Time Workflow.

Once the container has been published by the TMS the first time, Envase Trace Manager will trace the container again through the Real-Time Scheduler process that will initiate the trace. How frequently a container is traced depends on several factors calculated from the status of the container when the results are retrieved.

The goal is to provide information about status changes as frequently as possible while balancing the cost of querying the information.

The following sections document all the Real-Time providers supported and detailed information about how they work.