ColdFusion é na Locaweb

Ainda não acredita que o melhor hosting de ColdFusion do país está na Locaweb?

Então veja aqui mais uma prova disso.

(e mais uma vez: não, eu não ganho nenhum tostão para promovê-los, acontece que o serviço é bom mesmo!)


Novos drivers JDBC para o CFMX

A Macromedia disponibilizou hoje uma atualização importantíssima para o ColdFusion MX 6.1. Esta atualização incorpora ao CFMX os novos drivers DataDirect 3.3 (o CFMX 6.1 vêm com a versão 3.2 originalmente).

A versão anterior apresentavar problemas em algumas situações, o que poderia provocar o travamebnto do serviço do CFMX.

Confira o TechNote atualizado e baixe a correção.

OBS: Para os adeptos do “pacotão tabajara“, a correção já está presente no mesmo, atualizado hoje.


pegaData CustomTag

Acabo de atualizar a custom tag “pegaData” que criei outro dia e postei na lista CF-Brasil. Utilizo com freqüência por aqui, vale a pena tê-la sempre à mão quando aparecerem campos onde o usuário deve inserir uma data e você deseja inserir um “date picker” ou “date chooser” de forma simples e rápida. Ok, ok… o Flash tem duzentos componentes para fazer a mesma coisa e de maneira muito mais cheirosa e bonita… Acontece que na maioria das vezes eu ainda estou na era do HTML… 🙂

A tag é “open source” e pode ser modificada como quiser. Faça bom uso!

Exemplo e download:
http://www.alexhubner.com/pegaData


PHP estável sob Windows?

Será mesmo? A Zend está lançando no mercado um novo servidor de aplicações PHP exclusivo para plataforma Windows. Eu nunca usei PHP porque meus servidores são exclusivamente Windows (nada contra Linux, apenas uma questão de competência – minha – no setting destes servidores). O produto se chama WinEnabler e promete oferecer a mesma confiabilidade e performance do PHP sob Linux em ambiente Windows.

Confiram:

http://www.zend.com/store/products/zend-win-enabler.php

Como quase tudo para o mundo Windows, custa alguns dolares (poucos, é verdade).


Site indispensável

http://www.dnsstuff.com – site indispensável para todo curioso da rede que se preze (como eu).


Flex disponível, mas… quem vai pagar por ele?

A Macromedia lançou hoje o servidor de “front-end” Flex. O Flex foi alvo de muitas especulações, rumores e comentários durante o seu longo (e secreto) processo beta. Hoje muitas informações já estão disponíveis em blogs e claro, no próprio site da Macromedia. Para entender de forma bastante consciente e resumida o que é o Flex é ele é capaz de fazer, sugiro uma leitura deste post no blog do Ben Forta.

Eu sinceramente ainda não entendi muito bem o que a Macromedia quer com o Flex em oposição à IDE Flash e sua bem consolidada (e crescente) posição no mercado como solução de desenvolvimento RIA. Talvez um complemento? Bem, lamento constatar/dizer que este “complemento” tem seu preço mínimo fixado em módicos U$ 12.000,00/2CPUs…

O produto é muito interessante e a idéia é fantástica, mas ainda não conheço quem prefira pagar uma bagatela destas apenas para poder gerar uma interface RIA em linha de código (.mxml) ao invés de usar a IDE do Flash com algum servidor de aplicações disponível e “integrável”, como o CFMX.

Uma outra coisa deve ser observada: o desenvolvimento deste software foi muito fechado e regado a segredos, apenas uns poucos previlegiados (talvez em $ também) tiveram acesso ao programa beta desde o início. O ciclo beta foi exclusivíssimo, deixando de fora muita gente que habitualmente participa dos programas beta da Macromedia para a linha de servidores. Semana passada, entretanto (menos de uma semana para o lançamento oficial), o “beta” do Flex foi aberto ao público comum (o “povão”). Está claro que a MM liberou este “beta” da semana passada apenas como redenção às críticas pelo processo fechado e exclusivista do que por qualquer interesse em melhorar o produto. Se você comparar o beta e a versão final, trial, vai perceber que se trata do mesmo produto, sem alterações…

Segredos, segredos… Espero que estes tenham uma boa razão de ser.

UPDATE: enquanto isso delicie-se com este post no MossyBlog. Interessante notar que opiniões parecidas se formam no mundo sem que necessariamente sejam previamente compartilhadas entre as pessoas.


ColdFusion na liderança

Vale a pena dar uma olhada neste interessante gráfico da Netcraft, que faz uma comparação entre ColdFusion, JSP e ASP.Net:

Veja um post relacionado aqui.

[via Forta]


Evento da Afterweb em São Paulo

A Afterweb irá promover no dia 28 de Abril em São Paulo dois eventos gratuitos, um relacionado a produtos Macromedia na parte da manhã e outro a tarde para produtos da Adobe.

Eu estarei lá falando sobre Dreamweaver e ColdFusion na parte da manhã. Outras palestras serão sobre o Director, os novos RoboDemo e RoboHelp, e o favorito da galera, o Flash, em que será mostrado como é feita a integração com vídeo.

Ainda na parte da manhã iremos apresentar um estudo de caso do primeiro e-commerce 100% RIA do Brasil.

Mais informações e inscrições:
http://www.afterweb.com.br/seminar/


As “vilãs” CFOBJECT e CreateObject()

