One of the main advantages of ColdFusion MX 7 is that it can be installed as an integrated server (the server configuration) or deployed as a Java application on a standards-based J2EE application server (multiserver configuration and J2EE configuration). In addition to greater flexibility, this allows your ColdFusion applications to leverage features of the J2EE architecture, such as support for multiple application instances and multiple-instance clustering.
You can deploy ColdFusion MX 7 in the J2EE configuration using a J2EE application server, such as JRun 4 or IBM WebSphere. When you use the J2EE EAR/WAR configuration, you can use an existing J2EE application server; the installation wizard creates a web application archive (WAR) or enterprise application archive (EAR) file, which you then deploy using the tools provided by your chosen application server.
This section describes the following topics:
In the J2EE environment, you deploy applications in one of the following formats:
Web application archive file Contains the ColdFusion MX 7 application. A web application archive (also called a WAR) uses a directory structure that contains a WEB-INF/web.xml deployment descriptor, which defines the servlets and context parameters it uses. J2EE application servers can deploy web applications in this directory structures as-is or in compressed WAR files that contain these directory structures. However, ColdFusion MX 7 must run from an expanded directory structure:
cfusion (cfusion.war) WEB-INF web.xml CFIDE cfdocs CFIDE (rds.war) WEB-INF web.xml
The cfusion.war file contains the ColdFusion MX 7 web application. The rds.war file is a web application that redirects requests from /CFIDE to /context-root/CFIDE. It forwards requests to the ColdFusion MX Administrator when ColdFusion MX 7 uses a context root other than a forward slash (/).
Enterprise application archive file Contains the ColdFusion MX 7 and RDS redirector web applications. An enterprise application archive (also called an EAR) uses a directory structure that contains a META-INF/application.xml deployment descriptor, which defines the web applications that it contains. J2EE application servers can deploy enterprise applications in these directory structures as-is or in compressed EAR files that contain these directory structures. However, ColdFusion MX 7 must run from an expanded directory structure:
cfusion-ear META-INF application.xml cfusion-war WEB-INF web.xml CFIDE cfdocs rds.war WEB-INF web.xml
If your J2EE application server supports enterprise applications, you should install and deploy the EAR file. For more information, see Installing an EAR file or WAR files.
Because the J2EE environment supports multiple, isolated web applications running in a server instance, J2EE web applications running in a server are each rooted at a unique base URL, called a context root (or context path). The J2EE application server uses this initial portion of the URL (that is, the portion immediately following http://hostname) to determine which web application services an incoming request.
For example, if you are running ColdFusion MX 7 with a context root of cfmx, you display the ColdFusion MX Administrator using the URL http://localhost/cfmx/CFIDE/administrator/index.cfm.
Most J2EE application servers allow one application in each server instance to use a forward slash (/) for the context root. Setting the context root to / for the ColdFusion MX 7 application is especially useful when serving CFM pages from the web server, because it supports the functionality most similar to previous ColdFusion versions. In addition, the RDS web application is not required if you use a context root of /.
When you deploy the ColdFusion MX 7 EAR file, it uses the context root that you specified when you ran the installation wizard, which copied your specification to the context-root
element of the META-INF/application.xml file. When you deploy ColdFusion MX 7 as a WAR file, you use application-server-specific functionality to define the context root.
Note: Each web application running in a server instance must have a unique context root. The JRun default web application uses / for a context root, so if you want to use / for the ColdFusion MX 7 context root when you deploy on JRun, you must either delete the default-war application or change the default-war context root by editing the default-ear/META-INF/application.xml file.
When you use the J2EE configuration, you can define multiple server instances on a single computer, each running ColdFusion MX 7. Running multiple instances of ColdFusion MX 7 has the following advantages:
Application isolation You deploy an independent application to each server instance. Each server instance has separate settings, and because each server instance runs in its own instance of the JVM, problems encountered by one application have no effect on other applications.
Load balancing and failover You deploy the same application to each server instance and add the instances to a cluster. The web server connector optimizes performance and stability by automatically balancing load and by switching requests to another server instance when a server instance stops running.
For more information on configuring ColdFusion MX 7 on multiple server instances, including detailed information for configuring multiple server instances when running on JRun 4, see Configuring and Administering ColdFusion MX. The multiserver configuration provides the instance manager to make configuring ColdFusion MX 7 on multiple servers easier; however, you can also configure ColdFusion MX 7 on multiple servers manually by deploying EAR files and WAR files on multiple server instances.