Railoオープンソース入門

Railoは、Adobeの商用製品「ColdFusion」のタグベース言語であるCFML(ColdFusion Markup Language)を実装したオープンソースのJavaアプリケーションサーバーです。”その性能は優れており、生産性を大幅に向上させる機能が含まれています。

Railoは相対的な新人ですが、最近業界で印象的な波紋を起こしています。 この記事では、Railoの重要な利点のいくつかと、webアプリケーション開発を真剣に検討する価値がある理由についての入門書です。

数年前、死んでいるか死んでいるかの10の技術を命名する記事が出版され、多くの人々の驚いたことに、ColdFusionはそのリストにありました。 それは多くの波を引き起こしました。 CFML開発者についての一つのこと–彼らは彼らのプログラミング言語に情熱を持っています!

ColdFusionは、特定の垂直市場で中程度の成功を見てきましたが、米国政府によって特によく受け入れられています。 支配的な開発言語と比較して、CFMLは大衆に本当の好意を見つけるようには見えませんでした。 ColdFusionは完全にJava上で実行するように再設計され、数年前にFlashとColdFusionを統合したAdobe Flexの登場により、これはかなり変更されました。 AdobeのColdFusion製品はFlexと非常によく統合されているため、新たな関心が生まれました。

Adobe ColdFusionに関する最大の苦情の1つは、常に価格でした。 私の経験では、CFML開発者は、すべてのオープンソースツールを使用するLAMP(Linux、Apache、MySQL、PHP)開発者の業界仲間であると考えています。 LAMP開発者の大多数は、CFML開発者のスキルよりもはるかに高いと考えています。 これは、Cfmlがはるかに生産的であるため、ColdFusionの購入への投資は投資に対する迅速なリターンであると主張するCFML開発者の長年にわたって怒りを与えて

今すぐRAILOが来て、CFML開発者の夢に無料でオープンソースのソリューションを提供しています。 それは無料であるだけでなく、それは素晴らしい実行し、安定しており、合理的に頻繁に更新されます。 これはCFMLのための良いニュースです,これは,私の意見では,非常に過小評価されています,主に年間の貧しいマーケティングと販売価格ポイントのために. CFMLは実際には非常に強力で驚くほど生産的な言語であり、RAD(Rapid Application Development)ツールとして設計されています。 それはかなり良い製品に成長しており、確かにそれが持っていたよりも多くの尊敬に値するん。 しかし、CFMLについては十分ですが、なぜRailoがとても印象的であり、競争との区別があるのかについて話しましょう。

あなたはRailoで何ができますか?

おそらく、これに答える最善の方法は、”あなたはRailoで何ができないのですか?「CFML言語は本質的に大きなjavaタグライブラリです。 CFMLは長年にわたって印象的なライブラリに成長しており、RailoはAdobeの製品が主流で使用されているすべてのものをサポートしています。 (RailoとAdobeの両方が製品の新しいバージョンをリリースするため、サポートにはいくつかの違いがあります)。

Railoの言語のコア機能は、データベースクエリから動的な電子メールメッセージの送信、ftpとAmazon s3ストレージを使用したスクリプト接続まで、すべてのタグを あなたがRAILOでできるPHPでできることはほとんど何でもできます。 ここではキャッチです-一般的に言えば、CFMLを使用してソリューションを実装するのにかかる時間は、PHPよりも短くなります。ASP.net または純粋なJava。

基本にはCFMLを使用し、Javaを使用して拡張します。

Railoはあなたに多くの組み込み関数を提供しますが、状況の本当の真実は、それがフードの下にJavaであるということです。 すべてのタグと関数は最終的にコンパイルされ、Javaバイトコードとして実行されます。 ただし、この言語はうまく設計されているため、CFMLコードとJavaコードを混在させて一致させることができます。

たとえば、テキストファイルを読みたい場合は、組み込みのタグCFFILEを使用できます:

<cffile action="read"file="c:webmessage.txt"variable="strContent"></cffile>

これは、テキストファイルの内容を読み取り、指定された変数に格納します。

そのコンテンツをwebブラウザに表示するには、次のように出力します:

<cfoutput>#strContent#</cfoutput>

Javaをコード内で直接使用する方法を説明するために、この同じタスクは、組み込みのCFMLタグの代わりにJavaオブジェクトを使用して行うこ:

<cfobject type="Java"class="java.io.FileReader"Action="Create"name="myFileReader"><cfset Result=fileReader.init("c:webmessage.txt");<cfoutput>#strContent#</cfoutput>

これら二つの小さなコードは同じ目標を達成します。 私のポイントは、CFML言語はCFMLだけに限定されるものではなく、コード内の任意の場所でJavaオブジェクトをインスタンス化して使用できることです。

これにより、CFMLタグを使用して迅速かつ簡単なタスクを実行でき、必要に応じてjavaを使用して重い作業を行うことができるため、言語は非常に柔軟

デプロイメントと開発環境

Railoのすべてのバージョンは、”express”、”server”、または”custom”デプロイメントとしてダウンロードできます。 Express editionは、開発者が立ち上げて実行するのは非常に簡単で、通常はzipファイルをローカルシステムに解凍して起動するだけです。 サーバーパッケージには、非常に高性能なjavaアプリケーションサーバーであるCaucho Resinが付属しています。 (サイドノート-樹脂に含まれているツールのいくつかは、PHPのすべてのjava実装を含む、同様にかなり印象的です!). カスタムデプロイパッケージは、TomcatやWeblogicなどの他のJavaサーブレットコンテナでRailoを起動するためのものです。

