Working with Railo
As Volunteer Community Manager for Railo, I get a lot of interesting questions. One recurring question I get is "Do I have to abandon (Adobe CF | OpenBD) to take advantage of Railo?" I'm not sure where this all or nothing approach comes from. This is not how I personally work, nor would I ever recommend anyone doing so.
At my full time job, there are numerous ColdFusion boxes in house. We have at least 2-3 CF5 servers lingering around and majority of our CF6-CF7 boxes are now CF8 boxes. A client of ours recently upgraded to CF9 from CF7 because it would be the last time they get a chance to take advantage of the upgrade price. Due to the EULA change, I now have a CF9 dev / staging box for them and I'm able to test out / show off proof of concepts. That's just our commercial lineup.
My work machine has Railo installed so I can test out things and write sample code to answer questions. It is easier on my not-so-beefy work machine to install Tomcat / Railo than it is for me to run Adobe ColdFusion (single server instance). We have Railo plugging away on a couple of servers in the background doing reporting. We have a machine by the door with Railo express running a silly little "in / out board" web app on a touch screen monitor.
We're currently not running any client sites with Railo, but the option is there if we need it. As Lead Developer, I haven't been pushing the owner of the company to move in one direction or the other. I will say that with Railo around, we don't feel pressured to buy more CF boxes than necessary and we're able to take advantage of the language we've been working with for years.
My colleagues on the Railo team know about all this. I still try to answer Adobe ColdFusion specific questions that pop up on Twitter. They know I'm never going to completely ditch Adobe ColdFusion at my current job. More importantly, they never asked me too. I love Railo for the freedom of choice. The ability to do what needs to be done. At home, on my VPS and working on a few non-profit projects, I'm using Railo all the way and offering feedback / suggestions to the team. If I were to start out my own company, Railo will probably be my number one draft pick. As long as I'm 'lead developer' at my current job and I report to someone else, then my decision will always reflect the comfort zone of my employer and clients. Where there are opportunities to present alternatives, I'm comfortable and confident suggesting them.
If you're concerned about having to worry / manage the difference between engine x vs. y vs. z, then yes it is a little bit of a pain and staying vanilla CFML is pretty good advice and if you come across anything weird, report it. Keep in mind, this is where frameworks can assist you. Majority of the frameworks already work on all three engines and you're just working with the framework to get the job done and you shouldn't have to be too concerned about how it's getting it done. There are some differences between the engines and they really show up in those UI tags (cfgrid, cfdiv, etc).
You need to decide if you want Railo to be your front line server or on a server in the background. I've heard Railo being used as an overkill-of-a-bookmark-manager on a keychain usb drive. Railo as a CD-ROM read-only application. Heck, I know someone within the CFML community that is using Railo, on a different port, as a web interface to stop / start / restart their Adobe ColdFusion instance.
So, bottom line, it is not our place and never will be our place to tell YOU what you should be doing or what you should be using.
Marko Simic wrote on 02/19/10 3:38 PM
All CF application I was developing were (and are) for so called enterprise clients. Therefore licensing is not an issue.But, since few months ago, I start working/thinking "cross-engine" way. Possibility to deploy application on alternative engines makes me feel more comfortable...less dependent.
Also, I think, we'll see, in the near future, more and more non-Adobe CF engines running online, hence being friendly with them is going to be good :)