Bevezetés a Railo Open Source-ba
a Railo egy nyílt forráskódú Java alkalmazáskiszolgáló, amely megvalósítja a CFML-t (ColdFusion Markup Language), az Adobe kereskedelmi termékének címkealapú nyelvét “ColdFusion.”Teljesítménye kiváló, és olyan funkciókat tartalmaz, amelyek jelentősen növelik a termelékenységet.
Railo egy viszonylag új, de már így néhány lenyűgöző hullámai az iparban az utóbbi időben. Ez a cikk a Railo néhány kritikus előnyeiről szól, és miért érdemes komolyan keresni a webes alkalmazások fejlesztését.
a ColdFusion nem halott?
néhány évvel ezelőtt megjelent egy cikk, amely 10 halott vagy haldokló technológiát nevezett meg, és sok ember meglepetésére a ColdFusion szerepelt a listán. Ez sok hullámot okozott. Egy dolog a CFML fejlesztőkkel kapcsolatban-szenvedélyesek a programozási nyelvük iránt!
a ColdFusion mérsékelt sikert ért el bizonyos vertikális piacokon, de az amerikai kormány különösen jól elfogadta. Összehasonlítva a domináns fejlesztési nyelvekkel, úgy tűnt, hogy a CFML soha nem talál valódi szívességet a tömegekkel szemben. Mivel a ColdFusion-t úgy tervezték át, hogy teljes egészében Java-on fusson, és az Adobe Flex néhány évvel ezelőtti megérkezésével, amely integrálja a Flash-t és a ColdFusion-t, ez egy kicsit megváltozott. Az Adobe ColdFusion terméke olyan jól integrálódik a Flex-szel, hogy új érdeklődést váltott ki.
az Adobe ColdFusion egyik legnagyobb panasza mindig az ár volt. Tapasztalatom szerint a CFML fejlesztők a LAMP (Linux, Apache, MySQL, PHP) fejlesztők iparági társainak tartják magukat, akik minden nyílt forráskódú eszközt használnak. A LAMP fejlesztők többsége sokkal magasabbnak tartja képességeit, mint a CFML fejlesztőké. Ez csak a CFML Fejlesztők évek óta táplálta a dühöt, akik azt állítják, hogy a ColdFusion megvásárlásába történő befektetés gyors megtérülést jelent, mivel a CFML sokkal produktívabb.
most jön a Railo, amely ingyenes és nyílt forráskódú megoldást kínál a CFML Fejlesztők álmaira. Nem csak ingyenes, hanem fantasztikusan teljesít, stabil, és ésszerűen gyakran frissül. Ez jó hír a CFML számára, amelyet véleményem szerint erősen alulértékelnek, főleg az évek során tapasztalt gyenge marketing-és eladási árak miatt. CFML valójában elég erős és meglepően produktív nyelv, és úgy tervezték, hogy egy rad (Rapid Application Development) eszköz. Jelentősen jobb termékké nőtte ki magát, és minden bizonnyal több tiszteletet érdemel, mint volt. De elég a CFML-ről, beszéljünk arról, hogy miért találom railót olyan lenyűgözőnek, és mi különbözteti meg magát a versenytől.
mit lehet tenni a Railo-val?
talán a legjobb válasz erre az, ha azt mondja: “mit nem tudsz csinálni Railóval?”A CFML nyelv lényegében egy nagy java tag könyvtár. A CFML az évek során lenyűgöző könyvtárrá nőtte ki magát, és a Railo mindent támogat, amit az Adobe terméke támogat, ami a mainstream használatban van. (Van némi különbség a támogatás között, mivel mind a Railo, mind az Adobe kiadja termékeinek új verzióit).
a Railo nyelvének alapvető jellemzői Könnyen megtanulható címkéket biztosítanak az adatbázis-lekérdezésektől kezdve a dinamikus e-mail üzenetek küldésén át az FTP és az Amazon S3 tárolóval való szkriptkapcsolatokig. Nagyjából bármi, amit a PHP-vel meg lehet csinálni, meg lehet csinálni a Railo-val. Itt van a fogás-általánosságban elmondható, hogy kevesebb időbe telik egy megoldás megvalósítása CFML használatával, mint a PHP-vel, ASP.net vagy tiszta Java.
használja a CFML-t az alapokhoz; kiterjeszteni a Java használatával.
míg a Railo sok beépített funkciót ad, a helyzet valódi igazsága az, hogy Java A motorháztető alatt. Az összes címke és függvény végül Java bájtkódként kerül lefordításra és futtatásra. A nyelv azonban jól megtervezett, így keverheti és illesztheti a CFML és a Java kódot.
például, ha szöveges fájlban szeretne olvasni, használhatja a beépített cffile címkét:
<cffile action= "olvassa el" file= " c: webüzenet.txt "variable=" strContent " ></cffile>
ez a szövegfájl tartalmában olvasható, és a megadott változóban tárolja.
A tartalom megjelenítéséhez a webböngészőben így kell kiadnia:
< cfoutput> # strContent # < / cfoutput>
annak szemléltetésére, hogy a Java hogyan használható közvetlenül a kódban, ugyanezt a feladatot Java objektumokkal lehet elvégezni a beépített CFML címkék helyett:
<cfobject type= "Java" class=" java.io.FileReader"Action=" Create"name="myFileReader" ><cfset Result = fileReader.init ("c: webüzenet.txt");<cfoutput>#strContent#</cfoutput>
ez a két kis kóddarab ugyanazokat a célokat éri el. A lényeg az, hogy a CFML nyelv nem korlátozódik csak CFML, akkor példányosítani és használni bármilyen Java objektum bárhol a kódot.
ez hihetetlenül rugalmasvá teszi a nyelvet, mivel a CFML címkéket gyors és egyszerű feladatokhoz, a Java-t pedig nehéz feladatokhoz használhatja, ahol szükséges.
telepítési és fejlesztési környezetek
a Railo összes verziója letölthető “express”, “server” vagy “custom” telepítésként. Az express edition rendkívül könnyű a fejlesztők számára, hogy felkeljen és fut, és általában magában foglalja a zip fájl kicsomagolását a helyi rendszerre és elindítását. A szerver csomag jön Caucho gyanta, egy nagyon nagy teljesítményű java alkalmazás szerver. (Mellékjegyzet – a Resin-hez mellékelt néhány eszköz is elég lenyűgöző, beleértve a PHP all-java implementációját is!). Az egyéni telepítési csomag a Railo indítására szolgál más Java servlet konténereken, például a Tomcat vagy a Weblogic.
a Railo beállítása egy termelési szerveren nem volt nehéz, bár ez egy kicsit több, mint a kedvenc PHP verzió rpm-jének telepítése, de a dokumentáció könnyen megtalálható a Railo webhelyén és más, a Google-on keresztül talált webhelyeken.
az Adobe termékéhez hasonlóan a Railo webes adminisztrációs eszközökkel is rendelkezik a kiszolgáló és az alkalmazásspecifikus beállítások és erőforrások kezeléséhez. Ez egy nagy lépés a PHP és a Linux világához képest, ahol általában sok alkalmazás beállítását (például adatforrásokat) kell konfigurálni a konfigurációs fájlokban. A Railo adminisztrátor néhány lépéssel túlmutat az Adobe-n is, és elérhetővé teszi a kontextusspecifikus adminisztrációs konzolokat, így az egyes alkalmazások és webhelyek meghatározhatják saját sandboxos adatforrásaikat, virtuális leképezéseiket és így tovább. Ez egy nagyon szép érintés, és már régóta kért funkció.
ahol Railo ragyog
már áttekintettem néhány okot, amiért Railo lenyűgöző. Eltekintve attól, hogy egy nagyon erős RAD, a teljesítmény, hogy a riválisok vagy veri Adobe, Railo megkülönbözteti magát tovább néhány lenyűgöző funkciók.
virtuális fájlrendszerek és leképezések
fejlesztőként mindannyiunknak meg kellett küzdenie a távoli vagy tömörített fájlok kezelésével egyszerre. Ez a funkció a Railo-ban néhány egérkattintással elvégzi azt, ami több száz sornyi kódot igényel. A Railo lehetővé teszi a távoli fájlrendszerek, például az FTP, a meghajtó megosztások, sőt az Amazon S3 vödrök leképezését, és az alkalmazás virtuális elérési útjához rendelheti őket! Ez azt jelenti, hogy az egyszerű beépített függvényeket használhatja a fájlkezeléshez, és úgy kezelheti ezeket a fájlokat, mintha közvetlenül a helyi fájlrendszerben ülnének. A támogatás még tovább megy, és lehetővé teszi a Java jar fájlok és .zip fájlok, így dinamikusan hivatkozhat és futtathat kódot a tömörített archívumokban.
az új leképezések beállítása egy point-and-click ügy a Railo adminisztrátorban, vagy programozható.
Application Distribution and Source Code Security
a Java világ mindig is egy lépéssel (rendben, több lépéssel) megelőzte a webes alkalmazásfejlesztőket az alkalmazások csomagolásában és terjesztésében. Sok fejlesztőnek van saját otthoni módszere a webhely telepítésére, és sok webfejlesztő alkalmazás, például a Dreamweaver, rendelkezik FTP alapú telepítési módszerrel. Végül ez általában nem védett forráskód átadását jelenti.
a CFML fejlesztése ugyanúgy történt (igen, az Adobe-nak volt módja a fordításra .cfm sablonok, de a kutatásom azt mutatja, hogy egyszerre ügyetlen a használata, és nem túl népszerű). A Railo a” Java world ” csomag telepítését hozza a CFML fejlesztésébe. Lefordíthat egy teljes alkalmazást Java bájtkódra, tömörítheti egy jar fájlba, és telepítheti bármely más Railo szerverre. A Railo még ahhoz is elég okos, hogy lehetővé tegye egy távoli jar fájl leképezését egy FTP-webhelyen, és helyi webes alkalmazásként futtassa. Ez azt jelenti, hogy minden szükséges eszközzel rendelkezik a webes alkalmazások telepítéséhez, és nem fedheti fel a forrást.
beépített AMF támogatása Flex/Flash alkalmazások
mivel az Adobe nyílt forráskódú a BlazeDS AMF eszközök, Railo integrálta őket, hogy egy könnyen használható rendszer, amely “csak működik” a Flash alkalmazások.
alkalmazások közötti integráció, PDF és videó manipuláció
a CFML már nagy képességgel rendelkezik a nagyszámú adatbázisrendszer integrálására, és kibővíthető a hatalmas számú nyílt forráskódú Java projekt bármelyikével.
a Railo használható az Amazon webszolgáltatásokkal való beszélgetésre, mint például az EC2 és az S3 a felhőalapú számítástechnikai alkalmazásokhoz. A Railo beépített funkciókat is tartalmaz a fájlkonverziókhoz, például dinamikusan generál PDF-eket, valamint programozott szerkesztést és formátumkonverziókat a digitális videókhoz. Néhány egyszerű sornyi kód konvertálhatja a videofájlokat különböző formátumokba, kivonhatja a bélyegképeket a webes előnézetekhez, majd eldobhatja őket az Amazon S3-ra, hogy a felhőből kiszolgálják őket. Nagyon klassz dolgok, érdemes megnézni néhány példát a Railo weboldalán.
ahogy átnézed az ezeket a funkciókat használó kódot, elég egyszerűnek tűnik, és elképesztő, hogy a Railo gyerekjátéknak tűnik, de a színfalak mögött komoly rendszerintegráció zajlik. A Railo nagyon egyszerűvé teszi ezeket a képességeket bármilyen webes alkalmazáshoz.
végtelenül bővíthető Java
mint már említettük, ez könnyen hivatkozhat Java osztályok belül CFML oldalakon. Mivel maga a Railo egy Java konténerben fut, ez azt jelenti, hogy a Java világ bármely osztálya vagy kódja integrálható és használható egy Railo alkalmazással.
tapasztalatom a Railo projekt építésében
a cégem több projekthez használta a ColdFusion-t. Az egyik kereskedelmi termékünk erre épül, és eredetileg az Adobe ColdFusion számára készült. A termék nem egy csomó nehéz emelés adatbázisok, nemzetközivé, dokumentum formátum konverziók, PDF előnézetek és még sok más.
2009 elején elvégeztük a forrás teljes átalakítását, hogy kompatibilis legyen a Railo-val. Csak kisebb területek voltak, ahol a kódunkat meg kellett változtatni, és a legtöbbjük egyedi Java kóddal volt, amelyet írtunk, amelyet egyszerűen frissíteni kellett, hogy kompatibilis legyen a Railo Java könyvtáraival. A kellemes meglepetés akkor jött, amikor végeztünk, és észrevettünk egy jelentős teljesítménynövekedést a Railo-n.
összefoglaló
összefoglalva, nagyon lenyűgözött Railo. Közösségvezérelt; a Railo emberei reagálnak és valóban törődnek a fejlesztői közösséggel, és a termék valóban azt nyújtja, amit követel. Olyan alkalmazásfejlesztési platformot biztosítottak, amely egyszerre kompatibilis az iparral és innovatív. Úgy gondolom, hogy minden tapasztalt webalkalmazás-fejlesztő képes lesz értékelni, amit Railo kínál. Úgy gondolom, hogy az ilyen erőteljes integráció olyan könnyen, csak néhány sornyi kóddal történik, sok figyelmet fog felhívni. Ez határozottan egy olyan technológia, amelyet szemmel kell tartania.
Leave a Reply