I'm working on a large web application that includes many modules (CRM, Inventory, Administration, etc.) What I want to accomplish is to be able develop each of these modules independently (the UI, Core Logic, DataAccess Logic, and all) and then integrate them all together into a core module (this integration should only be a change in the configuration file). For example, if I have a core module named Host, I should be able to add the CRM module to the host module by simply adding this line to the host's configuration file:
<module name="CRM" />
I did some reading on the WCSF, and found that it can help integrate some modules together, but it really doesn't offer so much help in terms of integrating those UI elements.
Some friends suggested MEF for the job, but I haven't looked at that yet.
What do you guys think?
Is it possible to achieve this level of modularity, and how much work do I have to put into it to get it working?
That is what MEF does, and as it becomes a part of the BCL from .NET 4, I would definetely go with that (note that it's also available in open source form for .NET 3.5 SP1).
However, don't expect any tool to enable you to magically develop loosely coupled code. It is first and foremost a design discipline. You can also write modular applications using common Dependency Injection and add-in patterns using nothing but bare-bones BCL (although a DI Container would be helpful).