Кіріспе
CFML Railo Server – бұл CFML серверлік скрипт тілін іске асыратын ашық бастапқы кодты бағдарламалық қамтамасыз ету, көбінесе динамикалық веб-сайттар, веб-қосымшалар және интранет жүйелерін құру үшін қолданылады. CFML – бірнеше бағдарламалау парадигмаларын қолдайтын және Java виртуалды машинасының (JVM) үстінде жұмыс істейтін динамикалық тіл. Railo швейцариялық Railo Technologies GmbH компаниясымен Adobe ColdFusion баламасы ретінде, жоғары өнімділікке ие болу үшін жасалған. 2008 жылы Railo ашық бастапқы кодты, қауымдастыққа негізделген модельге көшті және JBoss жобасы атанды. Railo ашық бастапқы кодты жобасын Railo Technologies басқарады, даму жұмыстары консалтингтік және қолдау шарттары арқылы қаржыландырылады, бірақ кез келген адам кодты қарау үшін үсынуға болады.
Railo Server, commonly referred to as Railo ('/r//aɪ//l//oʊ/ RYloh), is open source software which implements the general purpose CFML server side scripting language, often used to create dynamic websites, web applications and intranet systems. CFML is a dynamic language supporting multiple programming paradigms and runs on the Java virtual machine (JVM). Railo was created by the Swiss company Railo Technologies GmbH, intended as a high performance alternative to Adobe ColdFusion. In 2008, Railo switched to an open source community driven model, and became a JBoss project. The Railo Open Source project is led by Railo Technologies, with development work funded by consulting and support contracts, but anyone may contribute code for consideration.
Атау беру
Раило "Жұлдызды жол: Энтерпрайз" телесериалындағы ғарыш итінің құрметіне аталған. Иттің нақты аты Rhylo, бірақ неміс тілінде дыбысталуы бойынша Railo деп жазылады. Жоба жеткілікті деңгейде сәтті болғандықтан, оны толыққанды өнімге дамытуға шешім қабылданды. 2006 жылдың сәуір айында ресми 1.0 нұсқасы шығарғанша бірнеше альфа және бета нұсқалары жасалды. Railo әзірлеуін жалғастырды, бірақ 2008 жылдың маусым айында Эдинбургте өткен Scotch on the Rocks конференциясында Railo Technologies компаниясы екінші күнгі баяндамасында JBoss компаниясымен серіктестік және ашық кодқа көшу туралы хабарлағанға дейін көптеген CFML әзірлеушілері үшін жақсы таныс емес еді. 2012 жылдың мамыр айында cf. Objective конференциясында "The Railo Company Ltd" жекеше компаниясының құрылғаны жарияланды, оған швейцариялық Railo Technologies GmbH компаниясымен қатар CFML индустриясында жұмыс істейтін тағы бес компания кірді.
Люси Форк
2015 жылдың 29 қаңтарында Railo 4.2 код базасынан бөлінген Lucee жобасы Railo-ның бастапқы әзірлеушісімен жарияланды, ол Railo-ны одан әрі дамытпайтынын мәлімдеді. Басқа әзірлеушілер де тек Lucee-ге назар аударатындарын растады, ал Railo компаниясы ресми мәлімдеме жасамаса да, қауымдастықтың пікірі бойынша Railo жобасын одан әрі дамытуға мүмкіндік жоқ. 2016 жылдың 19 шілдесінде Railo компаниясы таратылды.
Шығару тарихы
Негізгі нұсқа ((кодтық атауы) Кіші нұсқасы Шығарылған күні Ескертулер0 Alpha 1 2004 04 10 Railo CFML қозғалтқышының алғашқы ресми шығарылымы. Alpha 2 2004 05 18 Alpha 3 2004 08 03 Alpha 4 2004 10 21 Beta 1 2005 01 16 Railo-ның алғашқы бета нұсқасы. Beta 2 2005 Beta 3 2005 RC1 2005 09 23 Railo-ның алғашқы шығарылу кандидаты Германияның Мюнхендегі CFUG-ге ұсынылды. 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 ORM және көптеген басқа мүмкіндіктерге қолдау қосылды. 3.3.4.003 2012 06 25 4.0 (Apollo) 4.0.0.013 2012 07 02 4.0.5.004 2013 07 09 4.1 (Endal) 4.1.2.005 2013 12 11 4.2 (Togo) 4.2.0.009 2014 05 14 4.2.1.000 2014 05 21 4.2.2.005 2014 12 18 Railo-ның қазіргі тұрақты нұсқасы.
(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 Added built in support for ORM and many other features. 3.3.4.003 2012 06 25 4.0
(Apollo) 4.0.0.013 2012 07 02 4.0.5.004 2013 07 09 4.1
(Endal) 4.1.2.005 2013 12 11 4.2
(Togo) 4.2.0.009 2014 05 14 4.2.1.000 2014 05 21 4.2.2.0052014 12 18Current stable release of Railo
Платформалар мен лицензия
Railo JVM-де сервлет ретінде жұмыс істейді және кез келген сервлет контейнерімен (мысалы, Apache Tomcat, Eclipse Jetty) немесе қолданба серверімен (мысалы, JBoss AS, GlassFish) үйлесімді. Веб-серверді (мысалы, Apache, IIS, nginx, Cherokee) mod_jk, mod_proxy сияқты коннекторларды немесе оларға баламаларын пайдаланып алдынан қосуға болады, бірақ Railo үшін бұл міндетті емес. Railo Linux, macOS және Windows үшін Apache Tomcat-пен бірге орнатылатын орнатушымен келеді. Сондай-ақ, Jetty-ді пайдаланатын алдын ала конфигурацияланған Railo Express жүктемесі де бар. V4.0 нұсқасынан бастап Railo командалық қатар нұсқасына ие болады, бұл CFML-ді сервлет ортасынан тыс, жалпы мақсаттағы тіл ретінде пайдалануға мүмкіндік береді. Railo v3.1 нұсқасы LGPL v2.1 лицензиясымен беріледі, ал бастапқы коды GitHub-та қолжетімді.
Философия
Railo-ның басты мақсаты – аз ресурстарды қолдана отырып, ColdFusion функционалдығын қамтамасыз ету және жақсы өнімділікке қол жеткізу болды. Railo Technologies командасы «баяулықты қате деп қарастыруды» өзінің негізгі даму философиясы ретінде сақтап келеді. Көптеген өнімділік тесттері Railo-ның басқа CFML қозғалтқыштарынан жылдам жұмыс істейтінін көрсетті. Бұдан өзге, Railo дәстүрлі CFML-дегі көптеген үйлесімсіздіктерді жоюға тырысады. Бұл өзгерістер міндетті түрде жасалатын өзгертулер немесе Railo әкімшісінде конфигурацияланатын опциялар түрінде көрінеді. Railo Technologies командасы әрқашан пікірлерді естіп қалуға дайын және CFML қауымдастығының іс-шараларында белсенді қатысады, сондай-ақ Railo – қауымдастық жобасы екенін еске салмаққа құштар. Railo Technologies сонымен қатар CFML бағдарламалық жасақтамасын әзірлейтін компаниялармен, атап айтқанда Blue River Interactive Group (Mura CMS әзірлеушілері), CONTENS Software GmbH (CONTENS CMS әзірлеушілері) және Intergral GmbH (FusionReactor және FusionDebug әзірлеушілері) сияқты компаниялармен тығыз байланыс орнатып, олардың бағдарламалық жасақтамалары Railo-мен үйлесімді жұмыс істеуіне көмектеседі. Сонымен қатар, Railo Technologies шешімдерді (әзірлеу), хостинг және оқыту салаларындағы серіктестерге арналған ресми «Серіктестік бағдарламаларын» ұсынады.
Қауіпсіздік
CFML кодты енгізудің алдын алу үшін cfqueryparam тегі және HtmlEditFormat, XmlFormat, JsStringFormat сияқты кіріктірілген мүмкіндіктерге ие. OWASP Enterprise Security API және AntiSamy жобасының үшінші тарапты CFML нұсқалары да бар. Railo-ның маңызды архитектуралық шешімдерінің бірі – JEE сервлет моделін қолдану, бір серверде бірнеше тәуелсіз веб-контексттерді қолдау. Бұл қауіпсіздіктің маңызды факторы, себебі ол байланыссыз қолданбалардың бір-біріне араласуына кедергі келтірмейді, бұл ортақ ColdFusion серверінде (бір ғана веб-контексті бар) болуы мүмкін.
Синтаксисі
Railo CFML тілін іске асырады, мысалдар үшін CFML синтаксисі бөліміне және CFScript-ке қараңыз.