Railo-Wikipedia

Railo Server, közkeletű nevén Railo (( RY-loh) egy nyílt forráskódú szoftver, amely megvalósítja a szerver oldali közös programozási nyelv CFML, amely gyakran használják, hogy dinamikus weboldalak, webes alkalmazások és intranetes rendszerek. A CFML egy dinamikus nyelv, amely több programozási paradigmát támogat, és a Java virtuális gépen (JVM) fut.

a Railo-t a svájci Railo Technologies GmbH fejlesztette ki az Adobe ColdFusion hatékony alternatívájaként. 2008-ban Railo átállt egy nyílt forráskódú közösségi modellre, és JBoss projekt lett. A Railo nyílt forráskódú projektet a Railo Technologies vezeti. A fejlesztési munkát tanácsadási és támogatási szerződések finanszírozzák, de bárki hozzájárulhat a vizsga kódjához.

Railót egy idegen kutyáról nevezték el a Star Trek Enterprise-on. A kutyát valójában Rhylo-nak hívják, de fonetikusan németül Railo. Így a Railo akár rhy-lo-ként, akár rai – lo-ként is kiejthető-mindkettő elfogadható.

a Railo Major kiadásai a történelem nevezetes és hűséges kutyáinak kódnevét tartalmazzák.

történelem

a Railo 2002-ben indult Michael Offner és Gert Franz diákprojektjeként, hogy CFML kódot fordítson PHP-ben. Ezt a döntést a PHP mindenütt jelenléte miatt hozták meg. Azonban kiderült, hogy ez nem adta meg a kívánt teljesítményt és stabilitást, és úgy döntöttek, hogy inkább a Java platformra váltanak.

a projekt annyira sikeres volt, hogy úgy döntöttek, hogy tovább fejlesztik a teljes terméket. Számos alfa és béta verzió jelent meg a hivatalos 1.0 verzió előtt 2006 áprilisában. A Railo-t tovább fejlesztették, de sok CFML-fejlesztő számára viszonylag ismeretlen volt 2008 júniusáig az Edinburgh-i Scotch on the Rocks konferencián, amikor a Railo Technologies a második napi keynote segítségével bejelentette a JBoss-szal való partnerséget és a nyílt forráskódra való áttérést.

2012 májusában, a vö. Target Conference, a létesítmény “The Railo Company Ltd” bejelentették, korlátolt felelősségű társaság, amely magában foglalja a svájci cég Railo Technologies GmbH együtt öt másik vállalat működik a CFML iparban.

Lucee Gabel

Január 29-én 2015-ben a Lucee projektet, a Railo 4.2 kódbázis villáját, a Railo eredeti fejlesztője jelentette be, aki kijelentette, hogy nem folytatja a Railo munkáját. A többi fejlesztő megerősítette, hogy kizárólag Lucee-ra fognak összpontosítani, és bár a Railo vállalat nem tett hivatalos nyilatkozatot, a közösség egyetértése szerint a Railo projekt továbbfejlesztése valószínűtlen.

július 19, 2016, A Railo cég feloszlott.

Publikációs Előzmények

Major Version
(Kódnév)
Minor Version Megjelenés Dátuma Megjegyzések
0 Alfa 1 10.04.2004 a Railo CFML motor első hivatalos verziója.
Alpha 2 2004-05-18
Alpha 3 03.08.2004
Alpha 4 2004-10-21
Beta 1 2005-01-16 a Railo első béta verziója.
Beta 2 2005
Beta 3 2005
RC1 2005-09-23 a Railo első kiadási jelöltjét Münchenben mutatták be a német CFUG-nak.
1.0 1.0.0.000 2006-04
2.0 2.0.0.000 2007-09-10
2.0.1.000
2.0.2.000
3.0 3.0.0.000 2008-09-09
3.0.1.000
3.0.2.000
3.0.3.000
3.1

( Barry)

3.1.0.000 2009-08-12 a Railo első nyílt forráskódú kiadása.
3.1.1.000 2009-08-11
3.1.2.000 2010-11-26
3.2

( Greyfriars Bobby)

3.2.1.000 2011-12-24
3.2.2.000 2011-03-18
3.2.3.000 2011-06-10
3.3

( Hacsiko)

3.3.1.000 2011-11-03 Hozzáadott beépített támogatása ORM és sok más funkciók.
3.3.4.003 2012-06-25
4.0

( Appollo)

4.0.0.013 2012-07-02
4.0.5.004 09.07.2013
4.1

( Endal)

4.1.2.005 2013-12-11 .
4.2

( menj)

4.2.0.009 2014-05-14
4.2.1.000 2014-05-21
4.2.2.005 18.12.2014 a Railo jelenlegi stabil változata

platformok és licenc

a Railo servlet-ként fut a JVM-en, és bármilyen servlet-tárolóval (pl. Apache Tomcat, Eclipse Jetty) vagy alkalmazáskiszolgálók (például JBoss AS, GlassFish). Lehetőség van egy webszerver (például Apache, IIS, Nginx, Cherokee) csatlakoztatására olyan csatlakozókon keresztül, mint a mod jk, a mod proxy vagy azzal egyenértékű, de erre a Railo nem igényli.

a Railo rendelkezik egy Linux, macOS és Windows telepítővel, amely az Apache Tomcat-ot csomagolja. Van egy előre konfigurált Railo Express letöltés is a mólóval.

a 4.verziótól.0, a Railo rendelkezik egy parancssori verzióval, amely lehetővé teszi a CFML általános célú nyelvként való használatát a servlet környezeten kívül.

a Railo licencelt LGPL v2.1 A V3.1 óta, a forráskód elérhető a Githubon

filozófia

a Railo elsődleges célja az volt, hogy kevesebb erőforrással és jobb teljesítménnyel biztosítsa a ColdFusion funkcionalitását, és a Railo Technologies csapata továbbra is központi fejlesztési filozófiaként kezeli a “lassúságot mint hibát”. Számos teljesítményteszt kimutatta, hogy a Railo gyorsabban működik, mint más CFML motorok.

ezenkívül Railo számos következetlenséget próbál kijavítani a hagyományos CFML-ben. Ezek vagy kényszerített viselkedésmódosítások, vagy konfigurálható beállítások a Railo Rendszergazdában.

a Railo Technologies csapata mindig is nyitott volt a visszajelzésekre és aktív volt a CFML közösségi eseményein, és szeretné emlékeztetni az embereket, hogy a Railo egy közösségi projekt.

a Railo Technologies szoros technológiai partnerséggel rendelkezik a CFML szoftvercégekkel is, köztük a Blue River Interactive Group (A Mura CMS fejlesztője), a CONTENS Software GmbH (a CONTENS CMS fejlesztője) és az Intergral GmbH (a FusionReactor és a FusionDebug fejlesztője) annak biztosítása érdekében, hogy szoftverük jól működjön a Railo-val. Ezenkívül a Railo Technologies hivatalos “partnerprogramokat” kínál a megoldások (fejlesztés), a tárhely és a képzés számára.

a Railo alkalmazáskiszolgáló jelenleg átlagosan 7.Letöltött (és növekvő) 000 alkalommal havonta.

Railo által használt számos vállalat, többek között:

tulajdonságok

  • támogatja az objektum-orientált programozás öröklődés, mixins és meta osztályok
  • dinamikus gépelés és kacsa gépelés
  • literális jelölés tömbök és struktúrák
  • beágyazása argumentumok által megnevezett változók strings (
  • , opcionális argumentumok és standard argumentumok
  • az objektum változó tartományának három szintje: Ez (objektum nyilvános), változók (objektum privát), helyi (funkció privát)
  • számos globális változó hatóköre: kérés, munkamenet, kliens, alkalmazás, szerver, fürt
  • különböző felhasználó által biztosított változó hatókörök: Űrlap (Post), URL (Get), Cookie, CGI
  • automatikus szemétgyűjtés (JVM-en keresztül)
  • globális és helyi kivételkezelés (onError és try/catch)
  • felhasználó által definiált feladási viselkedés (onMissingMethod és implicit getterek és szetterek)
  • Implicit objektumkonverzió (by _toString, _toNumeric, _toBoolean, _toDate)
  • natív szálak
  • Unicode, több karakteres kódolás és i18n támogatása
  • nagy szabványos könyvtár, amely lefedi az Általános webfejlesztési követelményeket
  • Railo Extension Store és Extension Manager az egyszerű telepítés további szoftverek és bővítmények
  • Native plug-in API CFML vagy Java
  • Native kezelése az egyszerű létrehozása és fogyasztása web szolgáltatások
  • külön GUI rendszergazdák az egyes webes környezetben, valamint a globális szerver rendszergazda
  • minden Rendszergazdai beállítások konfigurálhatók programozással vagy szerkesztésével XML konfigurációs fájlok vannak konfigurálva
  • natív erőforrások minden beépített-a fájlrendszer címkéiben és funkcióiban.
  • fürtözés és szinkronizálás hagyományos és felhőkiszolgálókhoz
  • Feladatkezelő ismételt műveletek ütemezéséhez vagy sikertelen események ismételt kipróbálásához
  • natív támogatás a hibernált ORM számára
  • nagyszámú képszerkesztő funkció
  • Eseményátjárók aszinkron kódfuttatáshoz
  • natív támogatás különféle gyorsítótárazási mechanizmusokhoz
  • natív Munkamenetkezelés (CFML munkamenetek vagy J2EE munkamenetek) onSessionStart és onSessionEnd triggerekkel.
  • integrált felhasználói hitelesítés és szerepkör funkció.

biztonság

a CFML beépített funkcióval rendelkezik, hogy megakadályozza a kód befecskendezését a cfqueryparam címkén keresztül, valamint olyan funkciókkal, mint HtmlEditFormat, XmlFormat, JsStringFormat. Az OWASP Enterprise Security API harmadik féltől származó CFML implementációi is vannak. és az AntiSamy project.

a Railo egyik legfontosabb építészeti döntése a JEE servlet modell követése volt, több független webes kontextus támogatásával egyetlen szerveren. Ez fontos biztonsági tényező, mivel megakadályozza, hogy a nem kapcsolódó alkalmazások zavarják egymást, mint egy megosztott ColdFusion szerveren (amelynek csak egyetlen webes környezete van).

Railo implementálja a CFML nyelvet – példák és CFScript megtalálható a CFML szintaxis szakaszban.

különbségek

különbségek más nyelvektől

a CFML címkealapú szintaxissal rendelkezik, amely vizuálisan különbözik a legtöbb más nyelvtől. Ettől eltekintve hasonló a többi dinamikus nyelvhez, a következő kivételekkel:

  • a CFML két szintaxist tartalmaz, egy tag alapú szintaxist (nem XML-kompatibilis) és egy cfscript nevű C szintaxist.
  • tömbök CFML indexelt egy és nem nulla.
  • a CFML mind a rendezett, mind a megnevezett függvény argumentumokat vagy kombinációkat támogatja.
  • a CFML-nek nincs statikus változója.

különbségek az Adobe ColdFusion-tól

míg a Railo CFML-t valósít meg, és általában kompatibilis az Adobe ColdFusion-nal (ACF), az eredeti CFML motorral, van néhány figyelemre méltó különbség a kettő között:

  • Railo egy nyílt forráskódú szoftver LGPL v2.1. Az ACF egy szabadalmaztatott technológia.
  • a Railo több webes kontextus architektúrát használ az ACF egyetlen webes kontextusához képest.
  • a Railo lehetővé teszi egyedi funkciók létrehozását a szabványos CFML használatával.
  • a Railo nem tudja visszafejteni (vagy végrehajtani) az ACF titkosítási mechanizmusával titkosított sablonokat.
  • a Railo jelentősen gyorsabb kiadási ciklussal rendelkezik a major, minor és patch kiadásokhoz.
  • Railóban a területek mindig elsőbbséget élveznek. Az ACF-ben az “Url” nevű változó létrehozása blokkolhatja az URL-területhez való hozzáférést. A Railo-ban a változót csak “Változókként” érheti el.Url ” elérhető.
  • a Railo csak akkor keres CFC-ket az egyéni címke elérési útján, ha ezt a rendszergazda ennek megfelelően definiálta (ehelyett külön CFC elérési út van).
  • Railo 4.x bevezet egy parancssori felületet (CLI), amely lehetővé teszi a CFML szkriptek végrehajtását a parancssorból
  • a Railo lehetővé teszi az objektum metódusok használatát. Tehát a tömb hozzáfűzése helyett (arr, “érték”) írható: arr.hozzáfűzni (“érték”). Append(“anotherValue”).

Lásd még

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.