Railo Serverは、一般にRailo((RY-loh)と呼ばれる、動的なwebサイト、webアプリケーション、イントラネットシステムを作成するためによく使用されるサーバー側の共通 CFMLは、複数のプログラミングパラダイムをサポートし、Java仮想マシン(JVM)上で実行される動的言語です。
Railoは、Adobe ColdFusionの強力な代替としてスイスの会社Railo Technologies GmbHによって開発されました。 2008年、Railoはオープンソースコミュニティモデルに切り替え、JBossプロジェクトとなった。 Railoオープンソースプロジェクトは、Railo Technologiesが主導しています。 開発作業はコンサルティングとサポート契約によって賄われていますが、誰でも試験にコードを貢献することができます。
ライロは、スタートレック-エンタープライズのエイリアン-ドッグにちなんで命名された。 犬は実際にRhyloと呼ばれていますが、音声学的にはドイツ語ではRailoです。 したがって、Railoはrhy-loまたはrai-loのいずれかとして発音することができます–両方が許容されます。
Railoメジャーリリースは、歴史から注目すべきと忠実な犬のコードネームを持っています。
歴史
Railoは、Michael OffnerとGert FranzによるphpでCFMLコードをコンパイルするための学生プロジェクトとして2002年に始まりました。 この決定は、PHPの普遍性のために行われました。 しかし、これは望ましいパフォーマンスと安定性を与えないことが判明し、代わりにJavaプラットフォームに切り替えることが決定されました。
このプロジェクトは非常に成功し、さらに完全な製品に発展することが決定されました。 いくつかのアルファ版とベータ版は、2006年4月に正式なバージョン1.0より前にリリースされました。 Railoはさらに開発されたが、多くのCFML開発者にとっては比較的知られていなかったが、2008年にエディンバラで開催されたScotch on the Rocks conferenceで、Railo TechnologiesがJBossとのパートナーシップとオープンソースへの切り替えを発表するために二日目の基調講演を行った。
2012年5月、cf. ターゲットカンファレンスでは、スイスの会社Railo Technologies GmbHとCFML業界で活動する他の五つの会社を含む有限責任会社”Railo Company Ltd”の設立が発表されました。
Lucee Gabel
2015年1月29日、Railo4.2コードベースのフォークであるLuceeプロジェクトが、Railoの元の開発者によって発表されました。 他の開発者は、彼らもLuceeに専念することを確認しており、Railo社は公式声明を発表していませんが、コミュニティのコンセンサスは、Railoプロジェクトのさらなる発展は起こりそうもないということです。
2016年7月19日、ライロ社は解散した。
掲載履歴
メジャーバージョン (コード名) |
マイナーバージョン | リリース日 | 注意事項 |
---|---|---|---|
0 | アルファ1 | 10.04.2004 | Railo CFMLエンジンの最初の公式バージョン。 |
アルファ2 | 2004-05-18 | ||
アルファ3 | 03.08.2004 | ||
アルファ4 | 2004-10-21 | ||
ベータ版1 | 2005-01-16 | Railoの最初のベータ版。 | |
ベータ版2 | 2005 | ||
ベータ版3 | 2005 | ||
RC1 | 2005-09-23 | Railoの最初のリリース候補は、ミュンヘンのドイツCFUGに提示されました。 | |
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
( バリー) |
3.1.0.000 | 2009-08-12 | Railoの最初のオープンソースリリース。 |
3.1.1.000 | 2009-08-11 | ||
3.1.2.000 | 2010-11-26 | ||
3.2
( グレイフライアーズ・ボビー) |
3.2.1.000 | 2011-12-24 | |
3.2.2.000 | 2011-03-18 | ||
3.2.3.000 | 2011-06-10 | ||
3.3
( ハチ公) |
3.3.1.000 | 2011-11-03 | ORMおよび他の多くの機能のための組み込みのサポートを追加しました。 |
3.3.4.003 | 2012-06-25 | ||
4.0
( アポッロ) |
4.0.0.013 | 2012-07-02 | |
4.0.5.004 | 09.07.2013 | ||
4.1
( エンダル) |
4.1.2.005 | 2013-12-11 | . |
4.2
( 行く) |
4.2.0.009 | 2014-05-14 | |
4.2.1.000 | 2014-05-21 | ||
4.2.2.005 | 18.12.2014 | Railoの現在の安定バージョン |
プラットフォームとライセンス
RailoはJVM上でサーブレットとして実行され、任意のサーブレットコンテナで動作します(例: Apache Tomcat、Eclipse Jetty)またはアプリケーションサーバー(JBoss AS、GlassFishなど)。 Mod jk、mod proxy、または同等のコネクタを介してwebサーバー(Apache、IIS、Nginx、Cherokeeなど)に接続することは可能ですが、これはRailoでは必要ありません。
Railoには、Apache TomcatをバンドルするLinux、macOS、Windows用のインストーラがあります。 Jettyを使用した事前設定されたRailo Expressダウンロードもあります。
バージョン4から。0、Railoには、サーブレット環境の外でCFMLを汎用言語として使用できるコマンドラインバージョンがあります。
RailoはV3.1からLGPL v2.1としてライセンスされており、GitHubで利用可能なソースコード
Philosophy
Railoの主な目標は、ColdFusionの機能をより少ないリソースとより良いパフォーマ 多くの性能試験では、Railoが他のCFMLエンジンよりも高速に動作することが示されています。
さらに、Railoは従来のCFMLの多くの不整合を修正しようとしています。 これらは、強制的な動作の変更またはRailo Administratorの設定可能なオプションです。
Railo Technologiesチームは、常にフィードバックに開放され、CFMLコミュニティイベントで活発に活動しており、Railoがコミュニティプロジェクトであることを人々に思い出させたいと考えています。
Railo Technologiesは、Blue River Interactive Group(Mura CMSの開発者)、CONTENS Software GmbH(CONTENS CMSの開発者)、Intergral GmbH(FusionReactorおよびFusionDebugの開発者)などのCFMLソフトウェア企業と強力な技術提携を結んでおり、ソフトウェアがRailoと さらに、Railo Technologiesは、ソリューション(開発)、ホスティング、トレーニングのための正式な”パートナープログラム”を提供しています。
Railoアプリケーションサーバーは現在、7を平均しています。ダウンロード(および成長)月額000回。
Railoは、以下を含む多くの企業で使用されています。
プロパティ
- 継承、ミックスイン、メタクラスによるオブジェクト指向プログラミングをサポート
- 動的型付けとダック型付け
- 配列と構造体のリテラル表記
- 文字列内の変数で指定された引数の埋め込み(補間)
- 、オプションの引数と標準引数
- オブジェクト変数範囲の三つのレベル: This(object public)、Variables(object private)、Local(function private)
- いくつかのグローバル変数のスコープ:Request、session、Client、Application、Server、Cluster
- さまざまなユーザー提供の変数スコープ: フォーム(Post)、URL(Get)、Cookie、CGI
- 自動ガベージコレクション(JVM経由)
- グローバルおよびローカル例外処理(
onError
およびtry/catch
) - ユーザー定義のディスパッチ動作(
onMissingMethod
および暗黙のgetterおよびsetter) - 暗黙のオブジェクト変換(
onMissingMethod
および暗黙のgetterおよびsetter) - 暗黙のオブジェクト変換(
onMissingMethod
および_toString
,_toNumeric
,_toBoolean
,_toDate
) - ネイティブスレッド
- Unicode、マルチ文字エンコーディング、およびi18nのサポート
- 一般的なweb開発要件をカバーする大規模な標準ライブラリ
- Railo拡張スト 追加のソフトウェアと拡張機能を簡単にインストールするためのExtension Manager
- CFMLまたはJavaのネイティブプラグインAPI
- Webサービスを簡単に作成および消費するたファイルシステムのタグと関数。
- 従来のサーバーとクラウドサーバーのクラスタリングと同期
- 繰り返しアクションをスケジュールしたり、失敗したイベントを再度試行するためのタスクマネージャ
- Hibernate ORMのネイティブサポート
- 多数の画像編集機能
- 非同期コード実行のためのイベントゲートウェイ
- さまざまなキャッシュメカニズムのネイティブサポート
- ネイティブセッション管理(cfmlセッションまたはj2eeセッション)
onSessionStart
およびonSessionEnd
トリガーを使用します。 - 統合されたユーザー認証とロール機能。
セキュリティ
CFMLには、cfqueryparam
タグを介したコード注入を防止する機能と、次のような機能が組み込まれていますHtmlEditFormat
, XmlFormat
, JsStringFormat
. また、OWASP Enterprise Security APIのサードパーティのCFML実装もあります。 そして、AntiSamyプロジェクト。
Railoで最も重要なアーキテクチャ上の決定の一つは、単一のサーバー上の複数の独立したwebコンテキストをサポートするJEEサーブレットモデルに従うことでした。 これは、(単一のwebコンテキストのみを持つ)共有ColdFusionサーバー上で発生するように、無関係なアプリケーションが相互に干渉するのを防ぐため、重要なセキュリテ
RailoはCFML言語を実装しています-例とCFScriptはCFML構文のセクションにあります。
の違い
他の言語との違い
CFMLには、他のほとんどの言語と視覚的に異なるタグベースの構文があります。 それとは別に、次の例外を除いて、他の動的言語に似ています:
- CFMLには、タグベースの構文(XML互換ではない)とcfscriptと呼ばれるC構文の二つの構文が含まれています。
- CFML内の配列は、ゼロではなく1で索引付けされます。
- CFMLは、順序付けられた関数引数と名前付き関数引数の両方、またはその組み合わせをサポートします。
- CFMLには静的変数はありません。
Adobe ColdFusionとの違い
RailoはCFMLを実装しており、一般的に元のCFMLエンジンであるAdobe ColdFusion(ACF)と互換性がありますが、両者の間にはいくつかの顕著な違いがあります:
- RailoはLGPL v2.1用のオープンソースソフトウェアです。 ACFは独自の技術です。
- Railoは、ACFの単一のwebコンテキストと比較して、マルチwebコンテキストアーキテクチャを使用します。
- Railoでは、標準のCFMLを使用してカスタム関数を作成できます。
- Railoは、ACFの暗号化メカニズムで暗号化されたテンプレートを復号化(または実行)することはできません。
- Railoは、メジャー、マイナー、パッチリリースのリリースサイクルが大幅に高速になりました。
- Railoでは、領域が常に優先されます。 ACFでは、”Url”という名前の変数を作成すると、URLスペースへのアクセスをブロックできます。 Railoでは、変数には「変数」としてのみアクセスできます。Url”にアクセスできます。
- Railoは、管理者でそれに応じて定義されている場合にのみカスタムタグパス内のCfcを検索します(代わりに別のCFCパスがあります)。
- ライロ4.xでは、コマンドラインからCFMLスクリプトを実行できるコマンドラインインターフェイス(CLI)が導入されています。
- Railoでは、オブジェクトメソッドの使用が可能です。 したがって、配列Append(arr,”value”)を使用する代わりに、arrと書くことができます。append(“値”)。 Append(“anotherValue”)。
も参照