Railo-Wikipedia

Railo Server, vaak aangeduid als Railo (RY-loh) is een open source software die de server-side common scripting language CFML implementeert, die vaak wordt gebruikt om dynamische websites, webapplicaties en intranetsystemen te creëren. CFML is een dynamische taal die meerdere programmeerparadigma ‘ s ondersteunt en draait op de Java Virtual Machine (JVM).Railo werd ontwikkeld door het Zwitserse bedrijf Railo Technologies GmbH als een krachtig alternatief voor Adobe ColdFusion. In 2008 stapte Railo over op een open source community model en werd een JBoss project. Het Railo Open Source project wordt geleid door Railo Technologies. Ontwikkelingswerk wordt gefinancierd door consulting-en ondersteuningscontracten, maar iedereen kan code bijdragen aan het examen.Railo is vernoemd naar een buitenaardse hond uit Star Trek Enterprise. De hond heet eigenlijk Rhylo, maar fonetisch in het Duits is het Railo. Dus, Railo kan worden uitgesproken als rhy-lo of als rai-lo-beide zijn aanvaardbaar.Railo Major releases hebben een codenaam van opmerkelijke en trouwe honden uit de geschiedenis.

geschiedenis

Railo begon in 2002 als een studentenproject door Michael Offner en Gert Franz om CFML-code in PHP te compileren. Deze beslissing werd genomen vanwege de alomtegenwoordigheid van PHP. Echter, bleek dat dit niet de gewenste prestaties en stabiliteit te geven, en de beslissing werd genomen om over te schakelen naar het Java-platform in plaats daarvan.

het project was zo succesvol dat werd besloten zich verder te ontwikkelen tot een compleet product. Verschillende alpha en beta versies werden uitgebracht voor de officiële versie 1.0 in April 2006. Railo werd verder ontwikkeld, maar was relatief onbekend voor veel CFML-ontwikkelaars tot juni 2008 op de Scotch on the Rocks conferentie in Edinburgh, toen Railo Technologies de tweede dag keynote gebruikte om een partnerschap met JBoss en een overstap naar open source aan te kondigen.

in Mei 2012, op cf. Target Conference, de oprichting van “The Railo Company Ltd” werd aangekondigd, een vennootschap met beperkte aansprakelijkheid die het Zwitserse bedrijf Railo Technologies GmbH samen met vijf andere bedrijven die actief zijn in de CFML-industrie omvat.Op 29 januari 2015 werd het Lucee project, een fork van de Railo 4.2 codebase, aangekondigd door de oorspronkelijke ontwikkelaar van Railo, die verklaarde dat hij niet verder zou werken aan Railo. De andere ontwikkelaars hebben bevestigd dat zij zich ook uitsluitend op Lucee zullen richten, en hoewel het spoorwegbedrijf geen officiële verklaring heeft afgelegd, is de consensus van de Gemeenschap dat verdere ontwikkeling van het Railo-project onwaarschijnlijk is.Op 19 juli 2016 werd het bedrijf ontbonden.

Publicatiegeschiedenis

Hoofdversie
(Codenaam)
Kleine Versie Releasedatum Opmerkingen
0 Alfa 1 10.04.2004 de eerste officiële versie van de Railo CFML-Motor.
Alpha 2 2004-05-18
Alpha 3 03.08.2004
Alpha 4 2004-10-21
Beta 1 2005-01-16 De eerste beta versie van Railo.
Beta 2 2005
Beta 3 2005
RC1 2005-09-23 de eerste release candidate van Railo werd gepresenteerd aan de Duitse CFUG in München.
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 Eerste open source versie van 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 Toegevoegd ingebouwde ondersteuning voor ORM en vele andere functies.
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

( Ga)

4.2.0.009 2014-05-14
4.2.1.000 2014-05-21
4.2.2.005 18.12.2014 De huidige stabiele versie van Railo

Platforms en Licentie

Railo loopt als een servlet op de JVM en werkt met een servlet container (bijv. Apache Tomcat, Eclipse Jetty) of applicatieservers (bijvoorbeeld JBoss AS, GlassFish). Het is mogelijk om een webserver (bijvoorbeeld Apache, IIS, Nginx, Cherokee) aan te sluiten via connectors zoals mod jk, mod proxy of een equivalent, maar dit is niet nodig door Railo.

Railo heeft een installatieprogramma voor Linux, macOS en Windows dat Apache Tomcat bundelt. Er is ook een vooraf geconfigureerde Railo Express download met Jetty.

vanaf versie 4.0, Railo heeft een command-line versie waarmee CFML kan worden gebruikt als een algemene taal buiten de servlet omgeving.

Railo heeft een licentie als LGPL v2.1 sinds v3.1, met de broncode beschikbaar op GitHub

filosofie

een primair doel van Railo was om de functionaliteit van ColdFusion met minder middelen en betere prestaties te bieden, en het Railo Technologies team blijft “traagheid als een bug” behandelen als een centrale ontwikkelingsfilosofie. Veel prestatietesten hebben aangetoond dat Railo sneller werkt dan andere CFML-motoren.

daarnaast probeert Railo veel inconsistenties in de traditionele CFML op te lossen. Dit zijn ofwel gedwongen gedragsveranderingen of configureerbare opties in de Railo Administrator.

het team van Railo Technologies stond altijd open voor feedback en was actief op CFML-gemeenschapsevenementen en wil mensen eraan herinneren dat Railo een gemeenschapsproject is.Railo Technologies heeft ook sterke technologiepartnerschappen met CFML-softwarebedrijven, waaronder Blue River Interactive Group (ontwikkelaar van Mura CMS), CONTENS Software GmbH (ontwikkelaar van CONTENS CMS) en Intergral GmbH (ontwikkelaar van FusionReactor en FusionDebug) om ervoor te zorgen dat hun software goed werkt met Railo. Daarnaast biedt Railo Technologies formele “partnerprogramma’ s ” voor oplossingen (ontwikkeling), hosting en training.

