Indigo & COM+ Object Pooling & JITA
A question arose on a thread about a my Distributed Systems giudance paper on whether COM+ would "disappear" when Indigo is released.
Before I even begin on this subject, understand that COM+ is not going *anywhere* - it's staying right in the platform for decades to come. There are millions of applications out there that depend upon COM+ and will continue to do so for some considerable time to come.
Now, as I have commented several times before, Indigo does provide a strategic path to the future where capabilities of our current technology stacks are combined into a single foundation and can be combined together for the first time to enable scenarios which were hard (if not impossible) in the past. Indigo does indeed provide queued messaging, distributed transaction support, security, reliability and many other features that exist today in COM+ (as well as other technologies such as ASMX, WSE, Remoting and MSMQ) and we anticipate that most developers will migrate towards Indigo from our existing stacks over the coming months and years.
With regards COM+ Object Pooling & JITA, understand that both these capabilities are primarily mechanisms to reduce the number of object instantiations and disposals to a minimum, optimizing performance of (primarily) short-lived, sessionless objects. Similarly, Indigo service instances are stateless by default and can be instantiated and activated in a very similar manner to how stateless COM+ components are Pooled and JITA'd. However, if you need to express the notion of "session" or "statefulness", Indigo has several modes of operation including stateless (default), private sessions and public sessions, which exceed the out-of-the-box capabilities of existing technologies such as COM+.
For more details, please be sure to visit the Indigo online documentation.