Our application is composed of a main webapp and a handful of windows services that perform a variety of jobs that feed, sanitize and optimize that webapp.
In order to ease the task of maintaining this services I would like to unify them in a single application and while I have several years of practice in C# development, I have little experience developing in Windows applications (in C# I mostly develop for the web using ASP NET MVC).
I would love to get suggestions on the achitecture/technologies/practices I should use to develop such application.
- The basic idea is to develop a plugin based windows application that serves as the frontend to manage several plugins (each current windows service would become a plugin).
- There will be three different kinds of plugins: some will be called from time to time, others at especific times and others when some folder/files are modified.
- The plugins should have a way to log messages to the main application.
I can use windows forms or WPF to achieve this. I think windows forms is easier to grasp and develop. It does not need to be fancy, just functional.
To further clarify, I'm not asking for code or tutorials but guidelines to achieve what I need. Mainly the plugin (is MEF a good option or is it overkill?) and messaging systems.