de Railo-toepassingsserver heeft momenteel een gemiddelde van 7.Gedownload (en groeiend) 000 keer per maand.

Railo is gebruikt door een aantal bedrijven, waaronder:

Eigenschappen

  • Ondersteunt object-georiënteerd programmeren met erfdeel, mixins en meta-klassen
  • Dynamische typen en duck typing
  • Letterlijke notatie voor arrays en structuren
  • Inbedding argumenten genoemd door variabelen in strings (interpolatie)
  • , optionele argumenten en de standaard argumenten
  • Drie niveaus van de object variabele bereik: Dit (object publiek), variabelen (object privé), lokaal (functie privé)
  • bereik van verschillende globale variabelen: verzoek, sessie, Client, Toepassing, Server, Cluster
  • Diverse door de gebruiker verstrekte variabele scopes: Vorm (Post), URL(Get), Cookie, CGI
  • Automatische garbage collection (via JVM)
  • Globale en lokale exception handling (via onError en try/catch)
  • door de Gebruiker gedefinieerde verzending gedrag (door onMissingMethod en impliciete getters en setters)
  • Impliciete object conversie (door _toString, _toNumeric, _toBoolean, _toDate)
  • Native Threads
  • Ondersteuning voor Unicode, multi-karakter codering en i18n
  • Grote bibliotheek standaard dekking van de algemene ontwikkeling van het web-eisen
  • Railo Uitbreiding Winkel en Extensiebeheer voor eenvoudige installatie van aanvullende software en extensies
  • Native plug-in API in CFML of Java
  • Native handling voor eenvoudige creatie en verbruik van webservices
  • afzonderlijke GUI-beheerders voor individuele webcontexten en een globale serverbeheerder
  • alle administratorinstellingen kunnen programmatisch worden geconfigureerd of via het bewerken van XML-configuratiebestanden worden geconfigureerd
  • Native resources voor alle ingebouwde bestandssysteemtags en-functies.
  • Clustering en synchronisatie voor traditionele en cloudservers
  • Taakbeheer voor het plannen van herhaalde acties of opnieuw proberen van mislukte gebeurtenissen
  • Native support voor Hibernate ORM
  • groot aantal beeldbewerkingsfuncties
  • Event gateways voor asynchrone code-uitvoering
  • Native support voor verschillende cachingmechanismen
  • Native session management (CFML-sessies of J2EE-sessies) met onSessionStart en onSessionEnd triggers.
  • geïntegreerde gebruikersauthenticatie en functiefunctionaliteit.

beveiliging

CFML heeft ingebouwde functionaliteit om code-Injectie via de cfqueryparam tag te voorkomen en functies zoals HtmlEditFormat, XmlFormat, JsStringFormat. Er zijn ook CFML-implementaties van derden van de OWASP Enterprise Security API. en het Antisamie project.

een van de belangrijkste architectonische beslissingen bij Railo was het volgen van het JEE servlet-model met ondersteuning voor meerdere onafhankelijke webcontexten op een enkele server. Dit is een belangrijke beveiligingsfactor, omdat het voorkomt dat niet-gerelateerde applicaties elkaar storen, zoals kan gebeuren op een gedeelde ColdFusion server (die slechts één webcontext heeft).

Railo implementeert de CFML taalvoorbeelden en CFScript is te vinden in de CFML syntaxis sectie.

verschillen

verschillen met andere talen

CFML heeft een op tag gebaseerde syntaxis die visueel verschilt van de meeste andere talen. Afgezien van dat, het is vergelijkbaar met andere dynamische talen met de volgende uitzonderingen:

  • CFML bevat twee syntaxen, een tag-gebaseerde syntaxis (niet XML-compatibel) en een C syntaxis genaamd cfscript.
  • Arrays in CFML worden geïndexeerd door één en niet door nul.
  • CFML ondersteunt zowel geordende als benoemde Functieargumenten of een combinatie.
  • CFML heeft geen statische variabelen.

verschillen met Adobe ColdFusion

terwijl Railo CFML implementeert en over het algemeen compatibel is met Adobe ColdFusion (ACF), de oorspronkelijke CFML-engine, zijn er enkele opmerkelijke verschillen tussen de twee:

  • Railo is een open source software voor LGPL v2. 1. ACF is een gepatenteerde technologie.
  • Railo gebruikt een multi-webcontextarchitectuur in vergelijking met de single webcontext van ACF.
  • met Railo kunt u aangepaste functies maken met behulp van standaard CFML.
  • Railo kan sjablonen die versleuteld zijn met het versleutelingsmechanisme van ACF niet decoderen (of uitvoeren).
  • Railo heeft een significant snellere release cyclus voor major, minor en patch releases.
  • in Railo hebben Gebieden altijd voorrang. In ACF kan het aanmaken van een variabele met de naam “Url” de toegang tot de URL-ruimte blokkeren. In Railo, kunt u de variabele alleen als “variabelen.Url ” kan worden benaderd.
  • Railo zoekt alleen Naar CFC ‘ s in het aangepaste tagpad als dit dienovereenkomstig is gedefinieerd in de beheerder (in plaats daarvan is er een apart CFC-pad).
  • rail 4.x introduceert een Command Line Interface (CLI) waarmee CFML-scripts kunnen worden uitgevoerd vanaf de commandoregel
  • Railo staat het gebruik van objectmethoden toe. Dus in plaats van de array Append(arr, “value”) te gebruiken, kan men schrijven: arr.toevoegen (“waarde”). Toevoegen (“anotherValue”).

zie ook

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.