Úvod do Railo Open Source

Railo je open source Java aplikační server, který implementuje CFML (ColdFusion Markup Language), jazyk založený na značkách z komerčního produktu Adobe ” ColdFusion.”Jeho výkon je vynikající a zahrnuje funkce, které výrazně zvyšují produktivitu.

Railo je relativním nováčkem, ale v poslední době v průmyslu vytváří působivé vlnky. Tento článek je základním nátěrem na některé z kritických výhod Railo a proč stojí za to seriózní pohled na vývoj webových aplikací.

není ColdFusion mrtvý?

před několika lety byl publikován článek s názvem 10 technologií, které byly mrtvé nebo umírající, a k překvapení mnoha lidí byl ColdFusion v tomto seznamu. To způsobilo spoustu vln. Jedna věc, o CFML vývojáři-jsou nadšení pro jejich programovací jazyk!

společnost ColdFusion zaznamenala mírný úspěch na konkrétních vertikálních trzích, ale vláda USA ji velmi dobře přijala. Ve srovnání s dominantními vývojovými jazyky se zdálo, že CFML nikdy nenašel skutečnou přízeň u mas. Vzhledem k tomu, že ColdFusion byl přepracován tak, aby fungoval výhradně na Javě, as příchodem Adobe Flex před několika lety, který integruje Flash a ColdFusion, se to docela změnilo. Produkt Adobe ColdFusion se s flexem integruje tak dobře, že vzbudil nový zájem.

jednou z největších stížností na Adobe ColdFusion byla vždy cena. Byla to moje zkušenost, že vývojáři CFML se považují za průmyslové kolegy vývojářů LAMP (Linux, Apache, MySQL, PHP), kteří používají všechny nástroje s otevřeným zdrojovým kódem. Většina vývojářů LAMP považuje své dovednosti za mnohem vyšší než u vývojářů CFML. To vyvolalo zuřivost v průběhu let vývojářů CFML, kteří tvrdí, že investice do nákupu ColdFusion je rychlá návratnost investic, protože CFML je mnohem produktivnější.

nyní přichází Railo, které nabízí bezplatné a open source řešení pro sny vývojářů CFML. Nejen, že je to zdarma, ale také to funguje fantasticky, je stabilní, a je aktualizován přiměřeně často. To je dobrá zpráva pro CFML, která je podle mého názoru vysoce podceňovaná, většinou kvůli špatným marketingovým a prodejním cenovým bodům v průběhu let. CFML je vlastně docela silný a překvapivě produktivní jazyk, a byl navržen tak, aby RAD (Rapid Application Development) nástroj. Rozrostla se v podstatně lepší produkt a rozhodně si zaslouží větší respekt, než měl. Ale dost o CFML, pojďme mluvit o tom, proč mi připadá Railo tak působivé a co se odlišuje od konkurence.

co můžete dělat s Railo?

snad nejlepší způsob, jak na to odpovědět, je říct: “co nemůžete dělat s Railem?”Jazyk CFML je v podstatě velká knihovna značek java. CFML se v průběhu let rozrostla v působivou knihovnu a Railo podporuje vše, co produkt Adobe podporuje, který je v běžném používání. (Existuje určitý rozdíl mezi podporou, protože jak Railo, tak Adobe vydávají nové verze svých produktů).

základní vlastnosti jazyka Railo poskytují snadno naučitelné značky pro vše od databázových dotazů po odesílání dynamických e-mailových zpráv až po skriptovací spojení s úložištěm ftp a Amazon s3. Skoro všechno, co můžete dělat s PHP, můžete dělat s Railo. Zde je háček-obecně řečeno, implementace řešení pomocí CFML trvá méně času než u PHP, ASP.net nebo čistá Java.

použijte CFML pro základy; rozšířit pomocí Java.

zatímco Railo vám dává spoustu vestavěných funkcí, skutečnou pravdou situace je, že je Java pod kapotou. Všechny značky a funkce se nakonec zkompilují a spustí jako bajtový kód Java. Jazyk je dobře navržen, nicméně, takže můžete kombinovat svůj CFML a Java kód.

