Johdatus Railo Open Source

Railo on avoimen lähdekoodin Java-sovelluspalvelin, joka toteuttaa CFML: ää (ColdFusion Markup Language), joka on Adoben kaupallisen tuotteen “ColdFusion.”Sen suorituskyky on erinomainen, ja se sisältää ominaisuuksia, jotka lisäävät merkittävästi tuottavuutta.

Railo on suhteellisen uusi tulokas, mutta on tehnyt viime aikoina näyttäviä väreitä alalla. Tämä artikkeli on pohjustaa joitakin kriittisiä etuja Railo ja miksi se kannattaa vakavasti etsiä web-sovelluskehitys.

eikö ColdFusion ole kuollut?

muutama vuosi sitten julkaistiin artikkeli, jossa mainittiin 10 kuollutta tai kuolevaa teknologiaa, ja monien yllätykseksi ColdFusion oli kyseisessä luettelossa. Se aiheutti paljon aaltoja. Yksi asia CFML: n kehittäjistä – he ovat intohimoisia ohjelmointikielensä suhteen!

ColdFusion on menestynyt kohtalaisesti tietyillä vertikaalisilla markkinoilla, mutta Yhdysvaltain hallitus on hyväksynyt sen erityisen hyvin. Dominoiviin kehityskieliin verrattuna CFML ei koskaan näyttänyt löytävän todellista suosiota massojen keskuudessa. Koska ColdFusion suunniteltiin uudelleen toimimaan kokonaan Javalla, ja Adobe Flex: n saapuessa muutama vuosi sitten, joka yhdistää Flashin ja ColdFusion: n, tämä on muuttunut melkoisesti. Adoben ColdFusion-tuote integroituu Flexiin niin hyvin, että se on herättänyt uutta kiinnostusta.

yksi suurimmista Adobe ColdFusion-valituksista on aina ollut hinta. Se on ollut kokemukseni, että CFML kehittäjät pitävät itseään teollisuuden vertaisia lamppu (Linux, Apache, MySQL, PHP) kehittäjät, jotka käyttävät kaikkia avoimen lähdekoodin työkaluja. Suurin osa lamppujen kehittäjistä pitää taitojaan paljon korkeampina kuin CFML: n kehittäjien. Tämä on vain ruokkinut vuosien mittaan raivoa CFML: n kehittäjille, jotka väittävät, että investointi ColdFusion ostamiseen on nopea tuotto sijoitukselle, koska CFML on niin paljon tuottavampi.

nyt mukaan tulee Railo, joka tarjoaa ilmaisen ja avoimen lähdekoodin ratkaisun CFML: n kehittäjien unelmiin. Se ei ole vain ilmainen, vaan myös se toimii fantastisesti, on vakaa ja päivitetään kohtuullisen usein. Tämä on hyvä uutinen CFML: lle, joka on mielestäni erittäin aliarvostettu, lähinnä huonon markkinoinnin ja myyntihintojen vuoksi vuosien varrella. CFML on itse asiassa varsin voimakas ja yllättävän tuottava kieli, ja se suunniteltiin RAD (Rapid Application Development) – työkaluksi. Siitä on tullut huomattavasti parempi tuote, ja se ansaitsee varmasti enemmän kunnioitusta kuin se on saanut. Mutta se CFML: stä, puhutaan siitä, miksi pidän railoa niin vaikuttavana ja mikä erottuu kilpailusta.

mitä Railolle voi tehdä?

ehkä paras tapa vastata tähän on sanoa: “mitä railon kanssa ei voi tehdä?”CFML kieli on pohjimmiltaan iso java tag kirjasto. CFML on kasvanut vuosien varrella vaikuttavaksi kirjastoksi ja Railo tukee kaikkea, mitä Adoben tuote tukee, joka on valtavirran käytössä. (Tuen välillä on jonkin verran eroa, sillä sekä Railo että Adobe julkaisevat tuotteistaan uusia versioita).

railon kielen ydinominaisuudet tarjoavat helposti opittavia tunnisteita kaikkeen tietokantakyselyistä dynaamisten sähköpostiviestien lähettämiseen FTP-ja Amazon s3-tallennusyhteyksiin. Aika paljon mitä tahansa PHP: llä voi tehdä Railon kanssa. Tässä saalis – yleisesti ottaen, se vie vähemmän aikaa toteuttaa ratkaisu käyttämällä CFML kuin PHP, ASP.net tai puhdasta jaavaa.

käytä perusasioissa CFML: ää; Laajenna Javaa käyttäen.

vaikka Railo antaa paljon rakennettuja funktioita, todellinen totuus tilanteesta on, että se on Javaa konepellin alla. Kaikki tunnisteet ja toiminnot lopulta saada käännetty ja ajaa Java tavukoodi. Kieli on kuitenkin hyvin suunniteltu, jotta voit sekoittaa ja sovittaa CFML-ja Java-koodin.