実稼働サーバー上でRailoを設定することは難しくありませんでしたが、お気に入りのPHPバージョンのRpmをインストールするよりも少し複雑ですが、ドキュメントはRailoのサイトやGoogleを介して見つかった他のサイトで簡単に見つかりました。

Adobeの製品と同様に、Railoにはサーバーとアプリケーション固有の設定とリソースを管理するためのweb管理ツールが付属しています。 これは、通常、設定ファイルでアプリケーションの設定(データソースなど)の多くを設定する必要があるPHPとLinuxの世界からの大きなステップです。 Railo管理者は、Adobeを超えていくつかの手順を実行し、コンテキスト固有の管理コンソールを使用できるようにするため、個々のアプリケーションやwebサイト これは本当に素敵なタッチであり、長い間要求された機能となっています。

ライロが輝く場所

ライロが印象的な理由のいくつかをすでに見直しました。 別にライバルやAdobeを打つパフォーマンスで、非常に強力なRADであることから、Railoは、いくつかの印象的な機能でさらに自分自身を区別します。

仮想ファイルシステムとマッピング

開発者は、リモートファイルや圧縮ファイルを一度に管理することに対処しなければなりませんでした。 Railoのこの機能は、数百行のコードを必要とするマウスを数回クリックするだけで実行されます。 Railoを使用すると、FTP、ドライブ共有、さらにはAmazon S3バケットなどのリモートファイルシステムをマップし、アプリケーション内の仮想パスに割り当てるこ つまり、ファイル操作に単純な組み込み関数を使用して、それらのファイルをローカルファイルシステム上にあるかのように扱うことができます。 サポートはさらに進みます,そして、あなたは、Java jarファイルをマップすることができますし、.zipファイルを使用すると、圧縮されたアーカイブ内にあるコードを動的に参照して実行できます。

新しいマッピングの設定は、Railo管理者のポイントアンドクリックで行うか、プログラムで行うことができます。

アプリケーションの配布とソースコードのセキュリティ

Javaの世界は、アプリケーションのパッケージ化と配布において、webアプリケーション開発者よりも常に一 多くの開発者は、サイトを展開するための独自の方法を持っており、Dreamweaverのような多くのweb開発アプリケーションには、FTPベースの展開方法があります。 最終的には、通常、保護されていないソースコードを渡すことを意味します。

CFMLの開発は同じ方法でした(はい、Adobeはコンパイルする方法を持っていました。cfmテンプレートが、私の研究は、それが使用する不器用と非常に人気がないの両方であることを示しています)。 Railoは、CFML開発に”Java world”パッケージの展開をもたらします。 アプリケーション全体をJavaバイトコードにコンパイルし、jarファイルに圧縮して、他のRailoサーバーにデプロイすることができます。 Railoは、リモートjarファイルをFTPサイトにマップし、ローカルwebアプリケーションとして実行できるほどスマートです。 これは、webアプリケーションをデプロイし、ソースを公開するのではなく、必要なすべてのツールがあることを意味します。

Flex/FlashアプリケーションのAMFサポートを内蔵

AdobeはBlazeDS AMFツールをオープンソース化して以来、Railoはそれらを統合し、Flashアプリケーションで”ちょうど動作する”使いやす

アプリケーション間の統合、PDFおよびビデオ操作

CFMLはすでに膨大な数のデータベースシステムとの統合に優れた機能を備えており、膨大な数のオープ

Railoは、クラウドコンピューティングアプリケーション用のEC2やS3などのAmazon Webサービスと通信するために使用できます。 Railoには、Pdfを動的に生成したり、デジタルビデオのプログラムによる編集やフォーマット変換など、ファイル変換のための機能も組み込まれています。 いくつかの簡単なコード行で、ビデオファイルをさまざまな形式に変換し、webプレビュー用のサムネイルを抽出してから、Amazon S3にドロップしてクラウドか 非常にクールなもの、およびRailoのウェブサイト上の例のいくつかを見て価値があります。

これらの機能を使用するコードを見てみると、非常にシンプルに見え、Railoが子供の遊びのように見えるのは驚くべきことですが、舞台裏では深刻なシステ Railoは、これらの機能を任意のwebアプリケーションに追加することを非常に簡単にします。

Javaで無限に拡張可能

上記のように、CFMLページ内からJavaクラスを呼び出すのは簡単です。 Railo自体はJavaコンテナ内で実行されるため、Javaの世界のクラスやコードをRailoアプリケーションと統合して使用できることを意味します。

私の経験Railoプロジェクトの構築

私の会社は、いくつかのプロジェクトのためにColdFusionを使用しています。 当社の商用製品の一つは、それに基づいて構築され、もともとAdobe ColdFusionのために設計されました。 当社の製品は、データベース、国際化、ドキュメント形式の変換、PDFプレビューと、より多くの重い持ち上げの多くを行います。

2009年の初めに、Railoと互換性のあるソースの完全な変換を行いました。 私たちのコードを変更する必要がある小さな領域だけがあり、そのほとんどはRailoのJavaライブラリと互換性のあるように更新する必要があるカスタムJava 嬉しい驚きは私達がされ、Railoで動く重要な性能の増加に気づいたときに来た。

要約

要約すると、私はRailoに非常に感銘を受けました。 Railoの人々は反応し、開発者コミュニティを本当に気にしており、製品は本当にそれが主張するものを提供します。 それらは企業互換性があり、革新的である適用開発のプラットホームを提供した。 私はすべての経験豊富なwebアプリケーション開発者がRailoが提供しているものを理解することができると思います。 私は、このような強力な統合は、ほんの数行のコードで簡単に行われ、多くの注目を集めると信じています。 これは間違いなくあなたが目を維持する必要があります技術です。

Leave a Reply