O que é? Para que serve?
“A maneira mais rápida de desenvolver aplicações web Java”, “A melhor solução para o desenvolvimento de Rich Internet Applications (RIAs)”. Estas são as palavras que descrevem o produto, pela própria Adobe.
Imediatamente já temos aí um argumento muito importante para aqueles que comparam o Java (JEE) com o ColdFusion (CFML). Na verdade, o ColdFusion (CFML) é nada mais nada menos do que um Framework para o desenvolvimento de aplicações Java. Ao escrever um arquivo CFML (.CFM) que fará parte da sua aplicação, no momento da primeira leitura do mesmo por parte do servidor, à partir de um request, este arquivo .CFM será compilado e irá gerar um bytecode Java (.CLASS), que será o arquivo a ser processado pelo núcleo Java no ColdFusion a partir dos demais acessos.
Desta forma, fica claro que o CFML é simplesmente uma abstração da linguagem Java e tem a sua API disponibilizada em forma de TAGs CFML, afim de produzir ao usuário desenvolvedor, maior rapidez baseada na simplicidade adquirida na sintaxe, extrema facilidade de aprendizado e compreensão do código e continuar com a eficiência e outras características que a linguagem Java oferece.
Como todo Framework, o CFML é um que está em constante evolução por parte da engenharia da Adobe. Por isso, embora não tenhamos exatamente toda a API do Java disponibilizada no Framework CFML ColdFusion, toda a API Java pode ser consumida em uma aplicação ColdFusion através do instanciamento e manipulação de classes Java. (Vide exemplo para receber emails de um servidor POP usando SSL)
Mas Java, ASP/ASP.Net*, e PHP são gratuítos!
*Para rodar ASP/ASP.Net é necessário possuir o IIS, portanto o Windows, que é um sistema operacional pago. Logo, não há como usufruir da mesma gratuitamente.
Esse é o argumento mais famoso que um não-usuário ColdFusion levanta no momento em que a tecnologia é citada. Mas embora elas sejam gratuítas, será que elas manterão o baixo custo após a sua adoção?
O gráfico abaixo demonstra que, considerando Licença, Treinamento, Tempo/Custo de Desenvolvimento, Tempo/Custo de Manutenção e Suporte; a adoção do ColdFusion resulta em um custo final muito inferior em relação às demais tecnologias citadas.
Fontes: Sun Developer Network Overview of Java SE Security, MSDN How To: Use Regular Expressions to Constrain Input in ASP.NET, PHP.net Manual – Security Section, Adobe White Paper - Rapid application development for J2EE using Adobe® ColdFusion® 8, Adobe White Paper - ColdFusion 8 developer security guidelines
Os principais fatores que contribuem para que esta afirmação seja verdadeira são os ítens Tempo/Custo de Treinamento/Preparo/Proficiência e Tempo/Custo de Desenvolvimento e Manutenção de sistemas utilizando a tecnologia.
Tendo como comparação o Java, nos gráficos abaixo vemos o tempo médio necessário para que o desenvolvedor seja habilitado a iniciar o desenvolvimento e logo após o tempo para que o mesmo atinja proficiência com a tecnologia:
Esses dois itens estão ligados não somente a custo, mas também com a eficiência do código gerado que irá interferir imediatamente na qualidade do produto final.
Por sua vez, sabemos que a qualidade do código gerado na produção da primeira versão do produto, influenciará tanto no tempo quanto na necessidade de manutenção do código ao longo da sua vida-util, inclusive sendo fator decisivo neste tempo de vida (utilidade), até que se torne obsoleto (por exemplo).
Rapidez e Qualidade no desenvolvimento
O ColdFusion enquadra-se em um tipo de produto denominado RAD que é o acrônimo para Rapid Application Development (Desenvolvimento Rápido de Aplicação). Isso significa imediatamente que com o ColdFusion o desenvolvedor precisará de menos esforço (quantidade de código/implementação) para desenvolver uma solução pronta para ser colocada em produção (publicada/deployed).
Usando mais uma vez o Java como ponto de comparação, podemos ver no quadro abaixo o resultado de uma análise feita pelo time da Adobe (na época ainda Macromedia) com base no código utilizado para se desenvolver a “aplicação de referência” da Sun (desenvolvedora do Java) denominada “Pet Store” e a aplicação comparativa, desenvolvida pela Adobe/Macromedia denominada “Pet Market”.
Isso nos remete mais uma vez a custo, já que para escrever mais código é necessário mais tempo. Considerando tempo como hora/trabalho de um profissional, fica claro então que ao longo do uso do ColdFusion como tecnologia server-side para desenvolver aplicações em uma empresa, seu custo é gradativamente menor, enquanto a adoção de outras tecnologias resultará em um custo inicialmente muito mais baixo inicialmente mas gradativamente muito maior.
Mas a hospedagem de ColdFusion é sempre mais cara que as demais opções
Isso se dá pelo fato de que para o provedor oferecer esta opção, é necessário que o mesmo adquira uma licença Enterprise do produto. Assim, para oferecer aos seus clientes a opção de hospedagem ColdFusion, o provedor repassa esse custo.
Porém, como já vimos nos tópicos anteriores, a rapidez (produtividade) que o Framework CFML provê, fará com que o desenvolvedor consiga ser mais ágil e assim conseguirá atender mais clientes em menor espaço de tempo. Desta forma obterá lucro superior do que trabalhando com outra tecnologia escolhida simplesmente pelo fator de custo de hospedagem um pouco menor.
Para seu cliente que irá pagar pela hospedagem, a economia estará no menor tempo de desenvolvimento da sua solução por parte do desenvolvedor, resultando assim em um menor custo tanto de desenvolvimento quanto de manutenção, como já vimos nos tópicos anteriores.
Além desses argumentos, vale citar que sempre, o menor fator em relação ao custo de propriedade, está relacionado justamente ao serviço de hospedagem.
Quem usa ColdFusion no Brasil e no mundo?
A Adobe possui registro de mais de 10.000 (dez mil) empresas e 500.000 (quinhentos mil) desenvolvedores (dados do Evans Data Corporation em 2007) que escolheram o ColdFusion como tecnologia de servidor de aplicações RAD em todo o mundo. Este grupo é responsável por 125.000 (cento e vinte e cinco mil) instâncias de servidores ColdFusion em em funcionamento.
Neste link do site da Adobe, você poderá ver uma listagem de 75 empresas que fazem parte da lista das 100 empresas mais bem sucedidas do mundo segundo a revista Fortune, alguns com links para os seus respectivos estudos de caso.
Aqui no Brasil as empresas mais conhecidas que utilizam ColdFusion são: Correios, Embraer, Ministério da Saúde, Prefeitura do Rio de Janeiro, Aços Vilares, Aneel, Assembléia Legislativa da Bahia, DClick (especialista em RIA no Brasil), Fio Cruz, Fundação Getúlio Vargas, Ministério do Meio Ambiente, Prefeitura do Rio de Janeiro e muitas outras que podem ser vistas no projeto CFEmpresas do grupo de usuários CFUGBR.
Voltado para o Futuro. Rich Internet Applications
Se você é um profissional atualizado e em dia com as inovações que o mercado de tecnologia vem sofrendo nos ultimos 5 anos principalmente, você já deve ter ouvido falar de Rich Internet Application (RIA). Este termo, refere-se a um novo modelo de desenvolvimento de soluções Web (e de aplicações Desktop que se valem de recursos Web) que procuram utilizar da melhor, mais otimizada e eficientemente possível forma, os recursos técnicos das máquinas (clients) que acessam essas aplicações, tendo como principal objetivo oferecer ao usuário métodos mais eficientes de concluirem suas tarefas.
A Adobe, detentora da tecnologia Flash, saiu na frente neste mercado. Tendo como objetivo ofertar a melhor e mais completa plataforma para o desenvolvimento de RIAs, não só o Flash mas diversos outros produtos da Adobe – principalmente o ColdFusion – passaram por diversos estudos e modificações para atender este propósito. Com isso surgiram também diversos outros produtos como o Flex, o AIR e o LiveCycle Data Services, todos eles tendo como base técnica primordial o protocolo AMF (Action Message Format).
O protocolo AMF (criado pela Adobe), trata-se resumidamente de um protocolo de serialização e desserialização de objetos em modo binário, que aumenta a eficiência e rapidez da transmissão de dados entre aplicações. Por ser binário, este processo se mostra inclusive muito mais eficiente do que a utilização de transporte de dados textuais normalmente empregados em soluções AJAX através de JSON e XML.
O LiveCycle Data Services, que é parte do ColdFusion mas também está disponível como produto individual e para o qual também existe um equivalente open-source (BlazeDS), oferece hoje a melhor solução para integração de dados com aplicações RIA existente no mercado, e é o único produto existente hoje a ser constiuído com a mais recente versão da especificação AMF.
Desta forma, o ColdFusion torna-se incontestável, diferencial e altamente considerável como vantagem em relação ao desenvolvimento de solução back-end para o desenvolvimento de aplicações RIA.
Ainda sobre o futuro, é importante analisar as palavras do atual Gerente de Tecnologia da Adobe, Sr. Kevin Lynch:
“O ColdFusion é parte importante na nossa estratégia de permitir o desenvolvimento rápido de RIA atraentes e nós estamos continuamente investindo em novos recursos para isso no ColdFusion”
Quanto aos recursos técnicos, este artigo já abordou bastante à respeito. Mas é importante notar que há um compromisso da Adobe com o futuro do mesmo, vez que ele é realmente parte importante da estratégia da empresa para oferecer uma solução de desenvolvimento RIA completa.
Isso fica ainda mais claro quando a própria Adobe divulga o gráfico abaixo que representa parcialmente os planos para as próximas versões do ColdFusion, batizadas em fase de projeto como Centaur, Sully e Link:
Conclusão: Dê ao ColdFusion uma chance!
O ColdFusion precisa de apenas 1 chance para certamente tornar-se a sua tecnologia preferida para o desenvolvimento de soluções Web AJAX e RIA. Siga os seguintes passos:
1. A versão para desenvolvimento equivale à edição Enterprise do produto (com todos os recursos habilitados) e é totalmente gratuita. Roda em qualquer sistema operacional e possui um processo de instalação muito prático. DOWNLOAD
Importante: Vale citar ainda que o ColdFusion é totalmente gratuíto para instituições de ensino de desejem implementá-lo como recurso de aprendizado para seus alunos. VEJA AQUI.
2. Se você quiser seguir o caminho mais rápido para dominar a tecnologia, faça um treinamento em um centro de treinamento oficial da Adobe que lhe instruirá com um profissional e material didático credenciado pela própria Adobe.
3. Cadastre-se em um grupo de discussão como o CFBRASIL (lista de discussão/forum), liderado pelo CFUGBR (grupo de usuários oficial Adobe) para esclarecer suas dúvidas com os mais experiêntes desenvolvedores ColdFusion no Brasil.
Fonte: Ria Brazil
Compartilhar o máximo de informações sobre ColdFusion com a comunidade desenvolvedores web, mostrando assim seu grande diferencial para as complexas tomadas de decisões, como, qual linguagem de programação usar ou o tempo do retorno do investimento.




