To COM+ or not to COM+ ...

That is the question.

I'm working on the architecture for my company's Next Generation platform (code name yet to be decided).  We've already decided on a handful of important things such as:

  • Visual Basic.NET for all User Interfaces
  • C# for everything else.
  • Test Driven Development for at least the non-UI portions of the site.
  • Alot of Extreme Programming concepts, but scaled back for a small shop.

Now, coming from a Visual Basic background, and having done ALOT of web development, I love COM+.  I love the transactionality, I love visibility on components, etc.  I like Queued Components for an easy level of asychronous processing.

But COM+ is still COM.  I realize that this will require InterOp, etc, but it seems to me that pure Managed Code lacks the ease of development that COM+ provides for certain aspects.  For instance, to do a “Queued Component” without using COM+ I'm going to have to write my own serialization routines, I'm going to have to write my own listener service, etc.  Is this really worth not having to deal with InterOp?  Thoughts?