formapro / pvm
The library provides us with a frame to build a workflow or a business process such as BPMN. Could execute tasks in parallel or delayed tasks
Requires
- php: ^7.1
- formapro/values: ^0.5
- psr/log: ^1
- ramsey/uuid: ^3
Requires (Dev)
- enqueue/simple-client: ^0.9
Suggests
- alom/graphviz: ^1.1 If you want to visualize graphs
- enqueue/enqueue: ^0.9 Install the Enqueue library to be able to process tasks async (by using MQ).
- formapro/yadm: ^0.5 Install the Yadm library to be able to persist store in MongoDB
- graphp/graphviz: ^0.2 If you want to visualize graphs
Provides
None
Conflicts
None
Replaces
None
README
The library provides tooling to build/execute/visualise workflows, BPMN, chat bots, state machines. Designed for parallel and destributed execution. Backed up by workflow nets (WF-nets) and graphs theories.
Examples
Checkout PVM Examples site.
- Sequence
- Fork
- Conditions
- Cycles
- Synchronization
- Pause and continue
- Clone and Modify
- Grouping
- Exception
- Store to File
- Store to MongoDB
- Store with Doctrine
- Parallel execution
- Telegram Bot example
- Good writeup on Petri Nets
Developed by Forma Pro
Forma Pro is a senior product engineering company helping product organizations build and evolve complex, data-intensive software.
Our public open-source work reflects more than two decades of engineering history, including PHP/Symfony libraries, infrastructure tooling, workflow components, and messaging systems.
Today, our work spans marketplaces and platforms, partner and attribution systems, FinTech, logistics, EdTech, data-intensive workflows, matching and recommendation systems, and applied AI/ML.
Learn more at forma-pro.com.
For questions about this project or our open-source work, contact us at opensource@forma-pro.com.