Introducere în Railo Open Source

Railo este un server de aplicații Java open source care implementează CFML (ColdFusion Markup Language), un limbaj bazat pe etichete din produsul comercial Adobe “ColdFusion.”Performanța sa este excelentă și include caracteristici care cresc semnificativ productivitatea.

Railo este un nou venit relativ, dar a făcut câteva valuri impresionante în industrie în ultima vreme. Acest articol este un primer pe unele dintre avantajele critice ale Railo și de ce este în valoare de un aspect serios pentru dezvoltarea de aplicatii web.

nu este mort ColdFusion?

cu câțiva ani în urmă, un articol a fost publicat numind 10 tehnologii care erau moarte sau pe moarte și, spre surprinderea multor oameni, ColdFusion era în acea listă. Asta a provocat o mulțime de valuri. Un lucru despre dezvoltatorii CFML – sunt pasionați de limbajul lor de programare!

ColdFusion a cunoscut un succes moderat pe anumite piețe verticale, dar a fost deosebit de bine acceptat de Guvernul SUA. În comparație cu limbajele de dezvoltare dominante, CFML nu părea să găsească niciodată o favoare reală cu masele. Deoarece ColdFusion a fost reproiectat pentru a rula în întregime pe Java și odată cu sosirea Adobe Flex acum câțiva ani, care integrează Flash și ColdFusion, acest lucru s-a schimbat destul de mult. Produsul Adobe ColdFusion se integrează atât de bine cu Flex încât a generat un nou interes.

una dintre cele mai mari reclamații cu privire la Adobe ColdFusion a fost întotdeauna prețul. Din experiența mea, dezvoltatorii CFML se consideră a fi colegi din industrie ai dezvoltatorilor LAMP (Linux, Apache, MySQL, PHP), care folosesc toate instrumentele open source. Majoritatea dezvoltatorilor LAMP consideră abilitățile lor mult mai mari decât cele ale dezvoltatorilor CFML. Acest lucru a alimentat doar furia de-a lungul anilor dezvoltatorilor CFML care susțin că investiția în achiziționarea ColdFusion este o rentabilitate rapidă a investiției, deoarece CFML este mult mai productivă.

acum vine Railo, oferind o soluție gratuită și open source viselor dezvoltatorilor CFML. Nu numai că este gratuit, dar, de asemenea, efectuează fantastic, este stabil, și este actualizat în mod rezonabil frecvent. Aceasta este o veste bună pentru CFML, care este, în opinia mea, foarte subestimată, în principal din cauza punctelor slabe de marketing și a prețurilor de vânzare de-a lungul anilor. CFML este de fapt un limbaj destul de puternic și surprinzător de productiv și a fost conceput pentru a fi un instrument RAD (Rapid Application Development). A devenit un produs semnificativ mai bun și, cu siguranță, merită mai mult respect decât a avut. Dar destul despre CFML, să vorbim despre motivul pentru care găsesc că Railo este atât de impresionant și ceea ce se distinge de concurență.

ce poți face cu Railo?

poate că cel mai bun mod de a răspunde la acest lucru este să spui: “ce nu poți face cu Railo?”Limbajul CFML este în esență o mare bibliotecă de etichete java. CFML a crescut într-o bibliotecă impresionantă de-a lungul anilor, iar Railo acceptă tot ceea ce suportă produsul Adobe, care este utilizat în masă. (Există o anumită diferență între suport, deoarece atât Railo, cât și Adobe lansează noi versiuni ale produselor lor).

caracteristicile de bază ale limbajului Railo oferă etichete ușor de învățat pentru orice, de la interogări de baze de date până la trimiterea de mesaje de e-mail dinamice la conexiuni de script cu stocare ftp și Amazon S3. Aproape orice poți face cu PHP poți face cu Railo. Iată captura – în general vorbind, este nevoie de mai puțin timp pentru a implementa o soluție folosind CFML decât o face cu PHP, ASP.net sau Java pur.

utilizați CFML pentru elementele de bază; extindeți folosind Java.

în timp ce Railo vă oferă o mulțime de funcții încorporate, adevărul real al situației este că este Java sub capotă. Toate etichetele și funcțiile în cele din urmă se compilate și a alerga ca cod de octet Java. Cu toate acestea, limba este bine concepută, astfel încât să puteți amesteca și potrivi codul CFML și Java.

de exemplu, dacă doriți să citiți într-un fișier text, puteți utiliza construit în tag-ul CFFILE:

<cffile acțiune=" citit "fișier =" c: webmessage.txt " variable="strContent" ></cffile>

aceasta citește în conținutul fișierului text și îl stochează în variabila specificată.

pentru a afișa acel conținut în browserul web, l-ați afișa așa:

 < cfoutput > # strContent# < / cfoutput > 

pentru a ilustra modul în care Java poate fi utilizat direct în codul dvs., aceeași sarcină se poate face folosind obiecte Java în loc de construit în tag-uri CFML, cum ar fi:

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

aceste două bucăți mici de cod atinge aceleași obiective. Punctul meu este că limba CFML nu este limitat la doar CFML, puteți instantia și de a folosi orice obiect Java oriunde în codul.

acest lucru face ca limba incredibil de flexibil, deoarece puteți utiliza tag-uri CFML pentru sarcini rapide și ușoare, și de a folosi Java pentru ridicarea grele acolo unde este necesar.

medii de implementare și dezvoltare

toate versiunile Railo pot fi descărcate fie ca implementare “express”, “server” sau “personalizată”. Ediția express este extrem de ușor pentru dezvoltatori să se ridice și să fie difuzate și, de obicei, implică doar decomprimarea unui fișier zip pe sistemul local și pornirea acestuia. Pachetul de server vine împreună cu caucho Resin, un server de aplicații java foarte performant. (Notă laterală – unele dintre instrumentele incluse cu Resin sunt destul de impresionante, inclusiv implementarea lor Java a PHP!). Pachetul de implementare personalizat este pentru lansarea Railo pe alte containere Java servlet, cum ar fi Tomcat sau Weblogic.

Configurarea Railo pe un server de producție nu a fost dificilă, având în vedere că este un pic mai implicat decât instalarea RPMs a versiunii dvs. preferate PHP, dar documentația a fost găsită cu ușurință pe site-ul Railo și pe alte site-uri găsite prin Google.

ca și produsul Adobe, Railo vine cu instrumente de administrare web pentru a gestiona setările și resursele specifice serverului și aplicației. Acesta este un pas mare față de lumea PHP și Linux, unde în mod normal trebuie să configurați o mulțime de setări ale aplicației dvs. (Surse de date, de exemplu) în fișierele de configurare. Administratorul Railo merge cu câțiva pași dincolo de Adobe și pune la dispoziție Console de administrare specifice contextului, astfel încât aplicațiile și site-urile individuale își pot defini propriile surse de date sandboxate, mapări virtuale și multe altele. Aceasta este o atingere foarte frumos, și a fost o caracteristică solicitată pentru o lungă perioadă de timp.

unde Railo strălucește

am revizuit deja câteva dintre motivele pentru care Railo este impresionant. În afară de a fi un RAD foarte puternic, cu performanțe care rivalizează sau bate Adobe, Railo se distinge în continuare cu câteva caracteristici impresionante.

sisteme de fișiere virtuale și mapări

ca dezvoltatori, cu toții am avut de-a face cu gestionarea fișierelor la distanță sau comprimate la un moment dat sau altul. Această caracteristică din Railo face în câteva clicuri de mouse ceea ce necesită sute de linii de cod. Railo vă permite să mapați sisteme de fișiere la distanță, cum ar fi FTP, acțiuni de unitate și chiar găleți Amazon S3 și să le atribuiți unei căi virtuale în aplicația dvs.! Aceasta înseamnă că puteți utiliza funcțiile simple încorporate pentru manipularea fișierelor și puteți trata aceste fișiere ca și cum ar sta chiar pe sistemul de fișiere local. Suportul merge chiar mai departe, și vă permite să Harta fișiere Java jar și .zip fișiere, astfel încât să puteți dinamic de referință și a alerga Cod stând în interiorul arhive comprimate.

configurarea de noi mapări este o afacere point-and-click în administratorul Railo sau se poate face programatic.

distribuția aplicațiilor și securitatea codului sursă

lumea Java a fost întotdeauna un pas (bine, câțiva pași) înaintea dezvoltatorilor de aplicații web în ambalarea și distribuirea aplicațiilor. Mulți dezvoltatori au propriile metode de acasă pentru implementarea unui site și multe aplicații de dezvoltare web, cum ar fi Dreamweaver, au o metodă de implementare bazată pe FTP. În cele din urmă, înseamnă de obicei predarea codului sursă neprotejat.

dezvoltarea CFML a fost la fel (Da, Adobe a avut o modalitate de a compila .CFM template-uri, dar cercetările mele arată că este atât de stângace de a utiliza și nu foarte popular). Railo aduce implementarea pachetului “Java world” la dezvoltarea CFML. Puteți compila o întreagă aplicație în codul de octeți Java, o puteți comprima într-un fișier jar și o puteți implementa pe orice alt server Railo. Railo este chiar suficient de inteligent pentru a vă permite să mapați un fișier JAR la distanță pe un site FTP și să îl rulați ca aplicație web locală. Aceasta înseamnă că aveți toate instrumentele de care aveți nevoie pentru a implementa aplicații web și a nu vă expune sursa.

construit în suport AMF pentru aplicații Flex/Flash

deoarece Adobe open-source instrumentele lor BlazeDS AMF, Railo le-a integrat a face un ușor de utilizat sistem care “doar funcționează” cu aplicații Flash.

integrare Inter-Aplicații, manipulare PDF și Video

CFML are deja o mare capacitate de integrare cu un număr imens de sisteme de baze de date și poate fi extins pentru a utiliza oricare dintre numărul imens de proiecte Java open source.

Railo poate fi folosit pentru a vorbi cu Amazon Web Services, cum ar fi EC2 și S3 pentru aplicații de cloud computing. Railo, de asemenea, a construit în caracteristici pentru conversii de fișiere, cum ar fi generarea dinamic PDF-uri, și editare programatică și conversii format de video digital. Câteva linii simple de cod vă pot converti fișierele video în diferite formate, pot extrage miniaturi pentru previzualizări web și apoi le puteți arunca pe Amazon S3 pentru a fi servite din cloud. Lucruri foarte interesante și merită să ne uităm la câteva dintre exemplele de pe site-ul Railo.

după cum te uiți peste cod care utilizează aceste caracteristici, se pare destul de simplu și este uimitor faptul că Railo le face să arate ca un joc de copil, dar există o integrare serioasă între sisteme întâmplă în spatele scenei. Railo face atât de foarte ușor pentru a adăuga aceste capabilități la orice aplicație web.

infinit extensibil cu Java

după cum sa menționat mai sus, este ușor de a invoca clase Java din cadrul paginilor CFML. Deoarece Railo în sine rulează într-un container Java, asta înseamnă că orice clase sau cod din lumea Java pot fi integrate și utilizate cu o aplicație Railo.

experiența mea construirea unui proiect Railo

compania mea a folosit ColdFusion pentru mai multe proiecte. Unul dintre produsele noastre comerciale este construit pe acesta și a fost proiectat inițial pentru Adobe ColdFusion. Produsul nostru face o mulțime de ridicare grele cu baze de date, internaționalizare, conversii format document, avanpremiera PDF și mult mai mult.

la începutul anului 2009 am făcut o conversie completă a sursei pentru a fi compatibilă cu Railo. Au existat doar zone minore în care codul nostru trebuia să se schimbe, iar majoritatea erau cu cod Java personalizat pe care l-am scris, care pur și simplu trebuia actualizat la compatibil cu bibliotecile Java ale Railo. Surpriza plăcută a venit când am terminat și am observat o creștere semnificativă a performanței care rulează pe Railo.

rezumat

în rezumat, Am fost foarte impresionat de Railo. Este condus de comunitate; oamenii de la Railo sunt receptivi și le pasă cu adevărat de comunitatea dezvoltatorilor, iar produsul oferă cu adevărat ceea ce pretinde. Au oferit o platformă de dezvoltare a aplicațiilor care este atât compatibilă cu industria, cât și inovatoare. Cred că toți dezvoltatorii de aplicații web experimentați vor putea aprecia ceea ce Railo are de oferit. Cred că o astfel de integrare puternică făcută atât de ușor cu doar câteva linii de cod va atrage multă atenție. Aceasta este cu siguranță o tehnologie pe care ar trebui să o urmăriți.

Leave a Reply