Before describe other advanced features available into Sinapse platform it is necessary to introduce what happens behind the scene.
I start with a bit of history. The original idea of the platform comes from the desire to mimic the functioning of the brain with the opportunity to have a solution that can be easily managed and updated. Sinapse platform bases its functional model on connections of simple modules, each module executes its programmed job and transmits information to its connected modules using messages, like a brain where synapses connects neurons togheter. The name Sinapse and its logo comes from the idea behind the functional logic model described before. Moreover the chameleon represents the capabilities of Sinapse platform to continuously adapts to external conditions: using the features of the platform the designer can continuously adapts the logic to new requirements.
I wrote the functional logic follows what a brain does. Like a brain which receives information from the senses to take the right decision, the modules are the senses of the platform. Some Sinapse modules connects to devices, external systems and so on to receive and send feedbacks, while other modules creates the intelligence behind the process. Modules exchange information with other modules and the whole system take the decision.
Sinapse platform uses a client-server architecture. In previous articles I cited Sinapse server without explain it. Sinapse platform is built around a central elaboration unit, the brain behind, which hosts lots of services, mainly the functional logic of the process that the platform is managing.
Sinapse platform has lot of modules each one executes specific job. There are modules to:
- manage images, sounds, etc
- interact with external systems using various protocols
- interact with external devices
- interact with databases, file systems, input devices
- interact with user through Sinapse UI clients
- create the logic of the process using various languages
- add AI and Machine Learning capabilities
To better introduce the reader look at the following figure. It is the graphic representation of a configuration that Sinapse server executes.
In the previous image it is possible to highlight there are two main elements:
- Modules: the icons represents the modules which interact with external devices, manage the flow of data, elaborate the information
- Arrows: the arrows represents the data flow of information between modules
To configure the platform: a designer chooses the modules, configure and adds them in the configuration. When each module is in the configuration it is ready to be connected to other modules just drag an arrow from a module to another, and it is done. To configure the logic the designer can open the editor and write simple scripts using the preferred programming language. This is the brain.
What was described before (module configuration, connections and scripts) can be changed at runtime without any shutdown. This is the chameleon.
In this article I just introduced the second element of the Sinapse platform: the brain behind. In other articles I’ll go deeply into various concepts and features of the platform. Here a brief list:
- Runtime update: designer can update everything without shutdown the platform
- API: modules expose API usable from the designer to execute specific requests both in-proc and in remote
- Microservices: designer can create and expand modules functionality
- Transparent Distributed processing: Sinapse platform instances can connects togheter transparently
- Multipoint UI: sinapse platform manages multiple UI instances from multiple devices, both locally and remotely across internet