Railo Wikipedia

Railo Server, běžně označovaný jako Railo (( RY-loh) je Software s otevřeným zdrojovým kódem, který implementuje obecný skriptovací jazyk CFML na straně serveru, který se často používá k vytváření dynamických webových stránek, webových aplikací a intranetových systémů. CFML je dynamický jazyk, který podporuje více programovacích paradigmat a běží na Java Virtual Machine (JVM).

Railo byl vyvinut společností Schweizer Railo Technologies GmbH jako výkonná alternativa k aplikaci Adobe ColdFusion. V roce 2008 se Railo přesunulo na komunitní model s otevřeným zdrojovým kódem a stalo se projektem JBoss. Projekt Railo Open Source je řízen společností Railo Technologies. Vývojová práce je financována prostřednictvím smluv o poradenství a podpoře, ale každý může přispět ke kontrole kódu.

Railo bylo pojmenováno po mimozemském psu ve Star Trek Enterprise. Pes se vlastně jmenuje Rhylo, ale foneticky v němčině Je to Railo. Railo může být vyslovováno jako rhy-lo nebo rai-lo – obojí je přijatelné.

Railo Major Releases mají kódové označení pozoruhodných a věrných psů z historie.

historie

Railo začalo v roce 2002 jako studentský projekt Michaela Offnera a Gert Franze pro kompilaci CFML kódu v PHP. Toto rozhodnutí bylo učiněno kvůli všudypřítomnosti PHP. Bylo však zjištěno, že to nepřineslo požadovaný výkon a stabilitu, a rozhodnutí bylo provedeno přejít na platformu Java místo.

Projekt byl tak úspěšný, že bylo rozhodnuto pokračovat v jeho vývoji do podoby kompletního produktu. Před oficiální verzí 1.0 v dubnu 2006 bylo vydáno několik alfa a Beta verzí. Railo se vyvíjelo, ale bylo poměrně neznámé mnoha vývojářům CFML až do června 2008 na konferenci Scotch on the Rocks v Edinburghu, kdy Railo Technologies využila druhý den Keynote k oznámení partnerství s JBoss a přechodu na Open Source.

v květnu 2012 byla Bylo oznámeno založení „the Railo Company Ltd“, společnosti s ručením omezeným, která zahrnuje švýcarskou společnost Railo Technologies GmbH spolu s pěti dalšími společnostmi působícími v odvětví CFML.

Lucee Gabel

dne 29. ledna 2015 byl oznámen Projekt Lucee, odbočka kódové základny Railo 4.2, původním vývojářem Railo, který uvedl, že na Railo nebude dále pracovat. Ostatní vývojáři potvrdili, že se budou také soustředit výhradně na Lucee, a přestože the Railo Company nevydala žádné oficiální prohlášení, konsensus komunity je, že další vývoj projektu Railo je nepravděpodobný.

19.července 2016 byla společnost The Railo company rozpuštěna.

Historie Vydání

Hlavní Verze
(Kódový Název)
Podverze Datum Vydání Poznámky
0 Alfa 1 10.04.2004 první oficiální verze Railo CFML motoru.
Alpha 2 2004-05-18
Alpha 3 03.08.2004
Alpha 4 2004-10-21
Beta 1 2005-01-16 první Beta verze Railo.
Beta 2 2005
Beta 3 2005
RC 1 2005-09-23 první Release kandidát Railo byl představen německému CFUG v Mnichově.
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 první Open Source vydání Railo.
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

(Hachiko)

3.3.1.000 2011-11-03 přidána Integrovaná podpora pro ORM a mnoho dalších funkcí.
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

(jít)

4.2.0.009 2014-05-14
4.2.1.000 2014-05-21
4.2.2.005 18.12.2014 aktuální stabilní verze Railo

platformy a licence

Railo běží na JVM jako Servlet a pracuje s jakýmkoliv Servletovým kontejnerem (např. Apache Tomcat, Eclipse Jetty) nebo aplikační server (např. JBoss AS, GlassFish). Webový server (např. Apache, IIS, Nginx, Cherokee) je možné připojit pomocí konektorů, jako je mod JK, mod proxy nebo ekvivalent, ale Railo to nevyžaduje.

Railo má instalátor pro Linux, MacOS a Windows, který sdružuje Apache Tomcat. K dispozici je také předkonfigurovaný Railo Express Download s Jetty.

Od Verze 4.0 má Railo verzi příkazového řádku, která umožňuje použití CFML jako univerzálního jazyka mimo prostředí Servletu.

Railo je licencováno jako LGPL v2.1 od verze 3.1, se zdrojovým kódem dostupným na Githubu

filozofie

hlavním cílem společnosti Railo bylo poskytovat funkce ColdFusion s menšími zdroji a lepším výkonem a tým Railo Technologies nadále považuje „pomalost za chybu“ za hlavní filozofii vývoje. Mnoho výkonnostních testů ukázalo, že Railo pracuje rychleji než jiné CFML motory.

kromě toho se Railo snaží vyřešit mnoho nekonzistencí v tradičním CFML. Jedná se buď o vynucené změny chování, nebo o konfigurovatelné možnosti v Railo Administrator.

tým Railo Technologies byl vždy otevřený zpětné vazbě a aktivní na komunitních akcích CFML a chtěl by lidem připomenout, že Railo je komunitní Projekt.

Railo Technologies také vytváří silná technologická partnerství se softwarovými společnostmi CFML, včetně Blue River Interactive Group (vývojář Mura CMS), CONTENS Software GmbH (vývojář CONTENS CMS) a Intergral GmbH (vývojář FusionReactor a FusionDebug), aby váš Software fungoval dobře s Railo. Kromě toho nabízí Railo Technologies formální „partnerské programy“ pro řešení (vývoj), Hosting a školení.

Railo Application Server je v současné době v průměru 7.000 krát staženo (a roste) za měsíc.

Railo je používáno řadou společností, včetně:

vlastnosti

  • podporuje objektově orientované programování s dědičností, Mixiny a Meta třídami
  • dynamické psaní a dekódování
  • literární notace pro pole a struktury
  • argumenty pojmenované z proměnných v interpolaci
  • , volitelné argumenty a výchozí argumenty
  • tři úrovně oblasti proměnných objektu: Toto (objekt veřejný), proměnné (objekt soukromý), Místní (funkce soukromá)
  • rozsah více globálních proměnných: požadavek, relace, klient, aplikace, Server, Cluster
  • různé uživatelem poskytované proměnné oblasti: Formulář (Post), URL (Get), Cookie,CGI
  • automatické čištění paměti (prostřednictvím JVM)
  • zpracování globálních a místních výjimek (prostřednictvím onError a try/catch)
  • vlastní chování při odesílání (prostřednictvím onMissingMethod a implicitní Getter a Setter)
  • implicitní převod objektu (prostřednictvím _toString, _toNumeric, _toBoolean, _toDate)
  • nativní vlákna
  • podpora Unicode, kódování více znaků a i18n
  • Velká standardní knihovna pokrývající obecné požadavky na vývoj webových aplikací
  • Railo extension Store a Extension Manager pro snadnou instalaci dalšího softwaru a rozšíření
  • nativní Plug-In API v CFML nebo Java
  • nativní zpracování pro snadné vytváření a používání webových služeb
  • samostatní Administrátoři GUI pro jednotlivé webové kontexty a globální správce serveru
  • všechna nastavení správce lze konfigurovat programově nebo pomocí úprav konfiguračních souborů XML
  • nativní zdroje pro všechny integrované značky a funkce systému souborů.
  • Clustering a synchronizace pro tradiční a cloudové servery
  • Správce úloh pro plánování opakovaných akcí nebo opakování neúspěšných událostí
  • Nativní podpora pro Hibernate ORM
  • velké množství funkcí pro úpravu obrázků
  • brány událostí pro asynchronní spuštění kódu
  • nativní podpora pro různé mechanismy ukládání do mezipaměti
  • nativní Správa relací (relace CFML nebo J2EE) s onSessionStart a onSessionEnd.
  • integrované ověření uživatele a funkce role.

zabezpečení

CFML má vestavěnou funkci zabraňující vkládání kódu pomocí tagu cfqueryparam a funkce, jako je HtmlEditFormat, XmlFormat, JsStringFormat. K dispozici jsou také implementace CFML třetích stran OWASP Enterprise Security API. a projekt AntiSamy.

jedním z nejdůležitějších architektonických rozhodnutí společnosti Railo bylo dodržování modelu Jee Servlet s podporou několika nezávislých webových kontextů na jednom serveru. To je důležitý bezpečnostní faktor, protože zabraňuje vzájemnému rušení nesouvisejících aplikací, k němuž může dojít na sdíleném serveru ColdFusion (který má pouze jeden webový kontext).

Railo implementuje příklady jazyka CFML, stejně jako CFScript, naleznete v části syntaxe CFML.

rozdíly

rozdíly od ostatních jazyků

CFML má syntaxi založenou na značkách, která se vizuálně liší od většiny ostatních jazyků. Kromě toho se podobá jiným dynamickým jazykům s následujícími výjimkami:

  • CFML obsahuje dvě syntaxe, syntaxi založenou na značkách (není kompatibilní s XML) a syntaxi jazyka C nazvanou cfscript.
  • pole v CFML jsou indexována od jedné, ne od nuly.
  • CFML podporuje jak uspořádané, tak pojmenované Argumenty funkcí nebo jejich kombinaci.
  • CFML nemá statické proměnné.

rozdíly od Adobe ColdFusion

zatímco Railo implementuje CFML a je obecně kompatibilní s Adobe ColdFusion (ACF), původním motorem CFML, existují některé pozoruhodné rozdíly mezi těmito dvěma:

  • Railo je Open Source Software pro LGPL v2.1. ACF je proprietární Technologie.
  • Railo používá Multi-webovou kontextovou architekturu ve srovnání s jednotlivým webovým kontextem ACF.
  • pomocí Railo můžete vytvářet vlastní funkce pomocí standardního CFML.
  • Railo nemůže dešifrovat (nebo spustit) šablony zašifrované pomocí šifrovacího mechanismu ACF.
  • Railo má výrazně rychlejší cyklus vydání pro hlavní, menší a Patch verze.
  • v Railo mají oblasti vždy přednost. V ACF může vytvoření proměnné s názvem “ Url “ zablokovat přístup k oblasti URL. V Railo může být na proměnnou pouze jako “ variabilní.Url “ přístup.
  • Railo vyhledá CFC ve vlastní cestě značky pouze v případě, že je to definováno administrátorem (místo toho existuje vlastní cesta CFC).
  • Railo 4.x zavádí rozhraní příkazového řádku (CLI), které umožňuje spouštět skripty CFML z příkazového řádku
  • Railo umožňuje použití objektových metod. Takže místo použití array Append (arr, „value“), můžete napsat: arr.append („hodnota“). Append („anotherValue“).

Viz také

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.