ores.workflow.core
Table of Contents
2. Summary
ores.workflow.core provides workflow orchestration for ORE Studio. It manages
workflow definitions (sequences of steps with preconditions and actions),
execution instances (tracking progress and current state), and exposes NATS
handlers for workflow management. Workflows coordinate multi-step operations
such as report generation pipelines that span multiple services.
3. Inputs
- NATS request messages for workflow definition CRUD and execution management.
- PostgreSQL connections to
ores_workflow_*tables.
4. Outputs
- Workflow definition and execution records persisted to the
ores_workflowschema. - NATS response messages returned to callers.
5. Entry points
include/ores.workflow.core/ores.workflow.core.hpp— aggregate include.include/ores.workflow.core/messaging/registrar.hpp— registers handlers.
6. Dependencies
ores.workflow.api— shared domain types and NATS protocol schemas.ores.dq— ORM base classes and persistence infrastructure.ores.iam.core— identity and authorisation context.soci— SQL ORM.nats.c— NATS messaging client.
7. Build dependencies
What the shared profile cannot know, declared here rather than hand-edited into the generated build file. Each block is spliced into its generated file after the profile's baseline.
8. See also
- ores.workflow — component group overview.
- ores.workflow.api — protocol types and domain entities.
- ores.workflow.service — NATS service entrypoint.
9. Test dependencies
The suites link what the profile cannot know about.
target_link_libraries(${lib_target_name}
PUBLIC
ores.workflow.api.lib
PRIVATE
ores.database.lib
ores.utility.lib
ores.service.lib
ores.nats.lib
ores.history.core.lib
ores.dq.api.lib
ores.dq.core.lib
ores.iam.api.lib
ores.ore.api.lib
ores.refdata.api.lib
ores.reporting.api.lib
ores.telemetry.core.lib
Boost::boost)
target_link_libraries(${lib_target_name} PRIVATE ores.codec.pch)
target_link_libraries(${tests_target_name}
PRIVATE
${lib_target_name}
ores.database.lib
ores.eventing.api.lib
ores.eventing.core.lib
ores.nats.lib
ores.security.lib
ores.utility.lib
ores.testing.lib
ores.logging.lib
Catch2::Catch2
faker-cxx::faker-cxx
ores.openssl_cleanup
Threads::Threads)
