Introduction
Objectflow provides developers with a straight-forward way of separating business logic from control flow. This leads to more flexible software that is cheaper to change.
Some reasons to use a lightweight workflow framework
- Your software has workflows but you don't need to manage long-running operations.
- Free's developers to create valueable software rather than workflow plumbing
- Your applications are becoming hard to change due to procedural code or conditional logic.
Some benefits of using objectflow
- Promotes cohesive, testable software that's easy to understand.
- Improves scalability by leveraging the frameworks concurrency features
- Easy to get started with the simple interface
- Simple deployment - just a single file in the application directory.
Getting Started
Feedback
Features
Current Release
- Encapsulation of workflow configuration and polymorphism
- Repeat operations an arbitrary number of times
- Retry failed lamda functions
- Generic interface for concise workflow registration
- Retry failed operations
- Workflow definitions can contain sub-workflows (exclusive choice implementation)
- Sequential execution engine
- Parallel split (And)
- Simple merge using Then syntax. Waits for all parallel operations to complete before continuing.
- Simple constraint syntax
- Lamda support for work-flow operations and constraints
- Workflow engine supports Functions as well as objects inherited from BasicOperation<T>
Coming soon
- More exception handling
- Multi-choice
- Discriminators
- Inversion of Control containers
- Stateful & persistable worflows
- Events
- Conditional cycles
documentation