například, pokud jste chtěli číst v textovém souboru, můžete použít vestavěný tag CFFILE:

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

to čte v obsahu textového souboru a ukládá jej do zadané proměnné.

Chcete-li zobrazit tento obsah ve webovém prohlížeči, výstup byste takto:

< cfoutput>#strContent # < / cfoutput>

pro ilustraci toho, jak lze Javu použít přímo ve vašem kódu, lze tento stejný úkol provést pomocí objektů Java namísto vestavěných značek CFML, jako je so:

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

tyto dva malé kousky kódu dosahují stejných cílů. Jde mi o to, že jazyk CFML není omezen pouze na CFML, můžete vytvořit instanci a použít jakýkoli objekt Java kdekoli v kódu.

díky tomu je jazyk neuvěřitelně flexibilní, protože můžete používat značky CFML pro rychlé a snadné úkoly a v případě potřeby používat Javu pro těžké zvedání.

prostředí pro nasazení a vývoj

všechny verze Railo lze stáhnout buď jako” expresní”,” server “nebo” vlastní ” nasazení. Express edition je velmi snadné pro vývojáře, aby se nahoru a běží a obvykle zahrnuje jen dekompresi zip soubor do místního systému a jeho spuštění. Balíček serveru je dodáván spolu s Caucho Resin, velmi vysoce výkonným aplikačním serverem java. (Boční poznámka-Některé nástroje obsažené v Resin jsou také docela působivé, včetně jejich implementace PHP all-java!). Balíček custom deployment je určen pro spuštění Railo na jiných kontejnerech Java servlet, jako je Tomcat nebo Weblogic.

nastavení Railo na produkčním serveru nebylo obtížné, je to trochu více zapojeno než instalace rpm vaší oblíbené verze PHP, ale dokumentace byla snadno nalezena na webu Railo a na dalších stránkách nalezených prostřednictvím Google.

stejně jako produkt Adobe přichází Railo s nástroji pro správu webu pro správu nastavení a zdrojů specifických pro server a aplikaci. Jedná se o velký krok od světa PHP a Linuxu, kde obvykle potřebujete nakonfigurovat mnoho nastavení vaší aplikace (například zdroje dat) v konfiguračních souborech. Správce Railo jde také o několik kroků mimo Adobe a zpřístupňuje konzoly pro správu specifické pro kontext, takže jednotlivé aplikace a webové stránky mohou definovat své vlastní zdroje dat v karanténě, virtuální mapování a další. To je opravdu pěkný dotek, a byla požadovaná funkce po dlouhou dobu.

kde Railo svítí

již jsem přezkoumal některé důvody, proč je Railo působivé. Kromě toho, že je velmi silný RAD, s výkonem, který soupeří nebo bije Adobe, Railo se dále odlišuje některými působivými funkcemi.

virtuální souborové systémy a mapování

jako vývojáři jsme se všichni museli zabývat správou vzdálených nebo komprimovaných souborů najednou. Tato funkce v Railo dělá v několika kliknutí myší, co trvá stovky řádků kódu. Railo vám umožní mapovat vzdálené souborové systémy, jako je FTP, sdílení disků a dokonce i kbelíky Amazon S3 a přiřadit je k virtuální cestě ve vaší aplikaci! To znamená, že můžete použít jednoduché vestavěné funkce pro manipulaci se soubory a zacházet s těmito soubory, jako by seděli přímo v místním systému souborů. Podpora jde ještě dále, a umožňuje mapovat Java jar soubory a .zip soubory, takže můžete dynamicky odkazovat a spouštět kód sedí uvnitř komprimovaných archivů.

nastavení nových mapování je záležitostí typu point-and-click ve Správci Railo nebo může být provedeno programově.

distribuce aplikací a zabezpečení zdrojového kódu

