Introduksjon Til Railo Open Source

Railo er en Åpen Kildekode Java-applikasjonsserver som implementerer CFML (ColdFusion Markup Language), et tagbasert språk Fra Adobes kommersielle produkt “ColdFusion.”Ytelsen er utmerket,og den inneholder funksjoner som øker produktiviteten betydelig .

Railo er en relativ nykommer, men Har gjort noen imponerende krusninger i bransjen i det siste. Denne artikkelen er en primer på noen av de kritiske fordelene Med Railo og hvorfor det er verdt en seriøs titt for webapplikasjonsutvikling.

Er Ikke ColdFusion død?

For noen år tilbake ble Det publisert en artikkel som navnga 10 teknologier som var døde eller døende, Og Til mange menneskers overraskelse var ColdFusion i den listen. Det forårsaket mange bølger. EN ting om CFML-utviklere – de er lidenskapelige om deres programmeringsspråk!

ColdFusion har hatt moderat suksess i spesifikke vertikale markeder, men Har blitt spesielt godt akseptert av DEN AMERIKANSKE Regjeringen. I forhold til dominerende utviklingsspråk syntes CFML aldri å finne ekte favør med massene. Siden ColdFusion ble re-konstruert for å kjøre helt På Java, og med ankomsten Av Adobe Flex for noen år siden som integrerer Flash Og ColdFusion, har dette endret seg ganske mye. Adobes ColdFusion-produkt integreres så godt Med Flex at Det har skapt ny interesse.

En Av De største klagerne Om Adobe ColdFusion har alltid vært prisen. DET har vært min erfaring AT CFML-utviklere anser seg for å være bransjens jevnaldrende AV LAMP (Linux, Apache, MySQL, PHP) utviklere, som bruker alle open source-verktøy. Flertallet AV LAMP utviklere vurdere sine ferdigheter mye høyere enn FOR CFML utviklere. Dette har bare matet raseri gjennom ÅRENE AV CFML utviklere som hevder at investeringen i å kjøpe ColdFusion er en rask avkastning på investeringen SIDEN CFML er så mye mer produktiv.

Nå kommer Railo, som tilbyr en gratis og åpen kildekode-løsning TIL CFML-utviklernes drømmer. Ikke bare er det gratis, men også det utfører fantastisk, er stabil, og oppdateres rimelig ofte. DETTE er gode nyheter FOR CFML, som etter min mening er svært undervurdert, hovedsakelig på grunn av dårlige markedsførings-og salgsprispoeng gjennom årene. CFML er faktisk ganske kraftig og overraskende produktiv språk, og er designet for Å VÆRE EN RAD (Rapid Application Development) verktøy. Det har vokst til et betydelig bedre produkt, og fortjener absolutt mer respekt enn det har hatt. Men nok OM CFML, la oss snakke om hvorfor Jeg finner Railo er så imponerende og hva som skiller seg fra konkurransen.

Hva kan du gjøre med Railo?

kanskje den beste måten å svare på dette er å si, ” Hva KAN du ikke gjøre med Railo?”CFML-språket er i hovedsak et stort java-tagbibliotek. CFML har vokst til et imponerende bibliotek gjennom årene, og Railo støtter alt Som Adobes produkt støtter som er i vanlig bruk. (Det er noen forskjell mellom støtte som Både Railo Og Adobe slipper nye versjoner av sine produkter).

kjernefunksjonene I Railos språk gir enkle å lære koder for alt fra databasespørringer til å sende dynamiske e-postmeldinger til skriptforbindelser med ftp og Amazon S3-lagring. Stort sett alt du kan gjøre MED PHP kan du gjøre med Railo. Her er fangsten – generelt sett tar det mindre tid å implementere EN løsning ved HJELP AV CFML enn DET gjør MED PHP, ASP.net Eller Ren Java.

Bruk CFML for det grunnleggende; Utvid Med Java.

Mens Railo gir DEG mange innebygde funksjoner, er den virkelige sannheten i situasjonen At Det Er Java under hetten. Alle kodene og funksjonene blir til slutt kompilert og kjørt Som Java byte-kode. Språket er godt utformet, men slik at du kan mikse OG matche DIN CFML og Java-kode.

