2. How adapt fast to changing business needs
● Fast reconfguration of information fow
● Hot deploy in production of new functionality
● Multiple software version operation
● Language agnostic system
● Easly integration with legacy systems
● Microservice ready
● Stream fow integration
3. Technology Stack
● Web based interface management
● Pub/Sub in-memory information fow and graph mapping
● Javascript library for web based graph mapping and management
● Language agnostic templates for process development and deployment
● Asyncronous and web-socket libraries for backend
● Filesystem and key/value DB for cache and state consolidation
● Process management libraries
● Stream processing ecosystem
4. Graph Actions
● Setup of graph topology and defnition of nodes
● Defne / Edit Node properties
● Save / Load Graphs from server
● Deploy / Undeploy of single/group (by edges, by nodes) and whole graph
● Hold of single/group (by edges, by nodes) and whole graph
● Hot deploy with running Graph
● Hot edge reconfguration with running Graph
● Deploy / Undeploy Framework backend process ( Server, Monitor,
Broadcaster)
5. Nodes
● Diferent kind of specialized Nodes part of
this group (Input / Output / Process / Event /
Conditional)
● Input (slack/discord/sftp/stream)
● Output (slack/discord/sftp/stream)
● Event (timer,stream)
● Conditional ( multi input/output on message
content)
● Multi language script association with Node.
● Run / Hold / Deploy / Undeploy by process
manager
● Multiple process script templates in
Javascript / Python / Elixir
6. Edges
● Manage queue, connecting source and target Nodes
● Have a dedicated Process Queue Manager (PQM) process
● Process Queue Manager supervise redis queue, output statistics data,
manage cache activation when target node get unreachable ( on hold,
undeployed, on error )
● Edger can be put on hold to stop or redirect / reconfgure message fows
through the running graph.
7. Backend
● Redis server
● NodeJs Server process for deployment
● NodeJs Broadcaster process for intraprocess and web messaging
● NodeJs Monitor process for PM2 process metadata update
● Local storage on Lokijs ( Lokijs )
● On Next iteration, Kafa and Faust ( working on that .. )
8. Web Interface
● Single page application
● Build on CytoscapeJS plus vanilla Js
● Socket-io for message broadcasting
● Auth0 ( Auth0 ) cloud authentication service
● Vue.js for dialogs
● Last but not least lodash