svět Java byl vždy krokem (v pořádku, několik kroků) před vývojáři webových aplikací v balení a distribuci aplikací. Mnoho vývojářů má své vlastní domácí metody pro nasazení webu a mnoho aplikací pro vývoj webových aplikací, jako je Dreamweaver, má metodu nasazení založenou na FTP. V konečném důsledku to obvykle znamená předání nechráněného zdrojového kódu.

vývoj CFML byl stejný (Ano, Adobe měl způsob kompilace .cfm šablony, ale můj výzkum ukazuje, že je nemotorné používat a není příliš populární). Railo přináší nasazení balíčku “Java world” do vývoje CFML. Můžete zkompilovat celou aplikaci do bajtového kódu Java, komprimovat ji do souboru jar a nasadit ji na jakýkoli jiný Railo server. Railo je dokonce dost chytrý, aby vám mapovat vzdálený soubor jar na FTP webu a spustit jej jako místní webové aplikace. To znamená, že máte všechny nástroje, které potřebujete k nasazení webových aplikací a nevystavujte svůj zdroj.

Vestavěná podpora AMF pro aplikace Flex / Flash

vzhledem k tomu, že Adobe open-source jejich nástroje BlazeDS AMF, Railo je integroval a vytvořil snadno použitelný systém, který “funguje” s aplikacemi Flash.

integrace mezi aplikacemi, manipulace s PDF a videem

CFML již má velkou schopnost integrace s velkým počtem databázových systémů a lze jej rozšířit tak, aby používal jakýkoli z obrovského počtu projektů s otevřeným zdrojovým kódem Java.

Railo lze použít k rozhovoru s webovými službami Amazon, jako jsou EC2 a S3 Pro aplikace cloud computingu. Railo má také vestavěné funkce pro konverzi souborů, jako je dynamické generování PDF a programové úpravy a konverze formátu digitálního videa. Několik jednoduchých řádků kódu může převést vaše video soubory do různých formátů, extrahovat miniatury pro webové náhledy a pak je můžete nechat spadnout na Amazon S3, aby se zobrazovaly z cloudu. Velmi cool věci, a stojí za to podívat se na některé příklady na webových stránkách Railo.

když se podíváte na kód, který používá tyto funkce, vypadá to docela jednoduše a je úžasné, že Railo z nich dělá vypadat jako dětská hra, ale v zákulisí probíhá vážná integrace mezi systémy. Railo je tak velmi snadné přidat tyto funkce do libovolné webové aplikace.

nekonečně rozšiřitelné s Java

jak bylo uvedeno výše, je snadné vyvolat třídy Java z CFML stránek. Vzhledem k tomu, Railo sám běží v kontejneru Java, To znamená, že všechny třídy nebo kód ze světa Java mohou být integrovány a použity s aplikací Railo.

moje zkušenosti s budováním projektu Railo

moje společnost použila ColdFusion pro několik projektů. Jeden z našich komerčních produktů je postaven na něm a byl původně navržen pro Adobe ColdFusion. Náš produkt dělá spoustu těžkých břemen s databázemi, internacionalizací, konverzemi ve formátu dokumentu, náhledy PDF a mnohem více.

počátkem roku 2009 jsme provedli kompletní konverzi zdroje tak, aby byl kompatibilní s Railo. Byly tam jen malé oblasti, kde se náš kód potřeboval změnit, a většina z nich byla s vlastním kódem Java, který jsme napsali, že je prostě potřeba aktualizovat na kompatibilní s knihovnami Java Railo. Příjemné překvapení přišlo, když jsme skončili a všimli jsme si výrazného zvýšení výkonu na railu.

shrnutí

v souhrnu jsem byl velmi ohromen Railem. Je řízen komunitou; lidé v railu reagují a skutečně se starají o vývojářskou komunitu a produkt skutečně přináší to, co tvrdí. Poskytli platformu pro vývoj aplikací, která je kompatibilní i inovativní. Myslím, že všichni ostřílení vývojáři webových aplikací budou schopni ocenit, co Railo nabízí. Věřím, že tak silná integrace provedená tak snadno pouze s několika řádky kódu upoutá velkou pozornost. To je určitě technologie, na kterou byste měli dávat pozor.

Leave a Reply