OutBlogger - Free Blog Host - Article Directory...
Your Source For Information
46444 Articles Listed


.: O Porque e Como do SIW

Já vi muitos projetos para Internet irem para o buraco, porque o ele teria muito dado dinâmico, relatórios etc, mas foi totalmente guiado por profissionais de design e não de sistemas.

Da mesma forma, que já vi projetos não chegarem ao seu devido lugar, porque os profissionais de sistemas não tinha o conhecimento e visão do potencial da interface web.

A Interface Web é Poderosa... e quando falamos em Sistemas com Interface Web - SIW, nos temos um mundo totalmente novo de possibilidades, principalmente na tão falado Return Of Investiment - ROI, bem como reduz os custos com:
- Instalação de sistemas
- Atualizações
- Treinamento
- Equipamentos caros e poderosos
- Licenças de sistemas operacionais dos clientes
- Licenças de servidores de banco de dados e processos

Fora, que os SIW dão um maior poder para ambos os lados e esse grande poder, está nas opções que você pode incluir após o a extensão do arquivo, como ex.: arquivo.asp?o=10&t=20. O ? é o cara que no meu ver, é a grande diferença perante os sistemas GUI - Interface de Usuário Gráfica. A idéia, é que você pode chamar o mesmo programa (script) para executar funções ou comportar-se de maneiras diferentes a qualquer momento, com somente um clique do mouse.

Muitos podem dizer que a Interface Web é complexa e de difícil desenvolvimento e manutenção. Eu concordo em número e grau, mas isso também acontece com qualquer ambiente, até mesmo o antigo Clipper no DOS.

Os SIW são poderosos e valem todo custo que você tiver, porque com certeza a sua organização reduzirá os custos em comparação com os sistemas, que vamos chamar de legados. Este é o principal motivo, que vejo do porque estudar, pesquisar e investir nos SIW.

O motivo de enfatizar tanto o SIW, é que não estou falando em sites dinâmicos, estou falando em verdadeiros sistemas, mas sendo executados totalmente na Interface Web. Podemos fazer qualquer sistema 100% baseado em ASP/PHP/JSP/etc + Browser. Se você puder usar algum componente ActiveX/Java, você aumenta o poder e se ainda usar XML, não terá limites.

Porque então não há tantos SIWs no mercado?
As ferramentas existentes, estão sempre focadas nos sistema com o foco em Design, Página e Resultado. Com isso, você é obrigado a estar sempre pensando em páginas em vez de programas, para você obter um resultado, você terá que copiá-lo para tantos programas/páginas que você precisar... isso vai bem, quando estamos desenvolvendo, mas chega o designer ou o cliente e diz que quer uma pequena mudança... Pronto... Tudo que você fez vai por água baixo e você terá que refazer MUITA coisa.

- Você poderá dizer, mas eu tenho algumas bibliotecas de funções etc etc...
- Outros poderão dizer, que é por isso que o SIW não é tão bem quisto
- A falta de ferramentas é outro problema
- Que ainda falta o ambiente maduro o suficiente, apesar de ter o ASP 6, PHP 5, JSP sei lá das quantas , Cold Fusion MX YZ 2000 Plus...

O que falta é realmente método e coragem
Lembro-me quando coloquei a mão no Clipper Winter acho que 86, eu só olhei, tinha algumas folhas de manual e mais nada... olhei para aquilo tudo, peguei o conhecimento que tinha de Cobol, Mumps e Basic e sai testando... o negócio era ler e gravar dados, ler e apresentar na tela e depois, mandar para impressora.

O complicado, foi sozinho sacar disso tudo, usando algumas páginas do manual em inglês (meu inglês não era lá essas na época), alguns exemplos e muita, mas muita imaginação mesmo.

Depois de alguns dias, sai com um pequeno sistema com entrada de dados, saída na tela e algumas listagens... sucesso... foi até fácil, comparando-se com o trabalho que foi com o Mumps ou Cobol.

