I developed my own simple software distribution solution. After months of researching how best to do it. It is quite simple. To do it, you can register the devices in a database and you should be able to identify them by their IP and hostname. Create another table for commands based on the inventory information like the hostname. The web applications should be able to send the commands to the local agent on the devices using a secured Michanisum and protocols such as https or other TCP-based protocols. After the device retrieves the command, the web application should recognize it and remove the command registered to the target devices from the database.