|By Dave Watts||
|August 12, 2003 12:00 AM EDT||
With the release of ColdFusion MX 6.1 (Red Sky), ColdFusion will now run on the latest version of the Windows operating system. This article takes a brief look at the new features in Windows Server 2003 that may be of interest to CF developers and administrators. We'll also see how CFMX 6.1 integrates with Internet Information Services 6.0, the Windows Server 2003 version of the Microsoft Web server.
What's New in Windows Server 2003?
The most apt description of Windows Server 2003 I've heard is, slightly paraphrased, "It's the best version of Windows 2000 yet!" That is, it's not a sea change, but rather a welcome revision to an existing operating system. In that respect, I suspect it will be very exciting to those who currently manage numerous Windows servers.
There are four new versions of Windows Server 2003. As with Windows 2000, there are Standard and Enterprise Editions, but there's also a Datacenter Edition that supports high-end Intel servers. Of more interest to most of us is the Web Edition, which is designed for one thing: running Web servers. This edition should be suitable for most ColdFusion application servers, although it does have some significant limitations - it supports only 2GB of RAM and dual processors, and allows only 10 concurrent SMB connections for file and print services. This won't affect most production Web servers, but if you're planning on publishing an intranet, it may affect you. Best of all, though, Windows Server 2003 Web Edition is a lot cheaper than previous Windows licenses. It's approximately $400 and available only through OEMs, so you'll be able to get it when you buy a new Web server from your hardware vendor.
Some nice touches have been added to the OS to make it easier to manage. For example, functionality that's not especially useful to servers, like DirectX, is disabled by default. Internet Explorer is configured, by default, to disallow all functionality beyond basic HTML rendering, so you can't easily download malware onto your server console if you forget that you shouldn't be using the browser on your server console. The "Remote Assistance" functionality introduced in Windows XP is also included here, which should make it a bit easier for server administrators to help each other out. Fortunately, it didn't borrow the default look and feel of Windows XP, but provides a relatively spartan Windows 2000 style.
Internet Information Services 6.0
In the new version of Windows is a completely new version of IIS as well, with several substantial changes. Prior versions of IIS had a lot of security problems and required quite a bit of management knowledge to configure securely. IIS 6 is a lot closer to "secure by default," with ISAPI extensions and filters disabled unless you specifically enable them yourself. In addition, most IIS functionality runs within a very low privileged security context; in IIS 5 and earlier versions, security holes in ISAPI extensions or filters could allow malicious code to run as SYSTEM.
There are lots of other interesting changes to IIS 6. Some functionality has been moved into a kernel-mode driver to improve performance. IIS management has been significantly improved; IIS configuration information, or the "Metabase," has been converted into an XML text file so you can work with it directly without needing a special editor. From within the IIS management console, you can easily work with portions of the Metabase, exporting and importing text files. You have more control over ISAPI application isolation as well - you can create your own application pools directly, and place each virtual server or directory within the application pool of your choice. This allows you to keep one ISAPI application from bringing down the whole server.
ColdFusion MX 6.1: 'Red Sky'
The next release of ColdFusion MX will be available at almost the same time as Windows Server 2000 - probably by the time you're reading this. ColdFusion MX 6.1, code named "Red Sky," will be the first version of ColdFusion to support the new Windows OS, and it provides lots of new features.
To investigate these features, I installed the release candidate of CFMX 6.1 onto Windows Server 2003 Web Edition. Before installing, I configured several virtual servers, but otherwise left IIS settings at their default values.
Anyone who's heard anything about Red Sky probably knows that Macromedia has taken great pains to simplify and ease the installation process. Many people have had quite a bit of difficulty installing the initial releases of CFMX, especially when it comes to integrating CFMX with a Web server. I'm happy to report that there were no such problems during this installation - CFMX 6.1 detected all of my virtual servers and configured each one appropriately (see Figure 1).
After the installation, a "configuration wizard" will open within a browser window. However, if you're installing to multiple virtual servers, you may have to edit the URL within the browser window, as it'll use 127.0.0.1 by default; if you're using host header names or don't have the right virtual server bound to that IP address, it won't resolve correctly. Fortunately, that's easy to address.
In addition, the CFMX installer provides many other niceties (see Figure 2); for example, it allows for a "standalone" install like CFMX Enterprise or Professional, a full J2EE install including JRun, or a J2EE application package for deployment to an existing J2EE application server if you have one. It also makes installing to a production server easier by allowing you to disable RDS during the install rather than by editing a text file afterwards.
As mentioned earlier, ISAPI extensions and filters don't work by default, but the CFMX 6.1 installer takes care of that for you by creating an entry called "Macromedia Server Extensions" and enabling it.
In prior versions of CFMX, you could integrate it with IIS via an ISAPI filter or extension, and it wasn't too clear how this should be done or what the ramifications would be either way. CFMX 6.1 takes another approach - it creates something new in IIS 6 called a "Wildcard Application Map" (see Figure 3). This is similar to a filter in that it's not invoked based on the filename requested (for example, "*.cfm"). However, it's not a filter either, which means that it's not subject to the security problems that ISAPI filters may face; since ISAPI filters execute so early in the request process, in some cases they may sidestep things like filesystem permissions and the like. Also, if an ISAPI filter has a security problem, like a buffer overflow, it will typically execute within a more privileged security context, although that's been addressed somewhat within the IIS 6 security architecture anyway.
Another nice touch about the CFMX 6.1 install was that it automatically configured the appropriate IIS virtual servers to enable "index.cfm" as a default document and ensured that the Flash Remoting gateway was set up. It appears that Flash Remoting requests are handled by the "Wildcard Application Map."
If you're currently managing Windows servers and you're getting ready to deploy CFMX, make sure you look at CFMX 6.1 on Windows Server 2003 - it's a lot easier to install and manage than it used to be. Current Windows Web server administrators can take advantage of new IIS management functionality to make their lives a lot easier by working directly with the Metabase using their tools of choice, rather than limiting themselves to writing WMI and ADSI scripts to manage IIS. Current CFMX administrators can ease their server deployments by taking advantage of the much cleaner and easier installation process of CFMX 6.1.
- Where Are RIA Technologies Headed in 2008?
- The Next Programming Models, RIAs and Composite Applications
- AJAX World RIA Conference & Expo Kicks Off in New York City
- Constructing an Application with Flash Forms from the Ground Up
- Building a Zip Code Proximity Search with ColdFusion
- Personal Branding Checklist
- CFEclipse: The Developer's IDE, Eclipse For ColdFusion
- Has the Technology Bounceback Begun?
- Adobe Flex 2: Advanced DataGrid
- i-Technology Viewpoint: We Need Not More Frameworks, But Better Programmers
- Web Services Using ColdFusion and Apache CXF
- Passing Parameters to Flex That Works