net.News


Correio

Assinatura

O que é ?

Help

Ficha técnica

Voltar

Sistemas e Aplicações Hipermédia

(Quinta parte de uma série de cinco)

Contexto

Na primeira parte deste documento apresentou-se de forma geral a arquitectura multi-nível das aplicações baseadas na tecnologia World Wide Web. A esta classe de aplicações designa-se, neste documento, de Sistemas de Informação Hipermédia para a Web (SIHW). Na segunda parte do documento apresentou-se, com detalhe, as características envolvidas na construção de SIHW utilizando o mecanismo CGI. A terceira parte apresentou-se um mecanismo de construção rápida de SIHW relativamente simples, designado por SSI (Server Side Include). Na quarta parte apresentou-se a aproximação de construção de aplicações Web baseado em interfaces de programação (API) providenciadas pelos diferentes servidores Web. Por fim, nesta quinta e última parte do documento, são discutidas comparativamente as principais vantagens e desvantagens das diferentes aproximações de construção de SIHW centrados no servidor.

V - Análise comparativa das soluções de SIHW centrados no servidor.

A tabela V.1 resume e apresenta comparativamente os mecanismos SSI, CGI e APIs com vista ao desenvolvimento de SIHW, segundo os seguintes critérios principais: desempenho de execução global da aplicação; potencial flexibilidade e versatibilidade da aplicação; facilidade de desenvolvimento e conhecimentos exigidos; e gestão e manutenção da aplicação. O objectivo desta análise é permitir uma relexão comparativa dos diferentes mecanismos, em que se evidencie as suas respectivas vantagens e desvantagens relativas.

Critérios de análiseCGISSIAPI
Desempenho da aplicação: (: |: )
Flexibilidade da aplicação: ): (: )
Facilidade de desenvolvimento: |: ): (
Gestão, manutenção da aplicação: |: ): (

Tabela V.1: Análise comparativa das aproximações de SIW centrados no servidor

As considerações aqui realizadas, tem de ser vistas como visões globais do problema em análise, e resultam da experiência e de investigação realizada recentemente pelo autor e fruto de um conjunto de trabalhos finais de curso realizados no âmbito das licenciaturas de Engenharia Informática e de Engenharia Electrotécnica do Instituto Superior Técnico que o autor directa ou indirectamente acompanhou.

V.1 - Aplicações baseadas no CGI

As aplicações baseadas no interface CGI são referidas em geral por apresentarem um baixo nível de desempenho devido essencialmente ao facto de se criar e executar um processo por cada acesso realizado, e consequentemente implicando uma deficiente gestão de processos e de memória. Pelo facto das aplicações serem desenvolvidas sobre diferentes linguagens e ambientes de programação reais (e.g., C, C++, PERL, Delphi, VB, PowerBuilder) apresentam consequentemente um alto nível de flexibilidade e versatibilidade. O ciclo de desenvolvimento e de testes é moderado - depende directamente das capacidades da linguagem/ambiente de programação escolhido, e da existência, ou não, de bibliotecas de suporte para manipulação das particularidades envolvidas no CGI: manutenção de estado entre conexões, geração de código HTML a partir de bases de dados, etc. O nível de conhecimentos exigido, a gestão e manutenção das aplicações é médio/alto - dependendo exactamente das características referidas anteriormente. Atendendo à sua simplicidade e consequente suporte pela generalidade dos servidores Web, o CGI é de facto o mecanismo mais largamente utilizado entre diferentes plataformas e servidores.

V.2 - Aplicações baseadas no SSI

Como o SSI é basicamente um mecanismo de substituição, onde determinado texto é inserido em locais previamente marcados, implica por cada documento solicitado, a leitura de todo o documento HTML, a procura de marcas de inserção, e a inserção nesses locais dos dados gerados dinâmicamente (quer seja apenas a indicação da data corrente, quer seja o resultado de uma interrogação SQL). Este mecanismo apresenta portanto um nível de desempenho médio/alto. As aplicações baseadas no modelo SSI apresentam um nível de flexibilidade relativamente limitado, pese embora nalgumas implementações (e.g., Internet Database Connector da Microsoft) tenham surgido elementos adicionais que possibilitaram o desenvolvimento de SIW com alguma versatibilidade. Apresentam como principais vantagens o facto do seu desenvolvimento de ser rápido e fácil; serem facilmente alteráveis e consequentemente apresentarem um baixo custo de operação e manutenção.

V.3 - Aplicações baseadas nos API proprietários dos servidores

Por fim, as aplicações desenvolvidas com base nos APIs dos servidores Web apresentam um nível de desempenho alto, pelo facto de se manterem residentes em memória no mesmo espaço de endereçamento do servidor e apresentam um alto nível de flexibilidade (são desenvolvidas em linguagens do tipo C e C++). Contudo exigem um nível de conhecimento elevado, não só das técnicas de programação mas também das especificidades das diferentes API. Implica ainda e consequentemente um custo de desenvolvimento e risco de manutenção/operação elevado.

V.4 - Conclusões

Das vantagens e desvantagens comparativas entre as três aproximações básicas de construção de SIHW resulta um retorno à questão que qualquer leitor mais atento poderia facilmente esperar desta análise: Afinal qual é a melhor aproximação?

É óbvio, que por leitura imediata da tabela V.1, nenhuma das aproximações é por si superior a outra qualquer. Se é verdade que as aplicações baseadas no CGI são relativamente independentes do servidor Web (imagine-se que se pretende desenvolver uma aplicação Web e partilhá-la ou vendê-la a uma comunidade não determinada de utilizadores, cada qual com um servidor distinto ...), que as aplicações baseadas em SSI são fáceis e rápidas de desenvolver e de manter (imagine-se que uma PME pretende manter um SIHW para divulgar os seus serviços, produtos, ... eventualmente com ligações básicas a bases de dados de produtos, stocks, e vendas ...), ou que as aplicações baseadas em APIs proprietárias apresentam um nível de desempenho relativamente elevado (imagine-se uma software house que pretende desenvolver um sistema Web relativamente complexo, versátil, e que exige um nível de desempenho aceitável ...), o facto é que a decisão estratégica da escolha de uma qualquer solução apresenta sempre inúmeros compromissos que devem ser devidamente apreciados, reflectidos e presentes na visão presente e futura do sistema informático que se pretende.

Adicionalmente é fundamental ter-se a noção correcta das reais capacidades e limitações do estado da arte da tecnologia Web, acompanhar-se as rápidas mutações, junções e evoluções que estão ocorrendo, e que irão ocorrer nos próximos anos, nesta área.

- Próximo tema -

No seguimento do espírito e forma deste primeiro tema - Modelos de construção de SIHW centrados no servidor - será apresentado, nas próximas quatro edições mensais desta coluna, o tema Modelos de construção de sistemas de informação Web centrados no cliente. Essencialmente serão analisadas as limitações das aplicações centradas no servidor, designadamente, em termos de interação homem-máquina e de suporte a transações complexas, e as novas abordagens que têm surgido de construção de aplicações cuja actividade se realiza predominantemente nos clientes.

Foto Sistemas e Aplicações Hipermedia é uma coluna na net.News da responsabilidade de Alberto Silva, Investigador no INESC e Doutorando na área da concepção e construção de sistemas de informação hipermedia para a Web.

Voltar