Is MAF still alive?

May 17, 2011 at 5:42 PM

I am thinking of using MAF for one of my projects. However the lack of activity on MS website & this site is worrying. Is this technology still viable? Or should I be looking at newer alternatives like MEF? Any feedback would be appreciated. Thanks.



Jun 27, 2011 at 2:40 PM

samirkut - Please correct me if I'm wrong, but the MEF you mentioned is something of on a different level/problem abstraction than MAF. Only the names are similar. MEF is an IoC while MAF is a communication and discovery platform based on Remoting. To be more correct, you would rather compare MAF to the WCF!

no to the my part -

The question on MAF's liveliness is problematic for me, too. I have been using WCF for networking like accessing webservices etc, but I found them really irritating to manage when dealing with 100% localmachine communication (and also quite slow, but that was probably implementational detail). What I have to deal with is a "worker process" "pattern", which is simple in its core, but gets annoingly due to the small addition that my worker is almost guaranteed to crash .... at native level. And pitifully, that libraries I must use are not patchable, so I have to deal with it on the upper level in a checkpoint/restore/retry manner.

The first thought was, that the .Net remoting is the best way to hack up a worker process, but for some time I always stumble upon some notes like "forget remoting, get WCF", "remoting is obsolete" and so on. After glueing together some solutions in WCF and my own worker code, I decided to give Remoting/MAF try and for now, except some Pipelinebuilder nuisances and such, I'm happy with it.

But the questions stays: Microsoft claimed in not a few places that .Net Remoting is obsolete and all developers should switch to WCF wherever possible. MAF is nice but bases on Remoting. Does that mean that MAF (a.k.a System.AddIn) was created/released and instantly dropped? Or maybe it will be ported to WCF? or maybe it is just that the Remoting is NOT obsolete but just discouraged?

Nov 19, 2013 at 4:14 PM
Edited Nov 19, 2013 at 4:14 PM
Remoting is just the way 2 AppDomain's talk with each other, that's why it is used by MAF. WCF doesn't have similar capabilities. The idea behind MAF is provide isolation between different Addins giving you the control of where your Addins run to as low as the AppDomain level, something that WCF doesn't even try to solve and MEF definitely does not solve. MEF is not a fully-fledged IoC framework, the most accurate is to call it a discoverability framework with some IoC capabilities.