COM+ added object pooling, loosely-coupled events and user-defined simple transactions (compensating resource managers) to the features of MTS.
The Windows Communication Foundation (WCF) provides a way of calling COM+ applications with web services.
[1] In addition, based on the information from the component's deployment properties, transaction logic and security checks also take place in these wrapper objects.
Methods in the MTS component call into the Context Object through its IObjectContext interface.
And when the request is serviced and the reply is sent back to the client, the component either calls SetComplete()/SetAbort(), or its transaction ends, or the client calls Release() on the reference to the object, and the actual MTS object is destroyed.
Generally, when a client requests services from a typical MTS component, the following sequence occurs on the server : It is thus possible to implement high-latency resources as asynchronous resource pools, which should take advantage of the stateless JIT activation afforded by the middleware server.