Publish/Retrieve Workflow ============================================================================= The |ppr| traces containers in two individual processes. The first process publishes the containers to the provider system, so that it knows what containers we are interested. The second process retrieves status results from the provider and notifies |encd|, so that the |tms| application receives the results through the registered **Web-Hook**. Currently, |emodal| is the only provider that works this way, but there might be others in the future. The following diagram shows the design of the |ppr|: .. image:: /_static/publish-retrieve-workflow-design.png The design is similar to the |prt|, and identical for the |tms| application and |encd|. The main difference is that the **Container Publish Handler** process invokes the **Provider Publisher**, so the container is published to the provider system. Once the container is published, status changes for the container will be available in the provider system. The **Results Retriever** runs at a time interval and queries the provider for new results. When new status results are retrieved for a container, the results are sent to the notifier, which creates the **Container Result Event** for |encd|. |encd| then notifies the |tms| application of the new status. The containers are only published once to the provider system. After the initial publish, results are retrieved when they become available. The following sections document the providers that use the |ppr|: .. toctree:: :maxdepth: 1 :caption: Contents: pr/emodal