MTS provides the infrastructure to build scalable, distributed applications from COM components in a timely manner. MTS is an OTM, combining the functionality of traditional ORBs and TP-Monitors. It includes a powerful execution environment that handles code concurrency, resource management, and security for components, as well as a transaction manager for coordinating updates across multiple components.
MTS also promotes a powerful, easy-to-use programming model for application server development. The application server programming model is a hybrid of two traditionally distinct models, object-oriented programming and online transaction processing (OLTP). From the client's perspective, everything looks object-oriented: clients create objects and hold object references as long as the references are needed, calling any number of object methods to do work. The reality in the server application more closely resembles traditional OLTP behavior. Objects are instantiated just long enough to do a unit of work. Objects grab resources as late as possible and release them as soon as possible, to promote resource sharing and scalability.
The net effect of this hybrid model is that application and component developers must consider how to manage state in the distributed application. We'll discuss this topic at length in Chapters 7 through 9, as we talk about designing and building distributed applications for MTS.