500 instances of a customer object that maintains state on a server may cause a server to stall. This releases component state, serves as a transaction boundary, and enables server applications to scale. The client still maintains a reference to the server component, so the next time it requests work, MTS uses JIT Activation to fire up a new instance of component. When Microsoft shipped MTS a year ago, it described this capability to activate and deactivate server components as a stateless programming model. Packaging, Cross-Platform Interoperability, and Deployment MTS includes a facility for configuring DLL components into application packages that serve as units of execution and deployment.
Packages run in a single system process and serve as a security boundary.
Developers can deploy all of their application components into a single package, and partition the application so that half of the components run in one package and half of the components run in another package. These two packages can run on separate servers without requiring developers to change how the components are implemented. Microsoft calls this capability to partition an application across multiple back-end servers static load balancing . MTS enables middle-tier components running on Windows NT Server to integrate with both clients on resource managers that run on legacy platforms. MTS does not require the installation of client-side libraries and has no client footprint.