esimerkiksi, jos haluat lukea tekstitiedostoon, voit käyttää sisäänrakennettua tagia CFFILE:

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

tämä lukee tekstitiedoston sisällössä ja tallentaa sen määriteltyyn muuttujaan.

jos haluat näyttää kyseisen sisällön selaimessa, tulostat sen näin:

<cfoutput>#strContent#</cfoutput>

havainnollistaa, miten Javaa voi käyttää suoraan koodissa, tämä sama tehtävä voidaan tehdä Java-objektien avulla CFML-tageihin rakennettujen sijaan kuten niin:

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

näillä kahdella pienellä koodinpätkällä saavutetaan samat tavoitteet. Minun pointtini on, että CFML kieli ei rajoitu vain CFML, voit instantiate ja käyttää mitä tahansa Java objekti missä tahansa sisällä koodin.

tämä tekee kielestä uskomattoman joustavan, sillä CFML-tageja voi käyttää nopeisiin ja helppoihin tehtäviin, ja Javaa voi käyttää tarvittaessa raskaisiin nostoihin.

käyttöönotto-ja kehitysympäristöt

kaikki railon versiot ovat ladattavissa joko “express” -, “server” – tai “custom” – käyttöönottoina. Express edition on erittäin helppo kehittäjille saada vauhtiin ja yleensä liittyy vain purkaa zip-tiedosto paikalliseen järjestelmään ja käynnistää sen. Palvelinpaketin mukana tulee Caucho hartsi, erittäin suorituskykyinen java-sovelluspalvelin. (Sivuhuomautus-jotkut työkalut mukana hartsi ovat melko vaikuttava samoin, mukaan lukien niiden kaikki-java täytäntöönpanoa PHP!). Custom deployment package on tarkoitettu railon käynnistämiseen muissa Java servlet-konteissa, kuten Tomcatissa tai Weblogicissa.

Railon perustaminen tuotantopalvelimelle ei ollut vaikeaa, vaikkakin se on hieman vaativampaa kuin suosimasi PHP-version kierroslukujen asentaminen, mutta dokumentaatio löytyi helposti Railon sivustolta ja muilta Googlen kautta löydetyiltä sivustoilta.

Adoben tuotteen tavoin Railon mukana tulee web-hallintatyökaluja palvelimen ja sovelluskohtaisten asetusten ja resurssien hallintaan. Tämä on iso askel ylöspäin PHP – ja Linux-maailmasta, jossa sinun täytyy yleensä määrittää paljon sovelluksen asetuksia (tietolähteitä esimerkiksi) asetustiedostoissa. Railo administrator menee muutaman askeleen pidemmälle Adoben samoin, ja tekee kontekstikohtaiset hallintakonsolit saatavilla, joten yksittäiset sovellukset ja verkkosivustot voivat määritellä omat hiekkalaatikkonsa tietolähteet, virtuaaliset kuvaukset ja paljon muuta. Tämä on todella mukava kosketus, ja on ollut pyydetty ominaisuus jo pitkään.

missä Railo loistaa

olen jo käynyt läpi joitakin syitä, miksi Railo on vaikuttava. Sen lisäksi, että erittäin tehokas RAD, suorituskykyä, että kilpailijat tai beats Adobe, Railo erottuu edelleen joitakin vaikuttavia ominaisuuksia.

virtuaaliset tiedostojärjestelmät ja kartoitukset

kehittäjinä olemme kaikki joutuneet käsittelemään etätiedostojen tai pakattujen tiedostojen hallintaa kerralla tai toisella. Tämä ominaisuus Railo tekee muutamalla hiiren napsautuksella mitä vie satoja rivejä koodia. Railon avulla voit kartoittaa etätiedostojärjestelmät, kuten FTP: n, drive sharesin ja jopa Amazon S3: n kauhat ja määrittää ne virtuaaliselle polulle sovelluksessasi! Tämä tarkoittaa, että voit käyttää yksinkertaisia sisäänrakennettuja toimintoja tiedostojen manipulointiin, ja käsitellä näitä tiedostoja ikään kuin ne istuisivat suoraan paikalliseen tiedostojärjestelmään. Tuki menee vielä pidemmälle, ja voit kartoittaa Java jar tiedostoja ja .zip-tiedostoja, joten voit dynaamisesti viittaus ja ajaa koodia istuu sisällä pakattuja arkistoja.

uusien kartoitusten laatiminen on railon ylläpitäjän piste-ja klikkaustapahtuma tai se voidaan tehdä ohjelmallisesti.

sovellusten jakelu ja Lähdekooditurvallisuus