Hoje na lista CF-Brasil surgiu um assunto interessante sobre o porquê de algumas tags serem desabilitadas em provedores hospedagem compartilhada ColdFusion, especialmente a tag CFOBJECT e a função CreateObject(). Re-posto aqui a minha mensagem para a lista.

Na verdade poucos sabem, até porque a maioria dos provedores de hospedagem não configura seus servidores corretamente, mas a tag CFOBJECT e a sua função correlata CreateObject não deve ser habilitada numa hospedagem compartilhada ColdFusion MX (mesmo aquelas que fazem uso de sandbox security) por oferecer riscos às aplicações que ali residem. Os riscos vão desde manipulação de variáveis de uma aplicação qualquer até o acesso a datasources e arquivos (“sandboxeados” ou não). Deixando estas tags habilitadas o servidor torna-se um prato cheio para indivíduos mal intencionados e que conheçam um pouco mais a fundo o runtime do CFMX e da própria plataforma Java. Não se compara com a facilidade de se manipular e abusar do servidor com CFFILE sem sandbox security configurado (o que muitos ainda fazem), mas é bastante real e possível. Isso é um prato cheio para discussões em listas de fora e blogs de especialistas, dê uma googlada sobre o assunto que você terá muitos resultados, incluindo scripts para quem quiser brincar e conferir o que estou dizendo.

Em ambiente compartilhado (mesmo com sandbox security ativada) todos os “sites” do CFMX compartilham uma mesma instância do Java Machine (JVM). Desta maneira uma série de informações que deveriam ser exclusivas de uma determinada aplicação/site ficam expostas para consulta e alteração por todos os usuários que “habitam” aquela mesma instância de JVM (no caso do CFMX de todos os sites usando esta tecnologia). Para exemplificar, confira o script abaixo, que permite a visualização (e alteração se você quiser) de um enorme repositório de informações sensíveis do CFMX:

createobject.gif

Em versões CFMX 6.0 pré SP1 era possível descobrir a senha do administrator com um simples scriptzinho. A Macromedia foi “tapando os buracos” aos poucos, mas de uma maneira que o pessoal costuma chamar “security by obscurity”, ou seja, escondendo a brecha mas não eliminando-a por completo. A coisa não se restringe somente ao próprio servidor CF, mas às aplicações rodando em todo o servidor. Você pode alterar variáveis, conhecer seus valores (ex: variáveis de sessão armazenando dados sensíveis como cartões de crédito etc) e por aí vai. Este é um defeito (minha opinião) da plataforma JRun e há tempos a Macromedia não corrige ou altera isso, apesar dos inúmeros pedidos da comunidade. Deve ser algo difícil por ser estrutural e inerente ao produto.

Desta maneira a única maneira de se hospedar CFMX de forma completa (sem limitação de tags) e totalmente segura e em ambiente “compartilhado” é criar multiplas instâncias de CFMX (mais conhecido como CFMX for J2EE, configuração presente na nova versão Enterprise do 6.1), seja sob o JRun (nativo) ou sob outro servidor J2EE. O problema é que cada instância terá a sua JVM exclusiva e isso consome muito mais recursos do servidor, limitando o número de contas que podem ser adicionadas à máquina (umas 50-100 contas para um servidor P4 (single CPU) com 1-2Gb de RAM num chute, imaginando o consumo de uns 30-40 Mb por cada instância/jvm, tal como a Macromedia teoriza). Trata-se de uma hospedagem “semi-dedicada” por assim dizer e por isso não devemos encará-la como “compartilhada”.

A dobradinha JBoss/TomCat (Apache), por exemplo, permite isolar aplicações de forma completa compartilhando uma única JVM. Porém o CFMX com TomCat ainda não é oficialmente suportado (veja este technote e este artigo) pela Macromedia. Dessa maneira torna-se um setting mariginal, difícil de garantir que vai rodar numa boa, inclusive com upgrades do CFMX, apesar de ser tecnicamente possível. Quem sabe no futuro?

Concordo que é um GRANDE limitador para a tecnologia e esta é a minha maior crítica ao servidor CFMX (leia o meu guia de configuração de sandboxes para ambiente compartilhado em CFMX), mas se você for parar para pensar, há muita coisa boa que pode ser feita (inclusive mimetizar orientação à objetos com CFCs) sem usar esta tag/função. A idéia é: uma hospedagem ColdFusion é uma hospedagem ColdFusion, ponto final. Não é uma hospedagem Java ou similar, apesar do CF suportar nativamente isso.

Com relação as outras restrições tratam-se de questões de performance e/ou de segurança menores (leia as minhas considerações no tal guia). Você pode, sozinho, degradar muito a performance do servidor inteiro se inventar moda de indexar a cada segundo seus índices Verity, ou então “schedular” 200 scripts CFM de 400K e mais cem queries para rodar a cada segundo… sim, tem “programadores” com esta capacidade…. E isso não é exclusivo do CF, em qualquer outra tecnologia temos estes problemas em ambientes compartilhados.


Security Patch para CFMX

A Macromedia acaba de lançar uma correção de segurança para o ColdFusion MX (todas as versões) e JRun 4.0 que corrige um bug que permitia ataques DoS, através de requests SOAP, contra servidores CFMX que estivessem oferecendo (publicando) webservices.

MPSB04-04 Security Patch available for ColdFusion MX and JRun 4.0 Web Services DoS

Esta correção já está adicionada ao Pacote de correções para CFMX 6.1 do CFGIGOLÔ.