Introdução ao Railo Open Source

Railo é um servidor de aplicativos Java de código aberto que implementa CFML (ColdFusion Markup Language), uma linguagem baseada em tags do produto comercial da Adobe “ColdFusion.”Seu desempenho é excelente e inclui recursos que aumentam significativamente a produtividade.

Railo é um relativamente recém-chegado, mas tem feito algumas ondulações impressionantes na indústria ultimamente. Este artigo é uma cartilha sobre algumas das vantagens críticas do Railo e por que vale a pena procurar seriamente o desenvolvimento de aplicativos da web.

o ColdFusion não está morto?Alguns anos atrás, um artigo foi publicado nomeando 10 tecnologias que estavam mortas ou morrendo, e para surpresa de muitas pessoas, ColdFusion estava nessa lista. Isso causou muitas ondas. Uma coisa sobre os desenvolvedores CFML – eles são apaixonados por sua linguagem de programação!

o ColdFusion teve um sucesso moderado em mercados verticais específicos, mas foi notavelmente bem aceito pelo Governo dos EUA. Em comparação com as linguagens de desenvolvimento dominantes, CFML nunca pareceu encontrar um favor real com as massas. Como o ColdFusion foi reprojetado para ser executado inteiramente em Java, e com a chegada do Adobe Flex há alguns anos, que integra Flash e ColdFusion, isso mudou um pouco. O produto ColdFusion da Adobe se integra tão bem ao Flex que gerou um novo interesse.

uma das maiores reclamações sobre o Adobe ColdFusion sempre foi o preço. Foi minha experiência que os desenvolvedores CFML se consideram colegas da indústria de desenvolvedores LAMP (Linux, Apache, MySQL, PHP), que usam todas as ferramentas de código aberto. A maioria dos desenvolvedores de lâmpadas considera suas habilidades muito maiores do que as dos desenvolvedores de CFML. Isso só alimentou a fúria ao longo dos anos dos desenvolvedores de CFML que afirmam que o investimento na compra do ColdFusion é um rápido retorno sobre o investimento, uma vez que o CFML é muito mais produtivo.

agora vem Railo, oferecendo uma solução gratuita e de código aberto para os sonhos dos desenvolvedores CFML. Não só é gratuito, mas também tem um desempenho fantástico, é estável e é atualizado com bastante frequência. Esta é uma boa notícia para a CFML, que é, na minha opinião, altamente subestimada, principalmente devido a baixos pontos de marketing e preço de venda ao longo dos anos. CFML é realmente uma linguagem poderosa e surpreendentemente produtiva, e foi projetado para ser uma ferramenta RAD (Rapid Application Development). Tornou-se um produto significativamente melhor, e certamente merece mais respeito do que teve. Mas o suficiente sobre CFML, vamos falar sobre por que acho que o Railo é tão impressionante e o que se distingue da concorrência.

o que você pode fazer com Railo?

talvez a melhor maneira de responder a isso seja dizer: “o que você não pode fazer com Railo?”A linguagem CFML é essencialmente uma grande biblioteca de tags java. O CFML tornou-se uma biblioteca impressionante ao longo dos anos e o Railo suporta tudo o que o produto da Adobe suporta que está em uso convencional. (Há alguma diferença entre o suporte, pois Railo e Adobe lançam novas versões de seus produtos).

os principais recursos da linguagem Railo fornecem tags fáceis de aprender para tudo, desde consultas de banco de dados até o envio de mensagens de E-mail dinâmicas a conexões de script com armazenamento ftp e Amazon S3. Praticamente qualquer coisa que você pode fazer com PHP você pode fazer com Railo. Aqui está o problema-de um modo geral, leva menos tempo para implementar uma solução usando CFML do que com PHP, ASP.net ou Java puro.

Use CFML para o básico; estender usando Java.

enquanto Railo lhe dá um monte de construído em funções, a verdade real da situação é que é Java sob o capô. Todas as tags e funções são compiladas e executadas como código de bytes Java. A linguagem é bem projetada, no entanto, para que você possa misturar e combinar seu código CFML e Java.