Novo conceito de apresentação
Os SIW, no meu ver, parecem na realidade com relatórios impressos, ou terminais de vídeo TTY, onde você tem que pensar durante a apresentação, sempre da esquerda para a direita e de cima para baixo - LR-TD (right-left, top-down). Quando digo impressora, é porque é isso mesmo... uma vez enviado para o Browser, você não tem mais como corrigir o que foi enviado, só se você cancelar a página e reenviar, mas a página/dados enviados, já foram processados/impressos.

Se você olhar para os sistemas GUI, você terá um outro conceito, totalmente baseado em objetos fixados na tela com o posicionamento absoluto, totalmente gerenciado pelo ambiente de desenvolvimento - IDE. Acho que esse é em parte o grande problema dos programadores atuais. Antigamente, quando você se dizia programador, você realmente colocava a mão no código, você tinha que escovar bits para encontrar aquele famigerado BUG. Você realmente programava.

Novo mundo, velhos conceitos
O SIW não deve ser visto com os mesmos olhos dos sistemas GUI e sim com um olho no futuro, mas usando conceitos antigos, do tempo do terminal de vídeo TTY, que no meu conceito, o Browser é isso, somente um terminal inteligente e gráfico.

Porque terminal inteligente? Nos idos tempos dos terminais, quando se ligava computadores com lingüiça, os terminais eram quase todos burros, ou sejam, só apresentavam dados e os inteligentes, tinham funções programáveis, como validação de campos no teclado, entre outras coisas... O Browser pode ser comparado a isso, porque podemos incluir MUITA coisa usando Java Script e/ou Java e/ou ActiveX.

Eu vejo o Browser, como um terminal inteligente, onde apresento o que quero sempre LR-TD e coloco alguma inteligência para ele chamar algum programa usando a ? com parâmetros para que o programa em questão tenha o comportamento baseado nessa facilidade.

A saída é padronizar
O padrão, era tudo o que usávamos nos terminais... sempre usávamos telas pré-definidas, pedaços de código sempre padronizados, porque queríamos reduzir o tempo de testes, naquele tempo, você enviava um código para compilar, e o pegava 1 a 2 dias depois, então, você precisava escrever tudo, testar de cabeça, antes de mandar para a produção... hoje em dia, somos preguiçosos, programamos e testamos na hora...

Quando digo padronizar, digo fazer isso mesmo... procurar sempre criar um método padronizado para que o seu trabalho seja reduzido ao longo do tempo. Use formulários padronizados... relatórios... listagens e tudo mais. Não fique reinventando a roda a cada projeto... pense sempre que você terá que alterar e/ou dar manutenção no seu próprio código caótico.

Sempre fiz isso, desde meus primeiros programas... quando aprendi o tal do Gosub no Basic, eu achei maravilhoso ficar evitando ter que redigitar o mesmo código várias vezes e sempre que tinha que mudar, tinha que sair correndo o código para alterar todas as linhas. Quando você padroniza, você acaba criando sua biblioteca e com isso, poderá sempre evolui-la sem ter que mudar todos os códigos dos seus sistemas.

E os outros?
Bom... eu sempre tive um grupo de amigos em todos os ambientes, sendo que na sua maioria fora do meu ambiente de trabalho. Sempre estávamos trocando idéias, experiências e até códigos, mas isso era sempre tudo muito subjetivo e/ou por impressos e depois, por disquetes.... imagine só isso?

Precisamos sempre estar trocando idéias, vendo novos conceitos, melhorando o nosso código e ferramentas a cada dia. A Internet nos dá esse poder, o poder de deixar a disposição a sua idéia, código e até problema, para que outros usuários possam aprender ou até ajudá-lo.

Compartilhe o que você tem... tudo o que você tem é MUITO precioso, lembre-se que cada idéia simples que você tiver, pode ser aquela coisa que faltava para resolver um grande problema. Não se sinta inferiorizado, porque alguém fez algo aparentemente melhor que você... pegue a idéia, o conceito e faça para você, ou ainda, já que estamos no tempo do Open Source, pegue o código, melhore e colabore com o autor e se torne co-autor.

About the Author

Analista de Sistemas, especialista de projetos para Internet desde 1993, projetista e mantenedor de diversos sites no Brasil, como os sites da FAMEM e Porto do Itaqui.