Workflow management for maintaining consistency of persisted state across
communicating components via batching of uncommitted work. A workflow
component defines a workflow containing work items to be performed by
service provider components. The workflow component assigns the work
items to the service provider components, and the service provider
components acknowledge the assigned work items. The workflow component
appends the assigned work items to a work batch. The workflow component
creates a transaction containing the batched work items. The workflow
component commits to the workflow by requesting the service provider
components to perform the work items. The workflow component checks the
state of the execution of the work items and stores the state in a
persistent storage.