View text source at Wikipedia


Railo

Railo Server
Developer(s)Railo Technologies, Michael Offner, Gert Franz
Initial releaseApril 2006
Stable release
4.2.2.005 / 18 December 2014; 9 years ago (2014-12-18)
Repository
Written inJava
Operating systemWindows, Linux, Unix, macOS
Available inEnglish, German
TypeApplication server
LicenseLGPL v2.1
Websitegithub.com/getrailo/railo

Railo Server, commonly referred to as Railo (/ˈrl/ RY-loh), is open source software which implements the general-purpose CFML server-side scripting language, often used to create dynamic websites, web applications and intranet systems. CFML is a dynamic language supporting multiple programming paradigms and runs on the Java virtual machine (JVM).

Railo was created by the Swiss company Railo Technologies GmbH, intended as a high performance alternative to Adobe ColdFusion. In 2008, Railo switched to an open source community-driven model, and became a JBoss project. The Railo Open Source project is led by Railo Technologies, with development work funded by consulting and support contracts, but anyone may contribute code for consideration.

Naming

[edit]

Railo was named after an alien dog in Star Trek: Enterprise. The dog is actually named Rhylo, but written phonetically in German it is Railo.[1] Thus, Railo can be pronounced either as rhy-lo or as rai-lo - both are acceptable.

Railo major releases have a codename of notable and loyal dogs from history.

History

[edit]

Railo began in 2002 as a student project by Michael Offner and Gert Franz to compile CFML code into PHP, a choice made due to the ubiquity of PHP, however it was found that this did not give the desired performance and stability, and the decision was made to switch to the Java platform instead.[1]

The project was successful enough that it was decided to continue to develop into a full product. Several alpha and beta releases were made before the official 1.0 release in April 2006. Railo continued to be developed but was relatively unknown to many CFML developers, until June 2008 at the Scotch on the Rocks conference in Edinburgh, when Railo Technologies used the Day 2 keynote to announce a partnership with JBoss and a switch to open source.[2]

In May 2012, at the cf. Objective conference, the foundation of "The Railo Company Ltd" was announced, a Private Limited Company, comprising the Swiss company Railo Technologies GmbH in conjunction with five other companies who operated in the CFML industry.[3]

Lucee Fork

[edit]

On 29 January 2015, the Lucee project, a fork of the Railo 4.2 codebase, was announced by the original developer of Railo, who stated that he would not be working further on Railo. The other developers have confirmed they will also be focusing solely on Lucee, and - although no official statement has been made by The Railo Company - the community consensus is that further development on the Railo project is unlikely.[4][5]

On 19 July 2016, The Railo Company was dissolved.[6]

Release history

[edit]
Major version
(Codename)
Minor version Release date Notes
0 Alpha 1 2004-04-10 The first official release of the Railo CFML engine.[7]
Alpha 2 2004-05-18
Alpha 3 2004-08-03
Alpha 4 2004-10-21
Beta 1 2005-01-16 The first beta release of Railo.
Beta 2 2005
Beta 3 2005
RC1 2005-09-23 The first release candidate of Railo was presented to the German CFUG in Munich.[7]
1.0 1.0.0.000 2006-04
2.0 2.0.0.000 2007-09-10
2.0.1.000
2.0.2.000
3.0 3.0.0.000 2008-09-09
3.0.1.000
3.0.2.000
3.0.3.000
3.1

(Barry)

3.1.0.000 2009-08-12 First Open Source release of Railo.[8]
3.1.1.000 2009-08-11
3.1.2.000 2010-11-26
3.2

(Greyfriars Bobby)

3.2.1.000 2011-12-24
3.2.2.000 2011-03-18
3.2.3.000 2011-06-10
3.3

(Hachiko)

3.3.1.000 2011-11-03 Added built-in support for ORM and many other features.[9]
3.3.4.003 2012-06-25
4.0

(Apollo)

4.0.0.013 2012-07-02
4.0.5.004 2013-07-09
4.1

(Endal)

4.1.2.005 2013-12-11 .
4.2

(Togo)

4.2.0.009 2014-05-14
4.2.1.000 2014-05-21
4.2.2.005 2014-12-18 Current stable release of Railo

Platforms and license

[edit]

Railo runs on the JVM as a servlet, and will work with any servlet container (e.g. Apache Tomcat, Eclipse Jetty) or application server (e.g. JBoss AS, GlassFish). It is possible to connect a web server (e.g. Apache, IIS, nginx, Cherokee) in front, using connectors such as mod jk, mod proxy, or equivalent, but this is not required by Railo.

Railo has an installer for Linux, macOS, and Windows, which bundles Apache Tomcat. There is also a pre-configured Railo Express download using Jetty.

From v4.0 onwards, Railo will have a command line version, enabling CFML to be used as a general-purpose language, outside of the servlet environment.[10]

Railo since v3.1 is licensed as LGPL v2.1,[11] with the source code available on GitHub[12]

Philosophy

[edit]

A primary aim of Railo was to provide the functionality of ColdFusion using less resources and giving better performance, and the Railo Technologies team continue to "treat slowness as a bug" as a core development philosophy. Many performance tests have shown Railo to perform faster than other CFML engines.[13]

In addition to this, Railo attempts to resolve many inconsistencies found in traditional CFML. These are either forced changes in behaviour, or configurable options in the Railo Administrator.