por exemplo, se você quiser ler em um arquivo de texto, você pode usar o built in tag CFFILE:

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

isso lê no conteúdo do arquivo de texto e o armazena na variável especificada.

para exibir esse conteúdo no navegador da web, você o produziria assim:

<cfoutput>#strContent#</cfoutput>

Para ilustrar como o Java pode ser usado diretamente no código, essa mesma tarefa pode ser feita usando objetos Java em vez de o construído em CFML tags, como por:

<cfobject tipo="Java" class=" java.io.FileReader" Action="Criar" name="myFileReader"><cfset Resultado = fileReader.init ("c: webmessage.txt");<cfoutput>#strContent#</cfoutput>

Estes dois pequenos pedaços de código alcançar os mesmos objetivos. Meu ponto é que a linguagem CFML não se limita a apenas CFML, você pode instanciar e usar qualquer objeto Java em qualquer lugar dentro do seu código.

Isso torna a linguagem incrivelmente flexível, já que você pode usar as tags CFML para tarefas rápidas e fáceis e usar Java para levantamento pesado quando necessário.

ambientes de implantação e desenvolvimento

todas as versões do Railo podem ser baixadas como uma implantação” expressa”, “servidor” ou “personalizada”. O express edition é extremamente fácil para os desenvolvedores se levantarem e funcionarem e geralmente envolve apenas descompactar um arquivo zip em seu sistema local e iniciá-lo. O pacote de servidor vem junto com Caucho Resin, um servidor de aplicativos java de alto desempenho. (Nota lateral-algumas das ferramentas incluídas no Resin também são bastante impressionantes, incluindo sua implementação totalmente java do PHP!). O pacote de implantação personalizado é para lançar Railo em outros contêineres de servlet Java, como Tomcat ou Weblogic.

configurar o Railo em um servidor de produção não foi difícil, pois é um pouco mais envolvido do que instalar RPMs de sua versão PHP favorita, mas a documentação foi facilmente encontrada no site da Railo e em outros sites encontrados no Google.

como o produto da Adobe, o Railo vem com ferramentas de administração da web para gerenciar as configurações e recursos específicos do servidor e do aplicativo. Este é um grande passo do mundo PHP e Linux, onde você normalmente precisa configurar muitas das configurações do seu aplicativo (Fontes de dados, por exemplo) em arquivos de configuração. O administrador do Railo também vai alguns passos além da Adobe e disponibiliza consoles de administração específicos de contexto, para que aplicativos e sites individuais possam definir suas próprias fontes de dados em sandbox, mapeamentos virtuais e muito mais. Este é um toque muito bom, e tem sido um recurso solicitado por um longo tempo.

onde Railo brilha

eu já revi algumas das razões pelas quais Railo é impressionante. Além de ser um RAD muito poderoso, com desempenho que rivaliza ou bate Adobe, Railo se distingue ainda mais com alguns recursos impressionantes.

Sistemas de arquivos virtuais e mapeamentos

como desenvolvedores, todos nós tivemos que lidar com o gerenciamento de arquivos remotos ou compactados em um momento ou outro. Esse recurso no Railo faz em poucos cliques do mouse o que leva centenas de linhas de código. O Railo permite mapear sistemas de arquivos remotos, como FTP, compartilhamentos de unidades e até mesmo buckets do Amazon S3 e atribuí-los a um caminho virtual em seu aplicativo! Isso significa que você pode usar as funções integradas simples para manipulação de arquivos e tratar esses arquivos como se estivessem diretamente no sistema de arquivos local. O suporte vai ainda mais longe, e permite mapear arquivos jar Java E.arquivos zip, Para que você possa fazer referência e executar código dinamicamente dentro de arquivos compactados.

configurar novos mapeamentos é um assunto de apontar e clicar no Administrador do Railo ou pode ser feito programaticamente.

distribuição de aplicativos e segurança de código-fonte