Java-maailma on aina ollut web-sovelluskehittäjien edellä sovellusten pakkaamisessa ja jakelussa. Monilla kehittäjillä on omat kotikutoiset metodinsa sivuston käyttöönottoon ja monilla web-kehitysohjelmilla, kuten Dreamweaverilla, on FTP-pohjainen käyttöönottomenetelmä. Viime kädessä se tarkoittaa yleensä suojaamattoman lähdekoodin luovuttamista.

CFML: n kehitys on ollut samanlaista (Kyllä, Adobella oli tapa kääntää .cfm-malleja, mutta tutkimukseni osoittaa, että se on sekä kömpelö käyttää ja ei ole kovin suosittu). Railo tuo “Java world” – paketin käyttöönoton CFML: n kehitykseen. Voit kääntää koko sovelluksen Java-tavukoodiin, pakata sen jar-tiedostoon ja ottaa sen käyttöön millä tahansa muulla Railo-palvelimella. Railo on jopa tarpeeksi fiksu, jotta voit kartoittaa kauko jar-tiedoston FTP-sivustolla ja käyttää sitä paikallisena verkkosovelluksena. Tämä tarkoittaa, että sinulla on kaikki työkalut, joita tarvitset verkkosovellusten käyttöönottoon ja lähteen paljastamatta jättämiseen.

sisäänrakennettu AMF-tuki Flex/Flash-sovelluksille

Adoben avoimen lähdekoodin AMF-työkaluille, railo on integroinut ne tehden niistä helppokäyttöisen järjestelmän, joka “vain toimii” Flash-sovellusten kanssa.

sovellusten välinen integraatio, PDF-ja Videomanipulointi

CFML: llä on jo hyvät valmiudet integroida valtava määrä tietokantajärjestelmiä ja sitä voidaan laajentaa käyttämään mitä tahansa valtavan määrän avoimen lähdekoodin Java-projekteja.

railoa voi käyttää Amazon Web Servicesin, kuten EC2: n ja S3: n, pilvipalvelusovelluksiin. Railo on myös rakennettu ominaisuuksia tiedostojen muuntaminen, kuten dynaamisesti tuottaa PDF-tiedostoja, ja ohjelmallinen editointi ja formaatti muuntaminen digitaalisen videon. Muutama yksinkertainen riviä koodia voi muuntaa videotiedostoja eri muodoissa, poimia pikkukuvat web esikatselut, ja sitten voit olla ne pudotetaan Amazon S3 palveltava pilvestä. Erittäin siistiä tavaraa, ja kannattaa katsoa esimerkkejä Railon nettisivuilta.

näitä ominaisuuksia käyttävää koodia tarkastellessa tilanne näyttää varsin yksinkertaiselta ja on hämmästyttävää, että Railo saa ne näyttämään lastenleikeiltä, mutta kulissien takana on meneillään vakava järjestelmien välinen integraatio. Railo Tekee Näiden ominaisuuksien lisäämisen mihin tahansa web-sovellukseen erittäin helpoksi.

äärettömän laajennettavissa Java

kuten edellä mainittiin, on helppo vedota Java-luokkiin CFML: n sivujen sisältä. Koska Railo itse toimii Java-säiliössä, se tarkoittaa, että mitä tahansa Java-maailman luokkia tai koodia voidaan integroida ja käyttää Railo-sovelluksen kanssa.

My Experience Building a Railo Project

my company has used ColdFusion for several projects. Yksi kaupallisista tuotteistamme on rakennettu sen varaan ja suunniteltu alun perin Adobe ColdFusion-alustalle. Tuotteemme tekee paljon raskasta työtä tietokantojen, kansainvälistymisen, dokumenttiformaatin muunnokset, PDF-esikatselut ja paljon muuta.

alkuvuodesta 2009 teimme lähteen täydellisen muuntamisen railon kanssa yhteensopivaksi. Oli vain pieniä alueita, joissa koodimme piti muuttaa, ja useimmat niistä olivat muokattuja Java-koodeja, jotka kirjoitimme, jotka yksinkertaisesti piti päivittää yhteensopivaksi Railon Java-kirjastojen kanssa. Miellyttävä yllätys tuli, kun olimme valmiita ja huomasimme railolla juostavan merkittävän suoritustason nousun.

Yhteenveto

tiivistettynä olen ollut hyvin vaikuttunut railosta. Se on yhteisöllinen; railon väki on reagoivaa ja todella välittää kehittäjäyhteisöstä, ja tuote todella tuottaa sen, mitä se väittää. Ne ovat tarjonneet sovelluskehitysalustan, joka on sekä teollisuudelle yhteensopiva että innovatiivinen. Uskon, että kaikki kokeneet web-sovelluskehittäjät osaavat arvostaa sitä, mitä Railolla on tarjottavanaan. Uskon, että tällainen tehokas integrointi, joka tehdään niin helposti vain muutamalla koodirivillä, herättää paljon huomiota. Tätä tekniikkaa kannattaa ehdottomasti pitää silmällä.

Leave a Reply