The Railo Technologies team have always been open to feedback and active at CFML community events, and are keen to remind people that Railo is a community project.

Railo Technologies also creates strong technology partnerships with CFML software companies, including Blue River Interactive Group (developers of Mura CMS), CONTENS Software GmbH[14] (developers of CONTENS CMS), and Intergral GmbH[15] (developers of FusionReactor and FusionDebug), to help ensure their software works well with Railo. In addition, Railo Technologies offer formal "Partner Programs" for Solutions (development), Hosting, and Training.[16]

Usage

[edit]

The Railo Application Server currently averages 7,000 downloads (and growing) per month.[17]

Railo is used by a number of companies, notably including:

Features

[edit]

Security

[edit]

CFML has built-in functionality for preventing code injection, via the cfqueryparam tag, and functions such as HtmlEditFormat, XmlFormat, JsStringFormat. There are also third-party CFML implementations of the OWASP Enterprise Security API,[36] and the AntiSamy project.[37]

One of the key architecture decisions with Railo was to follow the JEE servlet model, with support for multiple independent web contexts on a single server. This is a key security factor, as it prevents unrelated applications from interfering with each other, as may happen on a shared ColdFusion server (which only has a single web context).

Syntax

[edit]

Railo implements the CFML language - see the CFML syntax section for examples as well as CFScript.

Differences

[edit]

Differences from other languages

[edit]

CFML has a tag-based syntax which is visually different from most other languages, though aside from this it is similar to other dynamic languages, with the following exceptions:

Differences from Adobe ColdFusion

[edit]

Whilst Railo implements CFML, and is generally compatible with Adobe ColdFusion (ACF), the original CFML engine, there are some notable differences between the two:

See also

[edit]

References

[edit]
  1. ^ a b "Top 10 Best Bitcoin Slots Sites | Best Crypto Slot Machines 2021".
  2. ^ "Railo joins JBoss.org". Infoq.com. 18 June 2008. Retrieved 27 January 2023.
  3. ^ "Railo at cf.Objective(): The Evolution of Railo — Railo Blog". Archived from the original on 18 February 2015. Retrieved 17 February 2015.
  4. ^ "Railo and Lucee: Hunka Hunka Burning Questions".
  5. ^ "Lucee".
  6. ^ "THE RAILO COMPANY LIMITED filing history - Find and update company information - GOV.UK".
  7. ^ a b "Railo - the CFML engine". www.railo.ch. Archived from the original on 31 October 2005. Retrieved 15 January 2022.
  8. ^ "Railo 3.1 release". Archived from the original on 30 June 2011. Retrieved 2 October 2011.
  9. ^ "Top 10 Best Bitcoin Slots Sites | Best Online Casino 2022".
  10. ^ "Railo Roadmap". Archived from the original on 26 September 2011. Retrieved 2 October 2011.
  11. ^ "Railo CFML Documentation Wiki - Railo License". Archived from the original on 31 October 2011. Retrieved 2 October 2011.
  12. ^ "Railo CFML Engine". GitHub. 30 April 2022.
  13. ^ "Saving class files in coldfusion". Archived from the original on 13 August 2013. Retrieved 7 September 2013.
  14. ^ CONTENS Software GmbH
  15. ^ Intergral GmbH
  16. ^ "Partner Programs". Archived from the original on 1 October 2011. Retrieved 2 October 2011.
  17. ^ "Railo statistics". Archived from the original on 13 January 2013. Retrieved 24 July 2013.
  18. ^ "Uses Railo-powered Mura CMS". Archived from the original on 16 January 2012. Retrieved 2 October 2011.
  19. ^ Uses Railo-powered Mura CMS internally.
  20. ^ "Philip kaplan officially launches distrokid". Tech Crunch. 10 October 2013.
  21. ^ Railo powers IDG's German websites
  22. ^ "I have 404,772 users. Now what?". News.ycombinator.com. Retrieved 8 November 2012.
  23. ^ "NASA achieves data goals for Mars rover with open source software". opensource.com. Retrieved 8 November 2012.
  24. ^ Railo powers public website
  25. ^ Uses Railo internally, also uses Railo-powered CONTENS CMS to generate public websites.
  26. ^ Railo powers
  27. ^ Railo powers
  28. ^ "Top 10 Best Bitcoin Slots Sites | Best Online Casino 2022".
  29. ^ "The Railo Extension Store is open! — Railo Blog". Archived from the original on 3 September 2011. Retrieved 2 October 2011.
  30. ^ "Extension Manager — Railo Blog". Archived from the original on 25 April 2012. Retrieved 2 October 2011.
  31. ^ "Railo 3.1: Building your own Built-In-Function — Railo Blog". Archived from the original on 7 October 2011. Retrieved 2 October 2011.
  32. ^ "Railo 3.0: Resources". Archived from the original on 25 April 2012. Retrieved 2 October 2011.
  33. ^ "Railo 3.0 released - Features Part IV - Task manager, Remote synchronization — Railo Blog". Archived from the original on 24 October 2011. Retrieved 2 October 2011.
  34. ^ "Top 10 Best Bitcoin Slots Sites | Best Online Casino 2022".
  35. ^ "Cache (Advanced) Part 2 — Railo Blog". Archived from the original on 1 March 2012. Retrieved 2 October 2011.
  36. ^ "Google Code Archive - Long-term storage for Google Code Project Hosting".
  37. ^ "Using AntiSamy with ColdFusion".
[edit]