Module Isolation, Addin capabilities

Dec 8, 2008 at 7:16 PM
Hello,
how would you manage to get module isolation using Prism?
I mean, all is about IOC, if you want to load modules in different AppDomain, how would it be possible to "share" Unity or other IOC cross-boundaries?

Any help or idea is appreciated.
Thank you,

Riccardo
Dec 8, 2008 at 7:54 PM
I think you'll find the following very interesting :)  Particularly the post by Glenn Block:
http://www.codeplex.com/MEF/Thread/View.aspx?ThreadId=40335&ANCHOR#Post136825
Dec 9, 2008 at 9:33 AM
Thank you Bill,
I read it and find it very useful, but in the future:)
We cannot use MEF in our project till it becomes in release mode.
As I have understood, actually, using Prism as the composite pattern, or one builds up all the stuff to obtain dynamic loading / isolation of modules or adapts MAF functionalities, am I right?

Riccardo
Dec 9, 2008 at 1:16 PM
Currently Prism works under a single App-Domain.   The ability to unload App-Domains, recovering resources, is something I believe every enterprise level developer would like/needs to have.  It would be a great feature to have built-in to any framework; particularly one maintained by a P&P team such as this.  

I thought you might be interested because, like me, you might feel the ROI was not there (to do the work ourselves) if a qualified team was going to be working on it; integrating and managing the pipleline seemed like it was going to be quite the task...

For those not familiar with MAF the "Sample-Reliable Extensible Calculator V2" is an example in the http://www.CodePlex.com/CLRAddIns project.
Dec 9, 2008 at 7:24 PM
I completely agree with you. In the enterprise world, a composite application without dynamic modules loading / unloading, recovering resources and fault tolerance lacks of really important aspects, that customers use to ask for (and I don't blame them for that).

It's not only the pipeline the problem, it's also the integration of it under the hood. If you want just to add some addin funcionalities to your application (host) or want to automate it with an addin, it's quite simple, and MAF do it very well.
But if you want to mix all:

- have addin's graphics in your host
- consume addin's services from your host
- consume host's services from addin
- consume addin's services from other addin's
- have and event-bus shared across host and addins

well there is a lot's of work to do to "automate" the crossing of the boundaries.

I think we should uniform these issues with a unified solution, we have all the components:

- Prism on the top
- MEF + MAF under the hood

obviously it's the future, but as I am reading not the closest one for all I mentioned.