The software router is a Groovy project that focuses on getting messages from a RabbitMQ server and launching scripts written for Cytomine.
When you add a new software (see : [DEPRECATED] Guide: Adding a new software (and make it executable from Cytomine-WebUI)), a message is sent to the RabbitMQ NewScript queue. This notifies the Router that a new software (or algorithm) has been added to the Cytomine Core.
After that, a new queue is created (RabbitMQ Queue MySoftware) and the Router starts a new thread to listen on that new queue.
When you want to start a software from the web interface, a message is sent to the software queue. This message is then read by the Router and a new thread finally launches the software.