Railo – Wikipedia

Railo Server, denumit în mod obișnuit Railo (( ry-loh) este un software open source care implementează limbajul comun de scripting CFML din partea serverului, care este adesea folosit pentru a crea site-uri web dinamice, aplicații web și sisteme intranet. CFML este un limbaj dinamic care acceptă mai multe paradigme de programare și rulează pe Java Virtual Machine (JVM).

Railo a fost dezvoltat de compania elvețiană Railo Technologies GmbH ca o alternativă puternică la Adobe ColdFusion. În 2008, Railo a trecut la un model comunitar open source și a devenit un proiect JBoss. Proiectul Railo Open Source este condus de Railo Technologies. Lucrările de dezvoltare sunt finanțate prin contracte de consultanță și asistență, dar oricine poate contribui cod la examen.

Railo a fost numit după un câine extraterestru în Star Trek Enterprise. Câinele este de fapt numit Rhylo, dar fonetic în Germană este Railo. Astfel, Railo poate fi pronunțat fie ca rhy-lo, fie ca rai – lo-ambele sunt acceptabile.

lansările majore Railo au un nume de cod de câini notabili și loiali din istorie.

History

Railo a început în 2002 ca un proiect Studențesc de Michael Offner și Gert Franz pentru a compila codul CFML în PHP. Această decizie a fost luată datorită ubicuității PHP. Cu toate acestea, sa constatat că acest lucru nu a dat performanța și stabilitatea dorite, iar decizia a fost luată pentru a trece la platforma Java în schimb.

proiectul a fost atât de reușit încât s-a decis să se dezvolte în continuare într-un produs complet. Mai multe versiuni alfa și beta au fost lansate înainte de versiunea oficială 1.0 în aprilie 2006. Railo a fost dezvoltat în continuare, dar a fost relativ necunoscut pentru mulți dezvoltatori CFML până în iunie 2008 la Conferința Scotch on the Rocks din Edinburgh, când Railo Technologies a folosit nota principală a doua zi pentru a anunța un parteneriat cu JBoss și o trecere la open source.

în Mai 2012, la cf. Conferința țintă, a fost anunțată înființarea „the Railo Company Ltd”, o societate cu răspundere limitată care include compania elvețiană Railo Technologies GmbH împreună cu alte cinci companii care operează în industria CFML.

Lucee Gabel

pe 29 ianuarie 2015, proiectul Lucee, o bifurcație a bazei de cod Railo 4.2, a fost anunțat de dezvoltatorul inițial al Railo, care a declarat că nu va continua să lucreze la Railo. Ceilalți dezvoltatori au confirmat că se vor concentra exclusiv pe Lucee și, deși compania Railo nu a făcut o declarație oficială, consensul comunității este că dezvoltarea ulterioară a proiectului Railo este puțin probabilă.

la 19 iulie 2016, compania Railo a fost dizolvată.

Istoricul Publicațiilor

Versiune Majoră
(Nume De Cod)
Versiune Minoră Data Lansării Note
0 Alfa 1 10.04.2004 prima versiune oficială a motorului CFML Railo.
alfa 2 2004-05-18
alfa 3 03.08.2004
alfa 4 2004-10-21
Beta 1 2005-01-16 prima versiune beta a Railo.
Beta 2 2005
Beta 3 2005
RC1 2005-09-23 primul candidat de lansare al Railo a fost prezentat CFUG-ului German din Munchen.
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

( Florin)

3.1.0.000 2009-08-12 prima versiune open source a 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 Adăugat suport încorporat pentru ORM și multe alte caracteristici.
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

( du-te)

4.2.0.009 2014-05-14
4.2.1.000 2014-05-21
4.2.2.005 18.12.2014 versiunea actuală stabilă a Railo

platforme și licență

Railo rulează ca un servlet pe JVM și funcționează cu orice container servlet (de ex. Apache Tomcat, Eclipse Jetty) sau servere de aplicații (de exemplu, JBoss AS, GlassFish). Este posibil să conectați un server web (de exemplu, Apache, IIS, Nginx, Cherokee) prin conectori precum mod jk, mod proxy sau un echivalent, dar acest lucru nu este necesar de Railo.

Railo are un program de instalare Pentru Linux, macOS și Windows care include Apache Tomcat. Există, de asemenea, o descărcare pre-configurată Railo Express cu Jetty.

din versiunea 4.0, Railo are o versiune de linie de comandă care permite CFML să fie utilizat ca limbaj de uz general în afara mediului servlet.

Railo a fost licențiat ca LGPL v2.1 de la v3.1, cu codul sursă disponibil pe Github

Filosofie

un obiectiv principal al Railo a fost de a oferi funcționalitatea ColdFusion cu mai puține resurse și performanțe mai bune, iar echipa Railo Technologies continuă să trateze „lentoarea ca pe un bug” ca pe o filozofie centrală de dezvoltare. Multe teste de performanță au arătat că Railo funcționează mai repede decât alte motoare CFML.

în plus, Railo încearcă să remedieze multe inconsecvențe în CFML tradițional. Acestea sunt fie schimbări de comportament forțate, fie opțiuni configurabile în administratorul Railo.

echipa Railo Technologies a fost întotdeauna deschisă la feedback și activă la evenimentele comunitare CFML și dorește să reamintească oamenilor că Railo este un proiect comunitar.

Railo Technologies are, de asemenea, parteneriate tehnologice puternice cu companii de software CFML, inclusiv Blue River Interactive Group (Dezvoltator Al Mura CMS), CONTENS Software GmbH (dezvoltator al CONTENS CMS) și Intergral GmbH (Dezvoltator Al FusionReactor și FusionDebug) pentru a se asigura că software-ul lor funcționează bine cu Railo. În plus, Railo Technologies oferă „programe partenere” formale pentru soluții (dezvoltare), găzduire și instruire.

serverul de aplicații Railo are în prezent o medie de 7.Descărcat (și în creștere) 000 ori pe lună.

Railo este utilizat de un număr de companii, inclusiv:

proprietăți

  • suportă programarea orientată pe obiecte cu moștenire, mixine și clase meta
  • tastarea dinamică și tastarea rață
  • notație literală pentru matrice și structuri
  • încorporarea argumentelor numite de variabile în șiruri (interpolare)
  • , argumente opționale și argumente standard
  • trei niveluri ale domeniului variabil obiect: Acest (obiect public), variabile (obiect privat), Local(funcție privată)
  • domeniul de aplicare al mai multor variabile globale: cerere, sesiune, Client, aplicație, Server, Cluster
  • diverse domenii variabile furnizate de utilizator: Formular (Post), URL(Get), Cookie, CGI
  • colectarea automată a gunoiului (prin JVM)
  • manipularea excepțiilor globale și locale (prin onError și try/catch)
  • comportamentul de expediere definit de utilizator (de onMissingMethod și getters implicite și setteri)
  • conversie obiect Implicit (de _toString, _toNumeric, _toBoolean, _toDate)
  • Fire Native
  • suport pentru Unicode, codare multi-caractere și i18n
  • bibliotecă standard mare care acoperă cerințele generale de dezvoltare web
  • Magazin de extensii Railo și Manager de extensii pentru instalarea ușoară a software-ului și extensiilor suplimentare
  • API plug-in nativ în CFML sau Java
  • manipulare nativă pentru crearea și consumul ușor de servicii web
  • administratori GUI separați pentru contexte web individuale, precum și un administrator de server global
  • toate setările de administrator pot fi configurate programatic sau prin editarea fișierelor de configurare XML sunt configurate
  • resurse în etichetele și funcțiile sistemului de fișiere.
  • Clustering și sincronizare pentru serverele tradiționale și cloud
  • Task Manager pentru programarea acțiunilor repetate sau încercarea de evenimente eșuate din nou
  • suport nativ pentru hibernare ORM
  • număr mare de funcții de editare a imaginilor
  • gateway-uri de evenimente pentru executarea codului asincron
  • suport nativ pentru o varietate mecanisme
  • Managementul sesiunii native (sesiuni CFML sau sesiuni J2EE) cu declanșatoare onSessionStart și onSessionEnd.
  • autentificare integrată a utilizatorului și funcționalitate rol.

securitate

CFML are funcționalitate încorporată pentru a preveni injectarea codului prin eticheta cfqueryparam și caracteristici precum HtmlEditFormat, XmlFormat, JsStringFormat. Există, de asemenea, implementări CFML terțe ale API-ului OWASP Enterprise Security. și proiectul Antisamie.

una dintre cele mai importante decizii arhitecturale la Railo a fost să urmeze modelul JEE servlet cu suport pentru mai multe contexte web independente pe un singur server. Acesta este un factor important de securitate, deoarece împiedică aplicațiile fără legătură să interfereze între ele, așa cum se poate întâmpla pe un server ColdFusion partajat (care are doar un singur context web).

Railo implementează limbajul CFML – exemple și CFScript pot fi găsite în secțiunea de sintaxă CFML.

diferențe

diferențe față de alte limbi

CFML are o sintaxă bazată pe etichete care este diferită vizual de majoritatea celorlalte limbi. În afară de aceasta, este similar cu alte limbi dinamice, cu următoarele excepții:

  • CFML conține două sintaxe, o sintaxă bazată pe etichete (nu este compatibilă cu XML) și o sintaxă C numită cfscript.
  • tablourile din CFML sunt indexate cu unul și nu cu zero.
  • CFML acceptă atât Argumente funcționale ordonate, cât și numite sau o combinație.
  • CFML nu are variabile statice.

diferențe față de Adobe ColdFusion

în timp ce Railo implementează CFML și este în general compatibil cu Adobe ColdFusion (ACF), motorul original CFML, există unele diferențe notabile între cele două:

  • Railo este un software open source pentru LGPL v2.1. ACF este o tehnologie proprietară.
  • Railo folosește o arhitectură de context multi-web în comparație cu contextul web unic al ACF.
  • Railo vă permite să creați funcții personalizate folosind CFML standard.
  • Railo nu poate decripta (sau executa) șabloane criptate cu mecanismul de criptare ACF lui.
  • Railo are un ciclu de eliberare semnificativ mai rapid pentru versiunile majore, minore și patch-uri.
  • în Railo, zonele au întotdeauna prioritate. În ACF, crearea unei variabile numite ” Url ” poate bloca accesul la spațiul URL. În Railo, puteți accesa variabila doar ca ” variabile.Url ” poate fi accesat.
  • Railo caută CFC-uri numai în calea etichetei personalizate dacă aceasta a fost definită în mod corespunzător în administrator (există în schimb o cale CFC separată).
  • Railo 4.x introduce o interfață de linie de comandă (CLI) care permite executarea scripturilor CFML din linia de comandă
  • Railo permite utilizarea metodelor obiect. Deci, în loc să folosiți matricea Adăugare (arr,” valoare”), se poate scrie: arr.adăugați („valoare”). Adăugați („altulvaloare”).

a se vedea, de asemenea,

Lasă un răspuns

Adresa ta de email nu va fi publicată.