o mundo Java sempre foi um passo (tudo bem, várias etapas) à frente dos desenvolvedores de aplicativos da web na embalagem e distribuição de aplicativos. Muitos desenvolvedores têm seus próprios métodos caseiros para implantar um site e muitos aplicativos de desenvolvimento da web, como o Dreamweaver, têm um método de implantação baseado em FTP. Em última análise, geralmente significa entregar o código-fonte desprotegido.

o desenvolvimento do CFML foi da mesma maneira (Sim, A Adobe tinha uma maneira de compilar .modelos cfm, mas minha pesquisa mostra que é desajeitado de usar e não muito popular). Railo traz a implantação do pacote” Java world ” para o desenvolvimento CFML. Você pode compilar um aplicativo inteiro para o código de bytes Java, compactá-lo em um arquivo jar e implantá-lo em qualquer outro servidor Railo. Railo é ainda inteligente o suficiente para deixá-lo mapear um arquivo jar remoto em um site FTP e executá-lo como um aplicativo da web local. Isso significa que você tem todas as ferramentas necessárias para implantar aplicativos da web e não expor sua fonte.

construído em suporte AMF para aplicações Flex/Flash

desde Adobe open-source suas ferramentas BlazeDS AMF, Railo integrou-los fazendo um sistema fácil de usar que “só funciona” com aplicativos Flash.

Inter-Integração de aplicações, PDF e Manipulação de Vídeo

CFML já tem grande capacidade de integração com um grande número de sistemas de banco de dados e pode ser expandido para usar qualquer um dos grande número de código aberto projetos em Java.O Railo pode ser usado para falar com a Amazon Web Services, como EC2 e S3 para aplicativos de computação em nuvem. O Railo também possui recursos integrados para conversões de arquivos, como geração dinâmica de PDFs e edição programática e conversões de formato de vídeo digital. Algumas linhas simples de código podem converter seus arquivos de vídeo para diferentes formatos, extrair miniaturas para visualizações da web e, em seguida, você pode deixá-los cair no Amazon S3 para serem servidos na nuvem. Coisas muito legais, e vale a pena olhar para alguns dos exemplos no site Railo.

à medida que você olha sobre o código que usa esses recursos, parece bastante simples e é incrível que Railo os faça parecer brincadeira de criança, mas há uma séria integração entre sistemas acontecendo nos bastidores. Railo torna muito fácil adicionar esses recursos a qualquer aplicativo da web.

infinitamente expansível com Java

como mencionado acima, é fácil invocar classes Java de dentro das páginas CFML. Como o próprio Railo é executado em um contêiner Java, isso significa que qualquer classe ou código do mundo Java pode ser integrado e usado com um aplicativo Railo.

minha experiência construindo um projeto Railo

minha empresa usou o ColdFusion para vários projetos. Um de nossos produtos comerciais é construído sobre ele e foi originalmente projetado para Adobe ColdFusion. Nosso produto faz muito trabalho pesado com bancos de dados, internacionalização, conversões de formato de Documento, visualizações de PDF e muito mais.

no início de 2009, fizemos uma conversão completa da fonte para ser compatível com Railo. Havia apenas pequenas áreas onde nosso código precisava mudar, e a maioria delas estava com código Java personalizado que escrevemos que simplesmente precisava ser atualizado para compatível com as bibliotecas Java da Railo. A agradável surpresa veio quando terminamos e notamos um aumento significativo de desempenho rodando em Railo.

resumo

em resumo, fiquei muito impressionado com o Railo. É voltado para a comunidade; as pessoas da Railo são responsivas e realmente se preocupam com a comunidade de desenvolvedores, e o produto realmente oferece o que afirma. Eles forneceram uma plataforma de desenvolvimento de aplicativos que é compatível com o setor e inovadora. Acho que todos os desenvolvedores de aplicativos da web experientes poderão apreciar o que o Railo tem a oferecer. Acredito que essa integração poderosa feita tão facilmente com apenas algumas linhas de código chamará muita atenção. Esta é definitivamente uma tecnologia que você deve ficar de olho.

Leave a Reply