With the recent release of Windows XP Professional and Home editions, Microsoft has finally begun to consolidate its Windows 9x, Windows Me, Windows 2000, and Windows NT codebases into a single operating system going forward. This convergence of business and consumer operating systems will not be complete, however, until Windows .NET Server (formerly known as Windows 2002 Server, Windows XP Server, and Whistler) ships in mid-2002.
Although Windows .NET Server is currently in the beta cycle, it is clearly evident that there will be plenty of new features for IT folks to chew on. In addition to the inherited changes from the Professional and Home editions that are user-orientedsuch as Internet Explorer 6.0's new UI, Uninstall, Dynamic Update, System Restore, and Windows Media Player 8the server edition includes a bevy of administrative and development features. These features include Internet Information Services 6.0, Cross Forest Trust/Authentication/Authorization, Software Restriction Policies, new Command Line tools, and SharePoint.
In this article, however, I want to limit the discussion to six new features of Component Services that developers who develop distributed applications will want to consider when designing applications for use on Windows .NET Server.
#1 Running Applications as Windows NT Services
This enhancement to the Activation tab of the application property dialog (shown in Figure 1) allows a server application (one that runs in its own server process) to be configured as a Windows NT Service. By setting the Authentication level in the Security tab to at least Packet authentication level, you can check the Run Application As NT Service check box on the Activation tab. You can then click the Setup New Service button, which invokes a dialog box allowing you to change the name of the service (which defaults to the name of the application), the startup mode, the account under which the service runs, and mark any dependencies that the service will have. Once configured, you can change these options in the Services snap-in as you can with any service. As you might expect, if you deselect the check box in Component Services, the service will be cleaned up.
Figure 1 This dialog box shows how an application can be configured to run as an NT service.
The advantage of configuring an application as a service is that if the startup mode is set to Automatic, the component's DLL will be loaded immediately upon startup of the server rather than on first activation, as was previously the case. This ensures that the application is immediately responsive, a particularly important concept when the application resides on a clustered server. In addition, applications configured as services can be run under the Local System Account rather than a specific account, as is normally the case with server applications.