For eksempel, hvis du ønsket å lese i en tekstfil, kan du bruke den innebygde taggen CFFILE:

<cffile action= " les "file=" c: webmessage.txt " variable="strContent" > < / cffile > 

dette leser i innholdet i tekstfilen, og lagrer den i den angitte variabelen.

for å vise innholdet i nettleseren, vil du sende det slik:

<cfoutput> # strContent # < / cfoutput > 

for å illustrere hvordan Java kan brukes direkte i koden din, kan denne samme oppgaven gjøres ved Hjelp Av Java-objekter i stedet for de innebygde CFML-kodene som så:

<cfobject type= "Java" class= "java. io. FileReader" Handling = "Opprett" name="myFileReader" > <cfset Resultat = fileReader.init ("c: webmessage.txt");<cfoutput>#strContent#< / cfoutput> 

disse to små kodebitene oppnår de samme målene. MITT poeng er AT CFML-språket ikke er begrenset til BARE CFML, du kan instantiere Og bruke Et Hvilket Som Helst Java-objekt hvor som helst i koden din.

dette gjør språket utrolig fleksibel, siden DU kan bruke CFML koder for raske og enkle oppgaver, og bruke Java for tunge løft der det trengs.

Distribusjons-Og Utviklingsmiljøer

Alle Versjoner av Railo kan lastes ned enten som en “express”, “server” eller “tilpasset” distribusjon. Express edition er ekstremt enkelt for utviklere å komme i gang og innebærer vanligvis bare å dekomprimere en zip-fil på ditt lokale system og starte det opp. Serverpakken kommer sammen Med Caucho Resin, en meget høy ytelse java applikasjonsserver. (Side note-noen av verktøyene som følger Med Resin er ganske imponerende også, inkludert deres all-java implementering AV PHP!). Tilpasset distribusjon pakken er for å lansere Railo på Andre Java servlet containere Som Tomcat eller Weblogic.

Å Sette Opp Railo på en produksjonsserver var ikke vanskelig, gitt at det er litt mer involvert enn å installere Rpm av din FAVORITT PHP-versjon, men dokumentasjon ble lett funnet på Railos nettsted og andre nettsteder funnet Gjennom Google.

Som Adobes produkt kommer Railo med webadministrasjonsverktøy for å administrere server-og programspesifikke innstillinger og ressurser. Dette er et stort steg opp FRA PHP og Linux verden, der du vanligvis trenger å konfigurere mye av programmets innstillinger (datakilder for eksempel) i konfigurasjonsfiler. Railo-administratoren går også noen skritt utover Adobe, og gjør kontekstspesifikke administrasjonskonsoller tilgjengelige, slik at individuelle applikasjoner og nettsteder kan definere sine egne sandkassede datakilder, virtuelle tilordninger og mer. Dette er en veldig fin touch, og har vært en forespurt funksjon i lang tid.

Hvor Railo Skinner

jeg har allerede vurdert noen av grunnene Til At Railo er imponerende. Bortsett fra å være en veldig kraftig RAD, med ytelse som rivaler Eller slår Adobe, Skiller Railo seg videre med noen imponerende funksjoner.

Virtuelle Filsystemer Og Kartlegginger

som utviklere har vi alle hatt å håndtere eksterne eller komprimerte filer på en eller annen gang. Denne funksjonen I Railo gjør i noen få museklikk hva tar hundrevis av linjer med kode. Railo lar deg kartlegge eksterne filsystemer, som FTP, drive aksjer, Og Selv Amazon S3 bøtter og tilordne dem til en virtuell bane i søknaden din! Dette betyr at du kan bruke de enkle innebygde funksjonene for filmanipulering, og behandle disse filene som om de satt rett på det lokale filsystemet. Støtten går enda lenger, og lar deg kartlegge Java jar-filer og .zip-filer, slik at du kan dynamisk referanse og kjøre kode sitter inne komprimerte arkiver.

Sette opp nye tilordninger er et pek-og-klikk affære I Railo administrator eller kan gjøres programmatisk.

Applikasjonsdistribusjon Og Kildekodesikkerhet

