
Show HN: Sborex, a minimal-code visual service designer with web builder (POC) - fedd
http://sborex.com/poc/
======
fedd
I wrote a visual flowchart execution engine with multiple machine protocol
connectors. You can also hang a web page here and there on the diagram to
provide the means of interaction with human users.

The demo app contains a proto-CRM and a quick implementation of a SIP server.
It runs on Java 8+.

Please tell me what you think about this thing. Are there any services or apps
that you would draw with such a tool once it's ready?

=============

I was exploring the existing visual process design toolkits like BPMN
execution engines for my work (fintech), but I quickly learned that they
weren't working as I was expecting.

They were aiming on orchestrating the workflows as business processes, without
focus on real-time execution. For integration purposes a developer would need
to embed and configure some different tool along with the process engine.

So I started coding, implementing the engine from scratch, redefining slightly
the meaning of BPMN elements to my understanding:

\- Message Event became an Apache Camel endpoint consumer or producer -
basically waiting or issuing an external system call via some API. The user,
with an Apache's extensive component list and their docs as a cheat sheet [1]
would define the app's integration points: reading files, listening to restful
requests ans so on.

\- User Task instead of being just an input form became a full blown web page
or page fragment. The user is presented with the process-bound data in a
legible form to make a decision and to complete the user task.

\- I added web page templates to the processes themselves. Now you may design
a complex web page with dynamical parts that are represented by the currently
waiting process User Tasks page fragments.

\- The "multi-instance" elements will work with long streams sequentially
splitting them in chunks;

\- Some other less obvious things were made like the "stream parallelizer" to
direct the stream bytes to different consumers simultaneously. The process,
for example, will be able to send audio to the user and in parallel to the
speech recognition software (and then to the user in a form of text).

So what do you think this may grow into?

[1]
[https://camel.apache.org/components/latest/](https://camel.apache.org/components/latest/)

