Skip to main content

Architecture

BizOps Engine is designed so operators work in a visual client while a Spring Boot API persists projects, workflows, and catalog metadata in MongoDB.

System shape​

Qinfinite Shell (Single-SPA)
│
▼
BizOps Engine Web Client (React + React Flow)
│ REST /api/v1
▼
BizOps Workflow Web Service (Spring Boot)
│
├── MongoDB (projects, jobs, workflows, step-data, catalog)
├── Action-type catalog seed / sync
└── Plugin deployment registry (Orchyron bindings)

Key Components​

Web client​

What operators use every day.

CapabilityDetail
Hierarchy screensProjects → Processes → Jobs navigation
Workflow editorReact Flow canvas with step palette and configuration panel
Catalog formsParameter and table editors driven by action definitions
History viewsCycle history and step traces
Delivery modesStandalone Vite app or microfrontend inside the shell

Workflow API service​

The persistence and contract layer.

CapabilityDetail
Resource APIsProjects, processes, jobs, workflows, step-data, runs
Catalog APIsAction-type catalog read/reload (reload typically dev-gated)
Plugin registryPlugin deployment listings joined to action bindings
Health endpoints/health and actuator health for platform probes
StorageMongoDB collections for workflow-engine entities

Default local API port is commonly 8092. Point the client with VITE_BIZOPS_WORKFLOW_API_BASE_URL.

Action-type catalog​

The catalog is the shared vocabulary of actions. On startup the service can:

  • Seed Mongo from an in-code catalog when empty
  • Sync from an external JSON export when configured
  • Fall back to classpath catalog JSON if Mongo has no rows

See Action Catalog for operator-facing details.

Execution path​

Depending on deployment, step runtime is handled by:

LayerRole
Workflow service run APIsAccept run requests and record history / mock outputs
Orchyron / plugin podsExecute real action plugins when provisioned
Observability / analytics sinksPersist metrics or ROI data when plugins write to stores such as CrateDB

The open-source-style mock path in the workflow service is intentionally safe for demos and UI validation.

Data model highlights​

Collection / conceptStores
projectPortfolio records
process (under project APIs)Streams inside a project
jobRunnable instances
workflowSteps, edges, metadata for a job
step-dataExternalized step payloads
action-typeCatalog definitions
plugin-deploymentRuntime binding metadata for plugins

Exact collection names can evolve with schema resets in local/dev; treat the REST contract as the stable surface for clients.

Security and platform integration​

ConcernApproach
AuthBearer token or session cookie via the platform gateway / BFF
CORSConfigurable allowed origins for local Vite ports and deployed hosts
SecretsPrefer Global Configurator / vault-backed connections rather than embedding secrets in step JSON
Shell integrationMicrofrontend basename and shared navigation from the Qinfinite UI shell

How Engine relates to Dashboard Hub​

ProductResponsibility
BizOps EngineDefine and execute business workflows
Dashboard HubPresent hubs of dashboards/widgets for monitoring and business KPIs
Shared valueWorkflow outcomes and operational metrics become visible on stakeholder dashboards