quarta-feira, 17 de agosto de 2011

Porque não se usa Plataforma WEB para Processamento de Dados

Noite sem sono é bom para escrever e ver o que as pessoas andam falando. Agora a pouco vi uma pessoa na lista de ColdFusion, questionando o porque não se deve usar plataformas web para processamento de dados.

Bom com isso me lembrei dos tempos de segundo grau e faculdade, quando os professores falavam do assundo, e eu me esforçava para não dormir e tentar acompanhar o raciocínio.

Por sorte consegui entender e vou tentar passar o cenário da forma mais clara possível.

Quando se fala em "Processamento de Dados", estamos falando do ato de pegar dados recebidos, seja qual for o meio e processa-los para gerar informação. Com isso você vai pensar "Isso eu faço com ColdFusion, Railo, PHP, ASP, ASP.NET, JSP, etc...", e você esta certo em pensar isso.

Por outro lado, linguagens como as que eu mencionais e outras voltadas a internet possuem um fluxo de processamento próprio, todas elas vão depender de uma especificação em comum, devem estar associadas a um servidor web e serão obrigatóriamente executadas através de um navegador.

Para se processar dados temos como fluxo primário um arquivo de lote ou batch que deverá seguir um padrão que deve ser estabelecido, analisado e testado de forma a não ter necessidade de modificações que afetem versões anteriores e que levem o menor tempo possível para serem processados.

Com os dias de hoje onde tudo gira em torno de tecnologia, esses dois conceitos acabam se perdendo e tendo que ser relembrados a todo momento.

Quando se desenvolve um sistema, seja ele Mobile, Desktop ou Web, temos que realizar algo chamado analise de sistema, é onde se pensa em todo o sistema, como ele vai funcionar, quantos usuários simultaneos teremos, consumo de bande etc. Com a pratica de pastelaria de mercado, essa etapa que pode levar entre um mês até seis meses é simplesmente ignorada, e é iniciado o processo de remendos, onde a cada problema no desenvolvimento, cria-se uma forma de contornar o problema.

Essa prática, normalmente geram projetos de baixo custo e alto risco ao usuário final e aplicamos o antigo ditado popular "o barato, sai caro".

O processamento em lingaguem web não deve ser feito para não existirem erros externos como o servidor web parar, a conexão cair e coisas do tipo, a diferença é simples: O que é melhor? Mudar o canal no controle remoto da sua TV ou todas as vezes levantar do sofá para faze-lo? Ambos levam o mesmo resultado, mas em um dia de muito frio, ou quando se estiver impossibilidado de levantar do sofá por qualquer motivo, você vai pensar "Porque não me preocupei com o controle remoto".

Imagine que os dados a serem processados estão dentro de uma base em um ambiente seu, porque acessar uma página web para recuperar dados dentro do seu servidor? Porque parar o processamento quando a internet cair, se seu acesso todo é local e pior, porque consimir banda para acessar dados locais? É como tirar o carro da garagem para visitar o visinho da esquina.

Uma vez entendido o porque não fazer, vem a pergunta: E o que eu devo usar para processar os dados?

Para as pessoas que trabalham com hospedagem compartilhada e precisam fazer esse processo, a melhor opção é criar uma stored procedure na sua base de dados para realizar o processamento de dados, se seu banco de dados não tem esse suporte só posso dizer "O barato sai caro".

Para pessoas que tem servidores próprios, como VPS, Dedicados, Semi-Dedicados, Clouds etc, a melhor opção é criar um programa para ser instalado no servidor que vai fazer esse processo, afinal o banco de dados, deve apenas, validar e armazenar e não processar dados.

Com relação a linguagens para se fazer isso, as opções são muitas, mas se sua praia é web as melhores opções são: o ActionScript 3 utilizando o Adobe Air (para todas as linguagens), Java (para programadores jsp, java e ColdFusion), C ou C++ (para programadores PHP ou ColdFusion) ou .NET (para programadores .NET ou ColdFusion).

3 comentários:

  1. Voce falou uma coisa muito importante que me relembrou meus velhos tempos: analise de sistemas.
    Hoje em dia, quase ninguem faz iso mais.
    Excelente post. Parabens.

    ResponderExcluir