Railo – Wikipedia

Railo Server, vanligen kallad Railo (( RY-loh) är en öppen källkodsprogramvara som implementerar serverns vanliga skriptspråk CFML, som ofta används för att skapa dynamiska webbplatser, webbapplikationer och intranätsystem. CFML är ett dynamiskt språk som stöder flera programmeringsparadigmer och körs på Java Virtual Machine (JVM).

Railo utvecklades av det schweiziska företaget Railo Technologies GmbH som ett kraftfullt alternativ till Adobe ColdFusion. 2008 bytte Railo till en öppen källkodsmodell och blev ett JBoss-projekt. Railo Open Source-projektet leds av Railo Technologies. Utvecklingsarbetet finansieras av konsult-och supportavtal, men vem som helst kan bidra med kod till tentamen.

Railo namngavs efter en främmande hund i Star Trek Enterprise. Hunden kallas faktiskt Rhylo, men fonetiskt på tyska är det Railo. Således kan Railo uttalas antingen som rhy-lo eller som rai-lo – båda är acceptabla.

Railo Major-utgåvor har ett kodnamn på anmärkningsvärda och lojala hundar från historien.

historia

Railo startade 2002 som ett studentprojekt av Michael Offner och Gert Franz för att sammanställa CFML-kod i PHP. Detta beslut fattades på grund av PHP: s allestädes närvarande. Det visade sig dock att detta inte gav önskad prestanda och stabilitet, och beslutet fattades att byta till Java-plattformen istället.

projektet var så framgångsrikt att det beslutades att vidareutvecklas till en komplett produkt. Flera alfa-och betaversioner släpptes före den officiella versionen 1.0 i April 2006. Railo utvecklades vidare, men var relativt okänt för många CFML-Utvecklare fram till juni 2008 på Scotch on the Rocks-konferensen i Edinburgh, då Railo Technologies använde andra dagen keynote för att tillkännage ett partnerskap med JBoss och en övergång till öppen källkod.

i maj 2012, på jfr. Target Conference, etableringen av ”The Railo Company Ltd” tillkännagavs, ett aktiebolag som inkluderar det schweiziska företaget Railo Technologies GmbH tillsammans med fem andra företag som är verksamma inom CFML-industrin.

Lucee Gabel

den 29 januari 2015 tillkännagavs Lucee-projektet, en gaffel av Railo 4.2-kodbasen, av den ursprungliga utvecklaren av Railo, som uppgav att han inte skulle fortsätta arbeta med Railo. De andra utvecklarna har bekräftat att de också kommer att fokusera uteslutande på Lucee, och även om Railo-företaget inte har gjort ett officiellt uttalande, är konsensus i samhället att vidareutveckling av Railo-projektet är osannolikt.

den 19 juli 2016 upplöstes Railo-företaget.

Publiceringshistorik

Större Version
(Kodnamn)
Mindre Version Utgivningsdatum Anteckningar
0 Alfa 1 10.04.2004 den första officiella versionen av Railo CFML-motorn.
Alpha 2 2004-05-18
Alpha 3 03.08.2004
Alpha 4 2004-10-21
Beta 1 2005-01-16 den första betaversionen av Railo.
Beta 2 2005
Beta 3 2005
RC1 2005-09-23 Railos första släppkandidat presenterades för den tyska CFUG i Munich.
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 första open source-utgåvan av 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 Inkom inbyggt stöd för ORM och många andra funktioner.
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

( gå)

4.2.0.009 2014-05-14
4.2.1.000 2014-05-21
4.2.2.005 18.12.2014 nuvarande stabila versionen av Railo

plattformar och licens

Railo körs som en servlet på JVM och fungerar med alla servlet Behållare (t. ex. Apache Tomcat, Eclipse Jetty) eller applikationsservrar (t.ex. Det är möjligt att ansluta en webbserver (till exempel Apache, IIS, Nginx, Cherokee) via kontakter som mod jk, mod proxy eller motsvarande, men detta behövs inte av Railo.

Railo har ett installationsprogram för Linux, macOS och Windows som buntar Apache Tomcat. Det finns också en förkonfigurerad Railo Express-nedladdning med brygga.

från version 4.0, Railo har en kommandoradsversion som gör att CFML kan användas som ett allmänt språk utanför servlet-miljön.

Railo har licensierats som LGPL v2.1 sedan v3.1, med källkoden tillgänglig på GitHub

filosofi

ett primärt mål för Railo var att tillhandahålla funktionaliteten hos ColdFusion med färre resurser och bättre prestanda, och Railo Technologies-teamet fortsätter att behandla ”långsamhet som ett fel” som en central utvecklingsfilosofi. Många prestandatester har visat att Railo fungerar snabbare än andra CFML-motorer.

dessutom försöker Railo fixa många inkonsekvenser i den traditionella CFML. Dessa är antingen tvingade beteendeförändringar eller konfigurerbara alternativ i Railo-administratören.

Railo Technologies-teamet har alltid varit öppet för feedback och aktivt vid CFML-community-evenemang och vill påminna människor om att Railo är ett community-projekt.

Railo Technologies har också starka teknikpartnerskap med CFML-mjukvaruföretag, inklusive Blue River Interactive Group (utvecklare av Mura CMS), CONTENS Software GmbH (utvecklare av CONTENS CMS) och Intergral GmbH (utvecklare av FusionReactor och FusionDebug) för att säkerställa att deras programvara fungerar bra med Railo. Dessutom erbjuder Railo Technologies formella” partnerprogram ” för lösningar (utveckling), hosting och utbildning.

Railo-applikationsservern är för närvarande i genomsnitt 7.Nedladdade (och växande) 000 gånger per månad.

Railo används av ett antal företag, inklusive:

egenskaper

  • stöder objektorienterad programmering med arv, mixins och metaklasser
  • dynamisk typning och duck typing
  • bokstavlig notation för arrayer och strukturer
  • bädda in argument som heter av variabler i strängar (interpolation)
  • , valfria argument och standardargument
  • tre nivåer av Objektvariabelområdet: Detta (objekt offentligt), variabler (objekt privat), lokal (funktion privat)
  • omfattning av flera globala variabler: begäran, session, klient, applikation, Server, kluster
  • olika användartillhandahållna variabla omfattningar: Form(Post), URL (Get), Cookie, CGI
  • Automatisk sophämtning (via JVM)
  • Global och lokal undantagshantering (via onError och try/catch)
  • användardefinierat sändningsbeteende (av onMissingMethod och implicita getters och setters)
  • Implicit objektkonvertering (av _toString, _toNumeric, _toBoolean, _toDate)
  • Native trådar
  • stöd för Unicode, multi-teckenkodning och i18n
  • stort standardbibliotek som täcker allmänna webbutvecklingskrav
  • Railo Extension Store och Extension Manager för enkel installation av ytterligare programvara och tillägg
  • Native plug-in API i CFML eller Java
  • Native hantering för enkel skapande och konsumtion av webbtjänster
  • separata GUI-administratörer för enskilda webbkontexter samt en global serveradministratör
  • alla administratörsinställningar kan konfigureras programmatiskt eller via redigering XML konfigurationsfiler är konfigurerade
  • Native resurser för alla inbyggda i filsystem taggar och funktioner.
  • kluster och synkronisering för traditionella och molnservrar
  • Aktivitetshanteraren för schemaläggning upprepade åtgärder eller försöker misslyckade händelser igen
  • inbyggt stöd för viloläge ORM
  • stort antal bildredigeringsfunktioner
  • Händelse gateways för asynkron kodkörning
  • inbyggt stöd för en mängd olika cachning mekanismer
  • Native Session Management (CFML sessioner eller J2EE sessioner) med onSessionStart och onSessionEnd triggers.
  • integrerad användarautentisering och rollfunktionalitet.

säkerhet

CFML har inbyggd funktionalitet för att förhindra kodinjektion via taggen cfqueryparam och funktioner som HtmlEditFormat, XmlFormat, JsStringFormat. Det finns också CFML-implementeringar från tredje part av OWASP Enterprise Security API. och AntiSamy-projektet.

ett av de viktigaste arkitektoniska besluten på Railo var att följa JEE servlet-modellen med stöd för flera oberoende webbsammanhang på en enda server. Detta är en viktig säkerhetsfaktor, eftersom det förhindrar att orelaterade applikationer stör varandra, vilket kan uppstå på en delad ColdFusion-server (som bara har ett enda webbkontext).

Railo implementerar CFML – språkexemplen och CFScript finns i avsnittet CFML-syntax.

skillnader

skillnader från andra språk

CFML har en taggbaserad syntax som visuellt skiljer sig från de flesta andra språk. Bortsett från det liknar det andra dynamiska språk med följande undantag:

  • CFML innehåller två syntaxer, en taggbaserad syntax (inte XML-kompatibel) och en C-syntax som heter cfscript.
  • arrayer i CFML indexeras med en och inte med noll.
  • CFML stöder både ordnade och namngivna Funktionsargument eller en kombination.
  • CFML har inga statiska variabler.

skillnader från Adobe ColdFusion

medan Railo implementerar CFML och i allmänhet är kompatibel med Adobe ColdFusion (ACF), den ursprungliga CFML-motorn, finns det några anmärkningsvärda skillnader mellan de två:

  • Railo är en programvara med öppen källkod för LGPL v2.1. ACF är en proprietär teknik.
  • Railo använder en multi-web-kontextarkitektur jämfört med Acf: s enda webbkontext.
  • Railo låter dig skapa anpassade funktioner med standard CFML.
  • Railo kan inte dekryptera (eller köra) mallar krypterade med ACF: s krypteringsmekanism.
  • Railo har en betydligt snabbare release cykel för större, mindre och patch releaser.
  • i Railo har områden alltid företräde. I ACF kan skapa en variabel med namnet” Url ” blockera åtkomst till URL-utrymmet. I Railo kan du bara komma åt variabeln som ” variabler.Url ” kan nås.
  • Railo söker bara efter CFC i den anpassade taggvägen om detta har definierats i enlighet med administratören (det finns en separat CFC-sökväg istället).
  • Railo 4.X introducerar ett kommandoradsgränssnitt (CLI) som gör att CFML-skript kan köras från kommandoraden
  • Railo tillåter användning av objektmetoder. Så istället för att använda array Append(arr, ”value”) kan man skriva: arr.Lägg till (”värde”). Lägg till (”anotherValue”).

Se även

Lämna ett svar

Din e-postadress kommer inte publiceras.