Function · Process designer Built
The processes that run your warehouse — goods-in, outbound, cycle-count — are BPMN models, not integrator code. openWCS runs them on an embedded Flowable engine, and their service tasks originate real WCS work: device tasks, conveyor routes, order release and goods-in put-away.
How it works
A process is standard BPMN 2.0. Deploy a definition, start an instance, and as the flow advances each service task calls a delegate that drives an openWCS service — so a diagram becomes movement on the floor.
An embedded Flowable engine runs admin-designed processes, managing its own tables on the shared datasource. Definitions on the classpath auto-deploy at startup; new ones deploy on demand.
List and deploy BPMN 2.0 definitions as raw XML, then start an instance with a process key, an optional business key and variables — no rebuild, no integrator change request.
Service tasks reference Spring-bean delegates: dispatchDeviceTask drives a flow-orchestrator device task, assignRoute a conveyor route plan, releaseOrder an order release/allocate.
The goods-in process includes a put-away delegate, so a received unit flows from the BPMN model straight into a slotting decision and a put-away move — the receipt-to-storage path as a diagram.
Processes can pause on user/wait tasks — list them by instance or assignee, then complete one with variables. So a flow can hold for a confirm-pick or count step before it continues.
Three processes ship and auto-deploy: goods-in (dispatch a device task), outbound (release → confirm-pick user task → dispatch move) and cycle-count (operator count task).
At a glance
admin ─► deploy BPMN definition ─► start instance
│
┌─ service task ─► dispatchDeviceTask ─► flow-orchestrator ─► device adapter
├─ service task ─► assignRoute ─► conveyor route plan
├─ service task ─► releaseOrder ─► order-management release / allocate
├─ service task ─► put-away ─► slotting decision → put-away move
└─ user task ─► wait for operator (confirm pick · count) ─► complete
Configurable & open
The engine and the delegates are open source. Model a new flow in BPMN, point its service tasks at the work you need, and deploy it yourself — a designer UI is the remaining follow-up.