OCI Workflow provides primitives, such as error-handling, timeouts, retry logic, condition-based branching, looping, and parallel computation. This allows you to rely on a base set of primitives and free them from implementing these primitives in their application code.
OCI Workflow maintains the state of the workflow during execution without requiring the user to build a complex state management system into their solution. The output of one state automatically becomes the input to the next state.
OCI Workflow has built-in flow controls for retries and error-handling. You can catch default or custom errors and specify the logic on how to handle the errors. As part of error-response, users can specify a retry behavior, exit the workflow, or transition to another state in the workflow for customized error- handling logic.
A visual designer provides easy access to building and visualizing workflows. A workflow that can be imagined as a series of steps in a flowchart that can be quickly created in the visual designer. A visual interface with integrated observability makes it easy to ideate on the concept.
OCI Workflow natively integrates with OCI services, allowing you to focus on orchestrating workflows across multiple OCI services, such as Compute, Networking, and Storage, instead of writing integration code.
OCI Workflow offers native support for JSON filtering using JSON query language (JMESPath) expressions. This allows customers to filter/modify a workflow execution as it moves from step to step.
OCI Workflow allows the user to view the details of every workflow execution using the console-based designer. Using this designer, a user can view the detailed logs of each step, including the input and output state. The user can view the detailed execution history of all past executions.
OCI Workflow can be triggered on a schedule using a crontab syntax.
OCI Workflow definitions will have a concept of “latest” and “live” versions. Every time a user creates a new version, the workflow executions that are currently running are not impacted. This allows the developer to test changes before “promoting” a version to production.
OCI Workflow allows for one workflow to call another workflow. This allows the user to create a set of best practice workflows that can be shared across the organization and used to compose larger workflows.