Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
In COM+, each and every object you instantiate will run inside a COM+ application. You can think of a COM+ application as a logical grouping of components; but from an OS perspective, a COM+ application is really just a "potential instance" of a process calledDLLHOST.EXE. By "potential instance," I mean that a COM+ application has the potential to become a new instance of DLLHOST.EXE, which will house one or more running components. This potential becomes a reality when a client application first requests an instance of a component. COM+ determines the application that the component is associated with, and a new instance of DLLHOST.EXE is run. Thus, when you instantiate an object, the object's application (DLLHOST.EXE) must be run (unless it is already running, in which case the already running instance will be used). The component you instantiate is then loaded into this process. Any number of components may be associated with a COM+ application, and this means that any number of components can be made to run inside the same instance of DLLHOST.EXE.
Because COM+ applications take the physical form of a new DLLHOST.EXE process, the number of components you associate with COM+ applications has a direct effect on performance. If you have many components overall but divide them amongst many different applications, you may up with a system that is less efficient than it could be; related components should be grouped together in the same application to avoid an excessive number of COM+ applications/DLLHOST.EXEs from running.