Obviously, to use this book, you need access to a ColdFusion MX server. If your company is already developing web applications with ColdFusion, the server should already be available to you. Or, if you are developing for a remote server, you should be all set. In either case, you just need to know where to put your templates; check with your system administrator or webmaster.
If you don’t have access to a ColdFusion server, your first step is to pick an edition of ColdFusion. There are currently four editions of ColdFusion available to support the needs of various sized projects and organizations; all of them are available at Macromedia’s web site, http://www.macromedia.com (as of this writing, the latest release is ColdFusion MX 6.1):
- ColdFusion MX Standard (Windows and Linux only)
Formerly called ColdFusion MX Professional (through ColdFusion MX 6.0), the standard edition is designed for departmental and small group use. It contains access to all CFML language features, a 125KB document limit on Verity searches, and database drivers for MS Access (Windows only), MS SQL Server, and MySQL. Email handling in ColdFusion MX 6.1 Standard has been improved as well. The underlying engine is now capable of generating approximately 33KB emails per hour, an improvement over previous versions.
- ColdFusion MX Enterprise (Windows, Linux, Solaris, HP-UX, and AIX)
Contains all the functionality of ColdFusion MX Standard and adds server clustering, additional Type IV JDBC database drivers for most popular databases, a 250KB document limit on Verity searches, the ability to host JSP pages, servlets, EJBs, and import JSP tag libraries, as well as additional security, management, deployment, and performance features for hosting large-scale applications. Email handling in ColdFusion MX 6.1 Enterprise has be greatly improved. The engine is capable of generating approximately 1 million messages per hour, and contains additional features such as multi-threading, connection pooling, and the ability to use backup mail servers. ColdFusion MX Enterprise can be installed in one of two configurations:
- Server Configuration
Installs a single instance of ColdFusion MX Enterprise (or Developer) with an embedded J2EE server. This is the equivalent to a “standard” or “standalone” installation of ColdFusion from previous versions.
- J2EE Configuration
Installs one or more instances of ColdFusion MX Enterprise (or Developer) on top of an included licensed copy of Macromedia JRun, or on a third-party J2EE application server such as IBM WebSphere, BEA Weblogic, or Sun One. This allows you to write and deploy ColdFusion MX applications that leverage the underlying architecture of popular J2EE application servers. For a complete list of supported J2EE application servers, see Macromedia’s web site.
- ColdFusion Developer Edition (Windows, Linux, Solaris, HP-UX, and AIX for Server or J2EE configuration; Mac OS X for J2EE configuration only)
This is a for development-only version of ColdFusion MX Enterprise (Server or J2EE configuration) that limits access to the IP address of the development machine and one additional IP address per session. Additionally, it sets the document limit for Verity searches to 10k. ColdFusion MX Developer Edition allows you to build and test applications without having to purchase a full ColdFusion MX Enterprise license. The trial version of ColdFusion Enterprise automatically becomes the developer version once the 30-day trial period expires.
Hardware requirements for running ColdFusion vary depending on your platform and the edition of ColdFusion you want to run. You should make sure the machine on which you plan to run the ColdFusion Application Server can meet the demands you might place on it. ColdFusion generally requires a system with 250 to 400 MB of hard disk space and between 128 and 512 MB of RAM, depending on the platform and whether the server is for development or production. Memory requirements are only a guideline. In general, the more physical RAM available to ColdFusion, the better it will perform, because many tasks performed by web applications are memory-intensive, such as intensive database queries, Verity indexing/searching, caching, and integration with other third-party resources. For the most up-to-date system requirements, please refer to the documentation that came with your edition of ColdFusion, or visit http://www.macromedia.com/software/coldfusion/productinfo/system_reqs/.
If you work in an organization with an IT department, you should be able to get them to install and configure ColdFusion. Otherwise, you’ll have to perform these tasks yourself. Because ColdFusion is available for multiple platforms, installation procedures vary. For specific instructions on installing and configuring the ColdFusion Application Server, see the documentation provided with your edition of ColdFusion, or visit the Macromedia ColdFusion Support Center at http://www.macromedia.com/support/coldfusion/installation.html.
Once you have a working ColdFusion installation, you’re ready to start programming. In the next chapter, we’ll dive in and learn about ColdFusion basics. For this material to make sense, though, you need to have some basic experience with web page creation and, in particular, HTML. If you don’t have any experience with HTML, you should spend some time learning basic HTML before you try to learn ColdFusion. For this, I recommend HTML & XHTML: The Definitive Guide, by Chuck Musciano and Bill Kennedy (O’Reilly & Associates). If you are planning to use ColdFusion to interact with a database, you may also find it helpful to have a general understanding of relational databases and SQL (Structured Query Language). For more information on SQL, see SQL in a Nutshell, by Kevin Kline with Daniel Kline, Ph.D. (O’Reilly).
 In ColdFusion MX 6.0, an additional version of ColdFusion MX known as ColdFusion MX for J2EE was available. In ColdFusion MX 6.1, this option has been rolled into a single product edition known as ColdFusion MX Enterprise.