What's Next for ASP.NET?
With ASP.NET 2.0 almost in developers'' hands, it''s time to think about what''s next down the line.
With ASP.NET 2.0 almost in developers' hands, it's time to think about ASP.NET 3.0. The safe bet is that Microsoft will continue the evolution from ASP.NET 1.* to ASP.NET 2.0: more encapsulation of common development tasks into controls and objects, more work in giving Web development the look and feel of Windows development, and more changes that insulate developers from the ugly underpinnings of HTML and HTTP. The new provider-based architecture of ASP.NET 2.0 allows Microsoft (and third parties) to put more tools "in the box."
The Membership service that comes with ASP.NET 2.0 is, in effect, an add-on. It's reasonable to assume that the next version of ASP.NET will see more of these add-ons. However, ASP.NET 3.0 is three to five years away, so it's more useful to look at the opportunities in the next one to two years.
Shortly after the new release of .NET, Microsoft intends to provide common Internet applications as add-ons to ASP.NET sites. These common applications include blog, photo-album, forum, and content-management support, with all of the applications based on successful existing implementations (for instance, Content Management is based on DotNetNuke). Developers will be able to download the applications to use on their server for free or to use as a service for a few dollars a month.
When Windows Vista (formerly Windows code-name "Longhorn") is released, ASP.NET will be the least affected of all of the .NET technologies. A search for articles that include the words "ASP.NET" and "Longhorn" or "Vista" turns up very little. ASP.NET developers will benefit from the infrastructure improvements in the Windows environment. Developers will find it easier to deploy their applications to the server and to secure those applications after they are deployed. However, none of those changes apply specifically to ASP.NETthey are general improvements to the Windows working environment. In addition, one of the major components of Vista, the Windows Presentation Foundation (formerly "Avalon"), will affect ASP.NET only indirectly because an ASP.NET user interface is implemented through HTML delivered to the browser. While Internet Explorer 7 users will benefit from Avalon, ASP.NET developers (especially those interested in supporting browsers on other platforms) will not.
However, two changes in Vista will change the ASP.NET world directly: the transfer of Web services from ASP.NET to the Windows Communication Foundation (formerly "Indigo") and the integration of ASP.NET with IIS.
The most significant of these changes is the migration of Web services out of ASP.NET and into the Communication Foundation. Instead of creating an ASMX file to implement a Web service, developers can allow any class to communicate with another class by specifying the communication contract that the class supports. The Foundation decides at run time whether to implement the communication through remoting or through Web services. As a result, Web services stop being a peculiar kind of file in a Web application and become just something else that a class can do. Emphasizing this change in Vista, Web services have stopped being hosted by IIS and are now hosted by the Windows Activation Service.
The most obvious result of the second Vista-related change, the integration of ASP.NET 2.0 into IIS, will be a significant performance improvement (over and above ASP.NET's already impressive speed). But, in addition, the changes being made to IIS will make IIS easier to work with for ASP.NET developers.
To begin with, IIS is moving to the text-based web.config-style configuration that ASP.NET uses. Instead of requiring machine-level rights to modify configuration settings for IIS as a whole, ASP.NET developers will be able to configure individual sites by modifying the configuration file for the site. Developers can include the IIS configuration file in their project and deploy it with the rest of the application's content files.
IIS will also be componentized in a way that looks much like the provider model in ASP.NET 2.0. Developers will be able to swap in the components that they need for their site and ignore the IIS modules that they don't need. For instance, if a site uses only one authentication method, the components for the other authentication methods can be omitted. ASP.NET developers will also be able to replace IIS components with specialized components on a site-by-site basis. Instead of building an ASP.NET application that displays photos, for instance, a developer could replace the IIS directory listing component with a component that generates a display of all the photos in a directory.
Microsoft is also moving SharePoint from ASP.NET 1.* to ASP.NET 2.0. As part of that move, it will become easier for ASP.NET developers to work in the SharePoint environment. Microsoft has committed, for instance, to ensuring that WebParts built in the ASP.NET 2.0/Visual Studio 2005 environment will work in SharePoint.
For ASP.NET developers, the release of .NET 2.0 is more like opening a door than closing off a development cycle. The ability to extend a site by snapping in new applications means that developers can build richer sites with less work. The migration of Web services to the Communication Framework does mean that organizations won't be looking to ASP.NET developers to create Web Services. However, the Communication Foundation makes it easier for all applications (including ASP.NET Web sites) to share data. Of all of the changes, though, the real benefits for ASP.NET developers will come with the introduction of the Atlas framework, the integration with IIS, and the interoperability with SharePoint, all of which give ASP.NET developers whole new areas to use their skills.
Peter Vogel is a system architect and principal in PH&V Information Services. PH&V provides full-stack consulting from UX design through object modeling to database design. Peter tweets about his VSM columns with the hashtag #vogelarticles. His blog posts on user experience design can be found at http://blog.learningtree.com/tag/ui/.