There are several programs written at my company that to some level automatically configures systems. The systems that are configured by the programs can sometimes be the same but are most often not. The programs are written in different languages and are managed by different departments. There is now an initiative that I am working on which will create a common system with a web interface that will use all these configuration programs in the background. So a user can do a configuration from the web interface. The common system will then select which software is appropriate to do the configuration and will instruct it to do the action.
I need to evaluate the design/architecture patterns that can be used to make the communication between the web interface backend and the configuration programs possible. I need help to find these design/architecture patterns. The only two ideas I have had so far are either Message Buss or Plug-In patterns.
There will be more programs in the future that do system configurations so the solution needs to be quite flexible. Because of this the current best thinking is to use the Message Bus design/architecture pattern.