Web Software Architecture and Engineering – Life on the Bleeding Edge

I need your help.
I’ve been exploring the idea of dropping IIS, and JRUN all together. JRUN for obvious reasons, but IIS because I need something faster and smaller. Apache is not the answer there.
So I’ve been playing with NGINX, and its worked out well. So my plan is to move to NGINX -> JEE Server (full-blown like GlassFish or Geronimo, or lighter like Tomcat or Resin) -> CF.
Obviously, none of the servers I’ve listed above are officially supported, nor is there much documentation on the Internet on using them with CF. Yes, I am able to get one site going with each one of them, but once I move beyond a simple setup, it all implodes. I need something like JRUN, where I can “instances” pretty easily, but not be tied to the directory structure of the server, among other things. It must work on Windows, and it must have a decent web-based admin tool.
Any thoughts?


Comments on: "Need Your Help: ColdFusion on Glassfish, Geronimo, Resin, etc." (12)

  1. I’ve used Tomcat a few times during development, though like you I’ve not been able to get it to work in “instances” like JRun, with one instance of the CF app (WEB-INF), and multiple sites. Tomcat, for each web-app, treats them as multiple Java-apps, so you need a WEB-INF folder for each CF app. I get why, but wish I could figure out how to consolidate to one WEB-INF, multiple “sites”.

    • Scott Mebberson said:

      @Adam Presley, have you ever figured out how to consolidate one WEB-INF with multiple sites under Tomcat?

  2. I’ve deployed CF9 on Glassfish and WebSphere. None of those 2 is “lightweight” java app server. On my blog you can find detailed instruction how to do it and some useful links: http://itreminder.blogspot.com/2010/03/deploy-coldfusion-89-on-glassfish-v3.html

    I never tried to deploy ACF on Tomcat, but I know many who are and they are quite happy with it. Just google for tomcat + coldfusion and you’ll find some tutorials.

  3. Marko,

    As I mentioned on your blog a couple weeks ago, I couldn’t get beyond a simple CF9 setup on Glassfish, like the one you mention on your blog.

    I agree neither is light-weight, as written in my blog.

    I’m definitely looking for a more advanced primer, covering multiple (virtual) sites with a single WAR/EAR, with the ability to deploy files outside of the servers webroot, etc. To me those are a MUST to be considered enterprise ready.

  4. Ah ok, sorry 🙂
    While I was searching for answers, I noticed that Railo people have blogged much more about deployment on different java app servers. So, try to replace “coldfusion” with “Railo” in google searches and I think you’ll find some interesting readings. Good luck.

  5. Marko,

    Yup, I did notice that. I believe Railo uses Resin internally. However, for us, Railo is not an option at this time. The irony is that we shelled out a ton of cash for CF9 licenses, and you would think that the “paid” option would come with a larger set of installation options…

  6. afaik Railo is comming prepacked with Resin as servlet container. But, I didn’t want to suggest you to replace ACF servers with Railo, but to look at Railo-based tutorials and see if you can find more about application server settings, like virtual server, virtual directory, etc. I understood that you actually have more problems with application server configuration then ColdFusion itself.

    What I think that could help you a lot is to use Apache as a front end to Glassfish. Then you could easily set aliases and virtual hosts. Last comment in my blog post contains links to tutorials that could guide through installation process. In addition to these, just found few more:

    User Guide – GlassFish v3 User Guide
    and look for “Apache as a front end to GlassFish using mod_jk” section

    Virtual Hosting using Apache and GlassFish

    Although I agree with you that CF docs should contain more on subject like this one is.

  7. I’m starting to think about nginx and was curious if there was an update to this post?


    Aaron Greenlee

  8. @Aaron,

    Now that Railo 3.2 has dropped, we may expand our options internally. As for what we are using now, its NGINX-> IIS -> CF. It’s a step in the right direction, but not where I want to be. More on this topic forthcoming!

  9. I think I may have stumbled upon a decent solution. I recently setup an Apache/Tomcat development environment on my laptop. I wanted the ability to test code in both engines (CF/Railo) using a single codebase and using HTTP Host Headers to switch between engines.

    Once I got the Tomcat virtual hosts configured, and CF/Railo deployed in their respective directories, I now needed a way to link to code outside of the two respective webroots.

    I’m on windows, and this morning, I used the MKLINK command (similar to symbolic link in ‘nix) and I have it working! I’m essentially created symbolic links from the respective webapps folders to my SVN local working copy that lives outside of each webapp folder. I need to do more testing on this, but I think it’s a step in the right direction.

  10. Damon Gentry said:

    Initial testing looks good. I can now have a Tomcat instance with a CF WEB-INF folder in it execute code from outside the ‘webapp’ folder. MKLINK also works across the network, so I can now map code to any windows share, including DFS/NFS volumes. This could be great for load balancing and horizontal scaling.

    I can also say that CF on Tomcat seems to be much faster than CF on JRun. No definitive measurements yet, but my existing apps appear to be running about 2x faster on Tomcat.

  11. Damon – that looks very interesting! I’d love to see more details!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: