The Application Concept
FlowNote Applications organize business logic as Flows and Actions.
Basic Concepts
- Applications are a collection of Actions and Flows.
- Flows are HTTP-compliant Endpoints and have a collection of Nodes, Channels, and Milestones.
- When a Flow Eendpoint is requested, Events are created and move between Nodes, Milestones, and Channels.
- Nodes and Milestones have a sequential list of Actions and pass Events to Channels.
- Channels can be configured for retry strategies and pass Events to Nodes and Milestones.
- Actions contain user-defined JavaScript and can perform useful operations.
- Milestones commit all accumulated scheduled Actions in the order they were scheduled. (Calls to 3rd party services or resources, etc)
Event Queue
An Application has an Event Queue that manages the progression of Events through a Flow. By default, FlowNote Applications use the MemoryQueue, but you can also create wrappers for custom queues such as Redis, ZeroMQ, or queuing services by registering it with call to the Application’s registerQueueType(<name of the queue type>, <Your new Queue Class>)
Examples
To see more various examples of how Applications are defined, check out the flowExamples.js test.
Documentation
( Installation | Features | Use Cases | Language | Application | Flow | Nodes | Channels | Contribution Overview | Roadmap | Known Problems )