Introducing Multiple Server Instances in ColdFusion MX Enterprise 6.1
Note: Macromedia ColdFusion MX 6.1 is now available for trial and purchase.
The J2EE configuration of Macromedia ColdFusion MX Enterprise 6.1 enables you to run multiple ColdFusion server instances on a single physical server using either the bundled Macromedia JRun J2EE application server or a third-party J2EE server such as IBM WebSphere, Sun ONE App Server, or BEA WebLogic. The result is an environment of highly available, secure, and performance optimized applications, which, in the past, would have required multiple copies of ColdFusion running on separate physical servers—but without the additional hardware and software expense. In this article, I'll provide an overview of the benefits of this new configuration in ColdFusion MX Enterprise 6.1.
The Difference Between Single Server and Multiple Server Instances
In ColdFusion MX Enterprise and Professional editions, and in ColdFusion 5 and earlier, ColdFusion was installed once per server. All applications on that machine executed within a single server process (see Figure 1). This meant that all applications shared global settings (mail servers, caching settings, debugging settings, security sandboxes, and so on), and that a problem with one application could “bring down” all of the others (if, for example, the server became unresponsive and needed to be restarted).

Figure 1: A single ColdFusion server handles all sites or applications in ColdFusion MX, ColdFusion 5, and earlier versions.
The only solution to this potential problem was to run each application on a separate machine, so each application could be fully customized and tuned and would not impact other servers in case of application failures. For a corporate intranet where one would want, for example, the human resources application isolated from the business reporting application, the expense of having multiple servers each with its own ColdFusion license may have been undesirable, and the additional administrative efforts required would have been significantly higher.
In ColdFusion MX Enterprise 6.1, customers can have one physical server act as though it were many. ColdFusion is installed on a J2EE server instance running within its own Java Virtual Machine (JVM). As its name implies, a virtual machine is a self-contained operating environment that behaves as if it were a separate computer while actually sharing resources with other virtual machines on the same server. As a result, a customer may install another J2EE server instance on another, completely separate JVM, and install ColdFusion there as well. These two ColdFusion servers now operate in complete isolation of each other—just as though they were on separate physical servers (see Figure 2).

Figure 2: ColdFusion MX Enterprise 6.1 allows multiple instances of ColdFusion to serve individual applications in isolation on a single physical server.
About the author
Tim Buntel is the product manager for Macromedia ColdFusion Server. In addition to his role on the product team, he frequently lectures, teaches, and writes about Macromedia technology. He has been a ColdFusion developer himself for many years.
Submit feedback on our tutorials, articles, and sample applications.