One of the main advantages of ColdFusion is that you can install it as an integrated server (the server configuration) or deploy it 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 in the J2EE configuration by using a J2EE application server, such as JRun 4 or IBM WebSphere. When you use the J2EE 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 by using the tools provided by your application server.
In the J2EE environment, you deploy applications in one of the following formats:
Web application archive file Contains the ColdFusion 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 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 web application. The rds.war file is a web application that redirects RDS requests from /CFIDE to /context-root/CFIDE. It forwards requests to the ColdFusion Administrator when ColdFusion uses a context root other than a forward slash (/).
Enterprise application archive file Contains the ColdFusion 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 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 with a context root of cf8, you display the ColdFusion Administrator using the URL http://localhost/cf8/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 application is especially useful when serving CFM pages from the web server, because it supports the functionality most similar to earlier ColdFusion versions. In addition, the RDS web application is not required if you use a context root of /.
When you deploy the ColdFusion 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 as a WAR file, you use application-server-specific functionality to define the context root.
When you use the J2EE configuration, you can define multiple server instances on a single computer, each running ColdFusion. Running multiple instances of ColdFusion has the following advantages:
For more information on configuring ColdFusion on multiple server instances, including detailed information for configuring multiple server instances when running on JRun 4, see Configuring and Administering ColdFusion. The multiserver configuration provides the instance manager to make configuring ColdFusion on multiple servers easier; however, you can also configure ColdFusion on multiple servers manually by deploying EAR files and WAR files on multiple server instances.