Railo – Wikipedia

Railo Server, comunemente indicato come Railo (( RY-loh) è un software open source che implementa il server-side comune linguaggio di scripting CFML, che viene spesso utilizzato per creare siti web dinamici, applicazioni web e sistemi intranet. CFML è un linguaggio dinamico che supporta più paradigmi di programmazione e viene eseguito sulla Java Virtual Machine (JVM).

Railo è stato sviluppato dalla società svizzera Railo Technologies GmbH come potente alternativa ad Adobe ColdFusion. Nel 2008, Railo è passato a un modello di comunità open source ed è diventato un progetto JBoss. Il progetto Open Source Railo è guidato da Railo Technologies. Il lavoro di sviluppo è finanziato da contratti di consulenza e supporto, ma chiunque può contribuire codice per l’esame.

Railo prende il nome da un cane alieno in Star Trek Enterprise. Il cane è in realtà chiamato Rhylo, ma foneticamente in tedesco è Railo. Quindi, Railo può essere pronunciato sia come rhy-lo o come rai-lo-entrambi sono accettabili.

Le versioni principali di Railo hanno un nome in codice di cani importanti e fedeli dalla storia.

Storia

Railo ha iniziato nel 2002 come progetto studentesco da Michael Offner e Gert Franz per compilare codice CFML in PHP. Questa decisione è stata presa a causa dell’ubiquità di PHP. Tuttavia, si è constatato che questo non ha dato le prestazioni e la stabilità desiderate, e la decisione è stata presa per passare alla piattaforma Java, invece.

Il progetto ha avuto un tale successo che si è deciso di sviluppare ulteriormente in un prodotto completo. Diverse versioni alpha e beta sono state rilasciate prima della versione ufficiale 1.0 nell’aprile 2006. Railo è stato sviluppato ulteriormente, ma era relativamente sconosciuto a molti sviluppatori CFML fino a giugno 2008 alla Scotch on the Rocks conference di Edimburgo, quando Railo Technologies ha utilizzato il keynote del secondo giorno per annunciare una partnership con JBoss e un passaggio all’open source.

Nel maggio 2012, su cf. Target Conference, è stata annunciata la costituzione di “The Railo Company LTD”, una società a responsabilità limitata che include la società svizzera Railo Technologies GmbH insieme ad altre cinque società operanti nel settore CFML.

Lucee Gabel

Il 29 gennaio 2015, il progetto Lucee, un fork della base di codice Railo 4.2, è stato annunciato dallo sviluppatore originale di Railo, che ha dichiarato che non avrebbe continuato a lavorare su Railo. Gli altri sviluppatori hanno confermato che si concentreranno anche esclusivamente su Lucee, e sebbene la società Railo non abbia rilasciato una dichiarazione ufficiale, il consenso della comunità è che l’ulteriore sviluppo del progetto Railo è improbabile.

Il 19 luglio 2016, la società Railo è stata sciolta.

Cronologia delle pubblicazioni

Versione principale
(Nome in codice)
Versione minore Data di rilascio Note
0 Alfa 1 10.04.2004 La prima versione ufficiale del motore Railo CFML.
Alfa 2 2004-05-18
Alfa 3 03.08.2004
Alfa 4 2004-10-21
Beta 1 2005-01-16 La prima versione beta di Railo.
Beta 2 2005
Beta 3 2005
RC1 2005-09-23 La prima release candidate di Railo è stato presentato al tedesco CFUG a Monaco di baviera.
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 Prima versione open source del 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 Aggiunto il supporto integrato per ORM e molte altre caratteristiche.
3.3.4.003 2012-06-25
4.0

( Apollo)

4.0.0.013 2012-07-02
4.0.5.004 09.07.2013
4.1

( Endale)

4.1.2.005 2013-12-11 .
4.2

( Andare)

4.2.0.009 2014-05-14
4.2.1.000 2014-05-21
4.2.2.005 18.12.2014 Attuale versione stabile di Railo

Piattaforme e Licenza

Railo corre come un servlet su JVM e funziona con qualsiasi servlet container (ad es. I cookie di profilazione di terze parti sono utilizzati per la profilazione di terze parti. È possibile collegare un server web (ad esempio, Apache, IIS, Nginx, Cherokee) tramite connettori come mod jk, mod proxy o un equivalente, ma questo non è necessario a Railo.

Railo ha un programma di installazione per Linux, macOS e Windows che raggruppa Apache Tomcat. C’è anche un pre-configurato Railo Express scaricare con Jetty.

Dalla versione 4.0, Railo ha una versione da riga di comando che consente di utilizzare CFML come linguaggio generico al di fuori dell’ambiente servlet.

Railo ha conseguito la licenza LGPL v2.1 dal v3.1, con il codice sorgente è disponibile su GitHub

Filosofia

Un obiettivo primario di Railo era quello di fornire la funzionalità di ColdFusion con meno risorse e prestazioni migliori, e il Railo Tecnologie squadra continua a trattare “la lentezza come un bug” come un centro di filosofia di sviluppo. Molti test delle prestazioni hanno dimostrato che Railo funziona più velocemente di altri motori CFML.

Inoltre, Railo cerca di correggere molte incongruenze nel CFML tradizionale. Queste sono modifiche di comportamento forzate o opzioni configurabili nell’amministratore Railo.

Il team Railo Technologies è sempre stato aperto al feedback e attivo negli eventi della comunità CFML e vuole ricordare alle persone che Railo è un progetto comunitario.

Railo Technologies ha anche forti partnership tecnologiche con società di software CFML, tra cui Blue River Interactive Group (sviluppatore di Mura CMS), CONTENS Software GmbH (sviluppatore di CONTENS CMS) e Intergral GmbH (sviluppatore di FusionReactor e FusionDebug) per garantire che il loro software funzioni bene con Railo. Inoltre, Railo Technologies offre “programmi partner” formali per soluzioni (sviluppo), hosting e formazione.

Il server delle applicazioni Railo è attualmente in media 7.Scaricato (e in crescita) 000 volte al mese.

Railo è utilizzato da un certo numero di aziende, tra cui:

Proprietà

  • Supporta la programmazione object-oriented con ereditarietà, mixins e meta classi
  • tipizzazione Dinamica e il duck typing
  • Letterale notazione per le matrici e strutture
  • Incorporamento argomenti di nome da variabili stringhe (interpolazione)
  • , argomenti facoltativi e argomenti standard
  • Tre livelli della variabile oggetto di gamma: This (object public), Variables (object private), Local (function private)
  • Ambito di diverse variabili globali: Request, session, Client, Application, Server, Cluster
  • Vari ambiti variabili forniti dall’utente: Form (Post), URL(Get), Cookie, CGI
  • garbage collection Automatica (via JVM)
  • livello Globale e locale, la gestione delle eccezioni (via onError e try/catch)
  • definito dall’Utente spedizione comportamento (da onMissingMethod e implicita getter e setter)
  • Implicita oggetto di conversione (da _toString, _toNumeric, _toBoolean, _toDate)
  • Thread Nativi
  • Supporto per Unicode, multi-codifica dei caratteri e internazionalizzazione (i18n)
  • Grande libreria standard che copre generale di sviluppo per il web requisiti
  • Railo Estensione di Archivio e Extension Manager per una facile installazione di software aggiuntivi e le estensioni
  • Nativo plug-in API in CFML o Java
  • Nativo di gestione per la facile creazione e il consumo di servizi web
  • Separata GUI amministratori per il web contesti globale amministratore del server
  • Tutte le impostazioni dell’amministratore può essere configurato a livello di programmazione o tramite la modifica dei file di Configurazione XML sono configurati
  • risorse Native per tutti nel file di sistema di tag e funzioni.
  • Clustering e di sincronizzazione per tradizionali e cloud server
  • Task Manager per la pianificazione di azioni ripetute o il tentativo non è riuscito ancora gli eventi
  • il supporto Nativo per Hibernate ORM
  • Gran numero di funzioni di modifica delle immagini
  • Evento gateway per l’esecuzione di codice in modalità asincrona
  • il supporto Nativo per una varietà di diversi meccanismi di caching
  • Native per la gestione della sessione (CFML sessioni di J2EE o sessioni) con onSessionStart e onSessionEnd trigger.
  • Funzionalità integrata di autenticazione utente e ruolo.

Sicurezza

CFML ha funzionalità integrate per impedire l’iniezione di codice tramite il tag cfqueryparam e funzionalità comeHtmlEditFormat, XmlFormat, JsStringFormat. Esistono anche implementazioni CFML di terze parti dell’API OWASP Enterprise Security. e il progetto AntiSamy.

Una delle decisioni architettoniche più importanti di Railo è stata quella di seguire il modello JEE servlet con supporto per più contesti web indipendenti su un singolo server. Questo è un importante fattore di sicurezza, in quanto impedisce alle applicazioni non correlate di interferire tra loro, come può verificarsi su un server ColdFusion condiviso (che ha solo un singolo contesto Web).

Railo implementa il linguaggio CFML – Esempi e CFScript possono essere trovati nella sezione sintassi CFML.

Differenze

Differenze da altre lingue

CFML ha una sintassi basata su tag che è visivamente diversa dalla maggior parte delle altre lingue. A parte questo, è simile ad altri linguaggi dinamici con le seguenti eccezioni:

  • CFML contiene due sintassi, una sintassi basata su tag (non compatibile con XML) e una sintassi C chiamata cfscript.
  • Gli array in CFML sono indicizzati da uno e non da zero.
  • CFML supporta sia argomenti di funzione ordinati che denominati o una combinazione.
  • CFML non ha variabili statiche.

Differenze da Adobe ColdFusion

Mentre Railo implementa CFML ed è generalmente compatibile con Adobe ColdFusion (ACF), il motore CFML originale, ci sono alcune differenze notevoli tra i due:

  • Railo è un software open source per LGPL v2.1. ACF è una tecnologia proprietaria.
  • Railo utilizza un’architettura di contesto multi-web rispetto al singolo contesto web di ACF.
  • Railo consente di creare funzioni personalizzate utilizzando CFML standard.
  • Railo non può decifrare (o eseguire) i modelli crittografati con il meccanismo di crittografia di ACF.
  • Railo ha un ciclo di rilascio significativamente più veloce per i rilasci principali, minori e patch.
  • In Railo, le aree hanno sempre la precedenza. In ACF, la creazione di una variabile denominata “Url” può bloccare l’accesso allo spazio URL. In Railo, è possibile accedere alla variabile solo come ” Variabili.Url ” è possibile accedere.
  • Railo cerca CFC nel percorso tag personalizzato solo se questo è stato definito di conseguenza nell’amministratore (esiste invece un percorso CFC separato).
  • Railo 4.x introduce un’interfaccia a riga di comando (CLI) che consente l’esecuzione di script CFML dalla riga di comando
  • Railo consente l’uso di metodi oggetto. Quindi, invece di usare l’array Append(arr, “value”), si può scrivere: arr.aggiungi (“valore”). Append (“anotherValue”).

Vedi anche

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.