Though there have been lots of talk in Longhorn (especially recently), and I have dabbed in it previously, now some interesting bits are being released on what are the new features in IIS 7. The coolest one of these is the componentization of IIS where all of IIS’s functions will be specific components which can be turned on or off. This means that when you install the Web server, you’ll be able to add only the functionality you need, one piece at a time.

For example, if your applications do not use CGI, you can simply remove that component from your IIS configuration. Today, IIS functions are mostly monolithic, making you install core functionalities whether you use them or not. When a patch for CGI comes around, you need to apply it even though you don’t use it. With IIS 7.0, you’ll need to worry only about the components you chose to install. This will support even more secure configurations of IIS.

In addition, the componentization of IIS will allow Microsoft to build the service onto a set of public APIs which will allow third-party vendors to build their own functionalities into the Web server. And because each functionality is a specific component that can be added to or removed from IIS, these third-party add-ons will be completely transparent to the system.

Another key aspect of IIS 7.0 will be its complete integration with ASP.NET. Currently, ASP.NET consists of additional functionality that is tacked on top of IIS. Although they integrate well, it still takes two different sets of instructions to manage the two together - IIS is managed through its Metabase, and ASP.NET is managed through web.config files. In version 7.0, IIS will be completely integrated with not only ASP.NET but also the .NET Framework, ADO.NET, and even Indigo - the next version of the Microsoft Web Services platform. This means that there will be a single configuration point for all components of an application and the engines used to run it. The greatest advantage of this level of integration is that you will be able to deliver an application complete with its associated Web server configuration when you need to deploy it. This will vastly simplify administrators’ jobs.