Capa
Seções
NOTÍCIAS

DOWNLOAD

ANÁLISES

COMPRAS

BOLETIM

WIRED NEWS

IDG NOW!

PC WORLD

AJUDA

COLUNISTAS


 digite + enter


ZOPE: UMA PLATAFORMA PARA WEBSITES DINÂMICOS E FLEXÍVEIS
Luciano Ramalho

Assim como uma loja ou um bar da moda não podem passar anos a fio sem uma reforma geral, um web site atraente precisa de uma ou duas mudanças radicais de organização e visual por ano. Todo mundo que já esteve envolvido na produção de um grande site já deve ter tido a experiência de passar a noite em claro alterando milhares de páginas em uma dessas inevitáveis reformas. Quem está cansado disso gostará de saber que agora existe o Zope, uma plataforma de software que viabiliza a construção de sites dinâmicos e facilmente adaptáveis, a um custo razoável.

Para começar, é importante entender que o Zope é um aplicativo que roda integrado ao servidor HTTP, como os chamados programas CGI, que são usados para acessar bancos de dados. O nome Zope significa Z Object Publishing Environment ou "Ambiente Z de Publicação de Objetos". O Z, no caso, é apenas uma letra bonita. Mas o conceito de "publicação de objetos" merece uma explicação. A idéia básica do Zope é que a peça fundamental para a construção de sites não deve ser a página. Em vez disso, os criadores do Zope propõem que as páginas sejam subdivididas em partes menores, chamadas objetos, que podem ser reutilizadas milhares de vezes.

Sites dinâmicos versus estáticos

Por exemplo, no site da Magnet, todas as páginas internas possuem um menu de seções no topo. Em nosso servidor Zope, criamos um documento que contém apenas o código HTML necessário para esse menu, e chamamos esse documento de -topo. É ótimo que esse menu de seções seja armazenado separadamente do resto da página. Assim, se um dia a Magnet precisar ganhar uma nova seção XYZ, essa inclusão poderá ser feita apenas no objeto -topo. Uma vez alterado esse documento, todas as páginas que o utilizam estarão automática e instantaneamente atualizadas com o link para a nova seção XYZ. Muito melhor do que passar uma noite sem dormir, não?

Existem outras tecnologias, como o módulo PHP do servidor Apache ou o ASP da Microsoft, que permitem construir sites dinâmicos, ou seja, sites onde as páginas são montadas pelo sistema a cada nova visita, de forma que elas possam ser atualizadas automaticamente a partir de um banco de dados. Um exemplo desse tipo de dinamismo é a coluna da esquerda da seção bits do site da Magnet. Ela mostra uma lista sempre atual, com as matérias mais recentes publicadas na seção. Se você clicar em uma matéria antiga, verá que na coluna da esquerda aparecem também as matérias mais recentes.

O contrário disso é um site estático, onde cada página é um arquivo separado, gravado no disco do servidor. Em um site estático, matérias antigas não podem ter links para textos mais recentes, a menos que o webmaster edite manualmente todas as páginas velhas sempre que uma nova matéria é colocada no site - uma missão impossível.

Divisão de tarefas

A diferença é que tanto o ASP quanto o PHP exigem muito trabalho de programação para serem úteis. A própria filosofia, nos dois casos, é embutir uma linguagem de programação completa no meio do código HTML, de forma que as páginas sejam construídas dinamicamente. No caso do Zope, a idéia não foi criar uma nova linguagem completa, mas apenas acrescentar meia dúzia de comandos, chamados tags DTML, para permitir que o seu HTML incorpore elementos dinâmicos. Por exemplo, o comando <dtml-if> define um trecho de HTML condicional, ou seja, que será ou não exibido de acordo com algum dado específico, como o endereço IP do visitante ou o tipo do browser que ele está usando.

A vantagem desse esquema é que alguém que já domina o HTML pode rapidamente aprender os poucos comandos DTML e passar a criar páginas usando seus recursos. E, quando os comandos básicos do DTML não derem conta do recado, é possível escrever scripts mais sofisticados usando a elegante e simples linguagem Python. Tais scripts podem ser transformados em verdadeiros plug-ins (módulos de expansão), que um webmaster pode acessar através de tags DTML sem precisar saber como funcionam internamente.

No caso do ASP ou do PHP, é preciso que o webmaster aprenda uma linguagem de programação para poder criar ou mesmo alterar páginas dinâmicas sem o risco de quebrá-las. É por isso que sites que usam essas tecnologias costumam ser dinâmicos, mas nada flexíveis. As alterações acabam sendo muito custosas.

Por sua vez, o Zope se adapta a uma divisão de tarefas natural, que já existe em muitas equipes que desenvolvem sites: uns cuidam da lógica de programação, implementada em uma linguagem como Java, VB, Perl etc., e outros cuidam da diagramação das páginas em HTML. Assim, mudanças no visual e mesmo na estrutura do site podem ser feitas sem que seja necessário envolver programadores.

Bancos de dados

Outra diferença importante é que o Zope inclui uma interface administrativa via Web, permitindo que qualquer pessoa que saiba usar um browser atualize o site. Em ASP ou PHP, todo e qualquer formulário administrativo precisa antes ser criado por um programador. É por isso que sites que utilizam essas ferramentas raramente são 100% dinâmicos: o custo de criar formulários para o site inteiro é proibitivo.

"Mas não é só isso", diria o vendedor. O Zope inclui também um servidor de banco de dados orientado a objetos, chamado ZODB. Graças ao ZODB, muitos projetos sofisticados podem ser feitos sem que seja necessário conhecer a linguagem SQL, usada para acessar servidores de bancos de dados convencionais. (Mas, se o projeto exigir, o Zope integra-se facilmente a bancos de dados populares na Web, como MySQL, PostgreSQL e Oracle.)

O interessante é que todos os objetos de um site em Zope, sejam eles documentos, imagens, fragmentos de HTML etc., são armazenados como objetos no ZODB e não como arquivos soltos no sistema operacional do servidor HTTP. O ZODB mantém, automaticamente, cópias de versões antigas de cada objeto alterado. Graças a isso, o usuário do Zope pode desfazer (undo) alterações feitas em qualquer objeto, horas ou mesmo dias depois. Não tente fazer isso com o seu sistema operacional ou banco de dados relacional.

Hotel cinco estrelas

Quando nos pedem para comparar Zope com ASP, gostamos de fazer uma analogia. Se ASP é um restaurante, Zope é um hotel cinco estrelas com vários restaurantes, bares, piscina, sauna, barbeiro e diversos outros serviços simplesmente inexistentes na ferramenta da Microsoft. Em resumo, o Zope é uma plataforma completa para o desenvolvimento das chamadas Web applications, ou sites 100% dinâmicos e interativos.

Assim como o sistema Linux e o servidor Apache, o Zope é open source, ou seja, sua utilização é livre e gratuita, mesmo para fins comerciais. O principal problema, por enquanto, é a falta de uma boa documentação, especialmente para os iniciantes nessa forma radical de desenvolvimento de sites. Mas, se você conseguir vencer a dificuldade inicial, terá encontrado uma ferramenta incrivelmente produtiva. No Brasil, sites como Magnet, IDGnow! e Achademia já fizeram essa descoberta.

» Infográfico »

Copyright © 1999 MAGNET
Introdução

Infográfico
Copyright© 1996 - 2003 Terra Networks S.A. Todos os direitos reservados. All rights reserved.