Java-verdenen har alltid vært et skritt (ok, flere trinn) foran webapplikasjonsutviklere i emballasje og distribusjon av applikasjoner. Mange utviklere har sine egne hjemmedyrkede metoder for distribusjon av et nettsted, og mange webutviklingsprogrammer, Som Dreamweaver, har EN FTP-basert metode for distribusjon. Til syvende og sist betyr det vanligvis å overlevere ubeskyttet kildekode.

CFML utvikling har vært på samme måte (Ja, Adobe hadde en måte å kompilere .cfm maler, men min forskning viser at det er både klønete å bruke og ikke veldig populært). Railo bringer “Java world” pakke distribusjon TIL CFML utvikling. Du kan kompilere en hel applikasjon Til Java byte-kode, komprimere den til en jar-fil og distribuere den på en annen Railo-server. Railo er enda smart nok til å la deg kartlegge en ekstern jar-fil på ET FTP-område og kjøre den som en lokal webapplikasjon. Dette betyr at du har alle verktøyene du trenger for å distribuere webapplikasjoner og ikke avsløre kilden din.

Innebygd Amf-Støtte For Flex/Flash-Applikasjoner

Siden Adobe åpnet Sine BlazeDS AMF-verktøy, Har Railo integrert dem som gjør et brukervennlig system som “bare fungerer” Med Flash-applikasjoner.

Inter-Application Integrasjon, PDF Og Video Manipulasjon

CFML har allerede stor evne til å integrere med et stort antall databasesystemer og kan utvides til å bruke noen av de store antall åpen kildekode Java-prosjekter.

Railo kan brukes til å snakke Med Amazon Web Services, som EC2 OG S3 for cloud computing applikasjoner. Railo har også innebygde funksjoner for filkonverteringer, for eksempel dynamisk generering Av Pdf-Filer, og programmatisk redigering og formatkonvertering av digital video. Noen få enkle linjer med kode kan konvertere videofilene dine til forskjellige formater, trekke ut miniatyrbilder for webforhåndsvisninger, og så kan du få dem falt På Amazon S3 for å bli servert fra skyen. Veldig kule ting, og verdt å se på noen av eksemplene på Railo nettsiden.

når du ser over kode som bruker disse funksjonene, ser det ganske enkelt ut, og det er utrolig at Railo får dem til å se ut som barns lek, men det er alvorlig inter-systemintegrasjon som skjer bak kulissene. Railo gjør det så veldig enkelt å legge disse evnene til noen web-applikasjon.

Uendelig Utvidbar Med Java

som nevnt ovenfor er det enkelt å påkalle Java-klasser fra CFML-sider. Siden Railo selv kjører I En Java container, betyr det at noen klasser eller kode Fra Java verden kan integreres og brukes med En Railo søknad.

Min Erfaring Med Å Bygge Et Railo-Prosjekt

mitt firma har brukt ColdFusion til flere prosjekter. En av våre kommersielle produkter er bygget på Den og ble opprinnelig designet For Adobe ColdFusion. Vårt produkt gjør mye tunge løft med databaser, internasjonalisering, dokumentformatkonverteringer, PDF-forhåndsvisninger og mye mer.

Tidlig I 2009 gjorde vi en fullstendig konvertering av kilden for å være kompatibel med Railo. Det var bare mindre områder hvor koden vår måtte endres, og de fleste av dem var med tilpasset Java-kode som vi skrev som bare trengte oppdatert til kompatibel med Railos Java-biblioteker. Den hyggelige overraskelsen kom da vi var ferdige og la merke til en betydelig ytelsesøkning som kjører på Railo.

Sammendrag

oppsummert har Jeg vært veldig imponert Over Railo. Det er fellesskapsdrevet; Folkene på Railo er lydhør og virkelig bryr seg om utviklerfellesskapet, og produktet leverer virkelig det det hevder. De har gitt en applikasjonsutviklingsplattform som er både bransjekompatibel og nyskapende. Jeg tror alle erfarne webapplikasjonsutviklere vil kunne sette pris på Hva Railo har å tilby. Jeg tror at en slik kraftig integrasjon gjort så lett med bare noen få linjer med kode vil trekke mye oppmerksomhet. Dette er definitivt en teknologi du bør holde øye med.

Leave a Reply