Railo – Wikipedia

Railo Server, communément appelé Railo (( RY-loh) est un logiciel open Source qui implémente le langage de script général côté serveur CFML, couramment utilisé pour créer des sites Web dynamiques, des applications web et des systèmes intranet. CFML est un langage dynamique qui prend en charge plusieurs paradigmes de programmation et s’exécute sur la machine virtuelle Java (JVM).

Railo a été développé par la société suisse Railo Technologies GmbH comme une Alternative puissante à Adobe ColdFusion. En 2008, Railo est passé à un modèle communautaire Open Source et est devenu un projet JBoss. Le projet Railo Open Source est dirigé par Railo Technologies. Le travail de développement est financé par des contrats de conseil et de soutien, mais n’importe qui peut contribuer au code à L’examen.

Railo a été nommé d’après un chien extraterrestre dans Star Trek Enterprise. Le chien s’appelle en fait Rhylo, mais phonétiquement en allemand C’est Railo. Ainsi, Railo peut être prononcé soit rhy-lo, soit rai-lo – les deux sont acceptables.

Railo Major Releases a un nom de code de chiens remarquables et fidèles de l’histoire.

histoire

Railo a commencé en 2002 comme projet étudiant de Michael Offner et Gert Franz pour compiler le code CFML en PHP. Cette décision a été prise en raison de L’omniprésence de PHP. Cependant, il a été constaté que cela n’a pas donné les performances et la stabilité souhaitées, et la décision a été prise de passer à la plate-forme Java à la place.

le projet a connu un tel succès qu’il a été décidé de continuer à devenir un produit complet. Plusieurs versions Alpha et bêta ont été publiées avant la version officielle 1.0 en avril 2006. Railo a été développé, mais était relativement inconnu de nombreux développeurs CFML jusqu’en juin 2008 lors de la conférence Scotch on the Rocks à Edimbourg, lorsque Railo Technologies a profité de la deuxième journée Keynote pour annoncer un partenariat avec JBoss et passer à L’Open Source.

en Mai 2012, le cf. Conférence cible, la création de « The Railo Company Ltd » a été annoncée, une société à responsabilité limitée qui comprend la société suisse Railo Technologies GmbH avec cinq autres entreprises actives dans le secteur CFML.

Lucee Gabel

le 29 janvier 2015, le projet Lucee, une branche de la base de code Railo 4.2, a été annoncé par le développeur initial de Railo, qui a déclaré qu’il ne continuerait pas à travailler sur Railo. Les autres développeurs ont confirmé qu’ils se concentreront également exclusivement sur Lucee, et bien que The Railo Company n’ait pas fait de déclaration officielle, le consensus de la communauté est qu’il est peu probable que le développement du projet Railo se poursuive.

le 19 juillet 2016, the Railo Company a été dissoute.

Historique Des Publications

Version Principale
(Code Name)
Version Secondaire Date De Sortie Notes
0 Alpha 1 10.04.2004 première Version officielle du moteur Railo CFML.
Alpha 2 2004-05-18
Alpha 3 03.08.2004
Alpha 4 2004-10-21
bêta 1 2005-01-16 la première version bêta de Railo.
bêta 2 2005
bêta 3 2005
RC1 2005-09-23 le premier candidat à la libération de Railo a été présenté au CFUG allemand à 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 première publication Open Source de 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 ajout du support intégré pour ORM et de nombreuses autres fonctionnalités.
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

(marcher)

4.2.0.009 2014-05-14
4.2.1.000 2014-05-21
4.2.2.005 18.12.2014 version stable actuelle de Railo

plates-formes et licence

Railo s’exécute sur la JVM en tant que Servlet et fonctionne avec n’importe quel conteneur de Servlet (par exemple, Apache Tomcat, Eclipse Jetty) ou serveur D’applications (par exemple JBoss AS, GlassFish). Il est possible de connecter un serveur web (par exemple Apache, IIS, Nginx, Cherokee) via des connecteurs tels que mod jk, mod proxy ou un équivalent, mais cela n’est pas nécessaire par Railo.

Railo a un programme D’installation pour Linux, MacOS et Windows qui regroupe Apache Tomcat. Il y a aussi un téléchargement Railo Express préconfiguré avec Jetty.

À Partir De La Version 4.0 Railo dispose-t-il d’une version de ligne de commande qui permet D’utiliser CFML en dehors de L’environnement Servlet comme langage à usage général.

Railo est sous licence LGPL v2.1 depuis la version 3.1, avec le code source disponible sur GitHub

Philosophie

L’un des principaux objectifs de Railo était de fournir les fonctionnalités de ColdFusion avec moins de ressources et de meilleures performances, et L’équipe Railo Technologies continue de traiter la lenteur comme une erreur comme une philosophie de développement centrale. De nombreux tests de performance ont montré que Railo fonctionne plus rapidement que les autres moteurs CFML.

en outre, Railo tente de corriger de nombreuses incohérences dans le CFML traditionnel. Ce sont soit des changements de comportement forcés, soit des options configurables dans Railo Administrator.

L’équipe Railo Technologies a toujours été ouverte aux commentaires et active dans les événements communautaires CFML et tient à rappeler aux gens que Railo est un projet communautaire.

Railo Technologies établit également de solides partenariats technologiques avec des sociétés de logiciels CFML, dont Blue River Interactive Group (développeur de Mura CMS), CONTENS Software GmbH (développeur de CONTENS CMS) et Intergral GmbH (développeur de FusionReactor et FusionDebug), afin de s’assurer que leur logiciel fonctionne bien avec Railo. En outre, Railo Technologies propose des « programmes partenaires » formels pour les solutions (développement), L’hébergement et la formation.

le serveur D’applications Railo compte actuellement une moyenne de 7.000 fois Téléchargé (et en croissance) par mois.

Railo est utilisé par un certain nombre d’entreprises dont:

propriétés

  • prend en charge la programmation orientée objet avec héritage, Mixins et métaclasses
  • Dactylographie dynamique et Dactylographie
  • Notation littérale pour tableaux et structures
  • intégration de variables dans strings (interpolation)
  • arguments nommés, arguments optionnels et arguments par défaut
  • trois niveaux de la plage de variables D’objet: Ceci (objet public), variables (objet privé), local (fonction privée)
  • étendue de plusieurs variables globales: requête, session, Client, Application, serveur, Cluster
  • différentes plages de variables fournies par L’utilisateur: Formulaire (Post), URL (Get), Cookie, CGI
  • nettoyage automatique de la mémoire (via JVM)
  • gestion Globale et locale des exceptions (via onError et try/catch)
  • comportement D’expédition personnalisé (par onMissingMethod et getters et setters implicites)
  • conversion implicite D’objet (par _toString, _toNumeric, _toBoolean, _toDate)
  • threads natifs
  • prise en charge de L’Unicode, du codage multi-caractères et de l’i18n
  • grande bibliothèque standard couvrant les exigences générales de développement web
  • Railo Extension Store et Extension Manager pour installer facilement des logiciels et des extensions supplémentaires
  • API Plug-In Native dans CFML ou Java
  • gestion native pour créer et consommer facilement des services web
  • administrateurs GUI séparés pour des contextes Web individuels et un administrateur de serveur global
  • tous les paramètres D’administration peuvent être configurés par programmation ou en modifiant des fichiers de configuration XML
  • ressources natives pour toutes les balises et fonctions intégrées du système de fichiers.
  • Clustering et Synchronisation pour les serveurs traditionnels et Cloud
  • gestionnaire de tâches pour planifier des actions répétées ou réessayer des événements échoués
  • prise en charge Native de Hibernate ORM
  • grand nombre de fonctions D’édition D’images
  • passerelles D’événements pour L’exécution de code asynchrone
  • prise en charge native d’un large éventail de mécanismes de mise en cache
  • gestion de session native (sessions CFML ou sessions J2EE) avec onSessionStart et onSessionEnd déclenche.
  • authentification utilisateur intégrée et fonctionnalité de rôle.

sécurité

CFML a une fonctionnalité intégrée pour empêcher L’Injection de Code via la balise cfqueryparam et des fonctionnalités telles que HtmlEditFormat, XmlFormat, JsStringFormat. Il existe également des implémentations CFML tierces de L’API OWASP Enterprise Security. et le AntiSamy Projet.

L’une des décisions architecturales les plus importantes de Railo a été de suivre le modèle de Servlet JEE avec la prise en charge de plusieurs contextes Web indépendants sur un seul serveur. Ceci est un facteur de sécurité important car il empêche les applications non liées d’interférer les unes avec les autres, comme cela peut se produire sur un serveur ColdFusion partagé (qui n’a qu’un seul contexte Web).

Railo implémente le langage CFML-pour des exemples et CFScript, reportez – vous à la section sur la syntaxe CFML.

différences

différences par rapport aux autres langues

CFML a une syntaxe basée sur des balises qui est visuellement différente de la plupart des autres langues. En dehors de cela, il est similaire à d’autres langages dynamiques avec les exceptions suivantes:

  • CFML contient deux syntaxes, une syntaxe basée sur des balises (non compatible XML) et une syntaxe C appelée cfscript.
  • les tableaux dans CFML sont indexés par un et non par zéro.
  • CFML prend en charge les arguments de fonction ordonnés et nommés ou une combinaison.
  • CFML n’a pas de variables statiques.

différences avec Adobe ColdFusion

bien que Railo implémente CFML et soit généralement compatible avec Adobe ColdFusion (ACF), le moteur CFML d’origine, il existe quelques différences notables entre les deux:

  • Railo est un logiciel open Source pour LGPL v2.1. ACF est une Technologie propriétaire.
  • Railo utilise une architecture de contexte Multi-Web par rapport au contexte Web unique D’ACF.
  • Railo vous permet de créer des fonctions personnalisées avec CFML Standard.
  • Railo ne peut pas déchiffrer (ni exécuter) les modèles chiffrés à L’aide du mécanisme de chiffrement ACF.
  • Railo a un cycle de sortie beaucoup plus rapide pour les versions majeures, mineures et Patch.
  • dans Railo, les zones sont toujours prioritaires. Dans ACF, la création d’une variable nommée « Url » peut bloquer l’accès à la zone D’URL. Dans Railo, la Variable ne peut être appelé  » Variables.Url ».
  • Railo recherche les CFC dans le chemin de balise personnalisé uniquement si cela a été défini en conséquence par L’administrateur (il existe plutôt son propre chemin CFC).
  • Railo 4.x introduit une interface de ligne de commande (CLI) qui permet d’exécuter des scripts CFML à partir de la ligne de commande
  • Railo permet l’utilisation de méthodes objet. Donc, au lieu d’utiliser le tableau Append (arr, « value »), on peut écrire: arr.append (« value »). Append (« anotherValue »).

voir aussi

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.