Aplicações para Internet - Visão Geral
- Jorge Ramos, junho de 1996 -
A materialização da "Super-rodovia de Informações" e do ciber-espaço hoje é representada de forma mais abrangente pela Internet, e o que salta aos nossos olhos de maneira mais forte é o World Wide Web (WWW). Ocorre que, às vezes, os dois conceitos são tratados como uma entidade única, o que é inconsistente com a visão arquitetural da Rede.
A Web é uma tecnologia para compartilhamento de informações, navegação e comunicação, enquanto a Internet implementa a arquitetura básica de conectividade que suporta a Web. As duas tecnologias são interdependentes, uma vez que a Internet torna possível a existência da Web e esta, por sua vez, permite que existam aplicativos que massificam o uso da Internet.
Pode-se observar na figura a seguir como diferentes aplicativos usam a Internet para implementar seus serviços. A Web é materializada através de um destes aplicativos, geralmente denominado Navegador Internet. É importante ressaltar que alguns produtos para navegação na Internet integram diversos serviços num único programa. O TCP/IP é o protocolo que implementa a camada de comunicação básica da Rede. Através dele, todas as máquinas ligadas na Internet comunicam-se entre si, podendo executar clientes alternativos para servidores existentes ou até criar novos servidores para funções proprietárias.
Para uma análise eficaz no sentido de implementação de aplicações para a Internet, é necessária a diferenciação entre as duas tecnologias e a análise de opções complementares, que usando um ou outro caminho podem, em conjunto, implementar a solução de quaisquer projetos corporativos.
Uma Home Page (ou simplesmente Página), é um conjunto de informações organizado na forma de um documento, disponível através da World Wide Web. Toda informação disponível na Web está organizada em Páginas. Uma Página pode conter textos simples, textos com layout, gráficos, imagens, objetos de entrada de dados e até mesmo elementos multimídia como sons, animações e vídeos. Outros componentes importantes na Página são as ligações de hipertexto (hyperlinks), que especificam os endereços de outras Páginas, geralmente contendo informações relacionadas com a Página original. Através destas ligações, o usuário pode navegar entre Páginas contendo assuntos correlatos.
Páginas Estáticas são documentos construídos offline e posteriormente disponibilizados na Web para consulta. Além dos elementos de visualização (texto, imagens, etc), uma Página Estática também pode conter alguns objetos de entrada de dados, tais como input boxes, check boxes, radio buttons, combo boxes, etc. A informação obtida por estes objetos, em geral, serve de parâmetro para construção de uma Página Dinâmica.
Páginas Dinâmicas são construídas em tempo real e destinam-se a exibir informações resultantes de alguma solicitação do usuário. Os exemplos mais frequentes são os resultados de pesquisas por palavra-chave nas Páginas especializadas em pesquisar a Internet buscando tópicos de interesse do usuário.
O rápido desenvolvimento da Internet está iniciando dois movimentos de análise de migração de aplicações:
No que diz respeito a aplicações de massa, a Internet provê um campo fértil e, sem dúvida, uma nova plataforma para criação e migração de aplicações, inclusive em áreas hoje não exploradas. No campo corporativo, a mesma tecnologia da Internet pode ser usada para implementar aplicações institucionais numa plataforma de rede privada, onde a segurança, o tempo de resposta e a estabilidade são fatores administráveis.
Para implementação destas aplicações, algumas opçoes estão disponíveis:
Estas são as aplicações mais simples, uma vez que Documentos Estáticos são editados offline e disponibilizados na Web na forma de Páginas Estáticas. Nenhum esforço adicional é preciso para que o usuário acesse Documentos Estáticos. Nesta categoria enquadram-se:
Em resumo, todo tipo de material construído e mantido através de processos manuais de editoração eletrônica pode ser disponibilizado na Web sob a forma de Documentos Estáticos.
Na figura a seguir pode-se observar como o usuário, através do Navegador Internet, usa o protocolo HTTP para visualizar as Páginas armazenadas no Servidor Web.
Common Gateway Interface (CGI) é um padrão de interface entre Servidores Web e aplicações que residem e executam no ambiente do servidor. Através deste padrão, os parâmetros necessários são passados à aplicação e os resultados são recebidos pelo servidor, que por sua vez os envia de volta ao usuário. Estes resultados podem ter a forma de uma linha de texto, uma Página completa, uma imagem ou até mesmo uma animação. Desta maneira, pode-se implementar transações inteligentes, que criam Páginas Dinâmicas em resposta aos parâmetros especificados em Páginas Estáticas. Este nível de interface possibilita a criação de aplicações mais sofisticadas, tais como:
Na figura a seguir observa-se como o usuário, através do Navegador Internet, usa o protocolo HTTP para acessar as Páginas armazenadas no Servidor Web. Algumas destas Páginas possuem objetos que, ao serem acessados, acionam aplicações externas ao servidor. Através do CGI, estas aplicações interagem com o servidor para obter parâmetros e devolver resultados.
As aplicações que usam CGI podem estar escritas em quaisquer linguagens disponíveis no ambiente do servidor no qual estarão instaladas, tais como:
Embora algumas linguagens sejam interpretadas (PERL, TCL, Unix Shell) e ofereçam facilidades de manutenção e depuração, deve-se ter em mente que as aplicações que usam CGI são executadas em tempo real enquanto o usuário está acessando a Página, sendo a performance um elemento crítico para o sucesso deste tipo de aplicação.
Active Internet é a denominação genérica em uso atualmente na Microsoft para designar aplicações dinâmicas, que não estão restritas ao caráter estático dominante na Internet. Este objetivo pode ser conseguido através de aplicações externas ao servidor Web e CGI, mas a idéia é integrar as ferramentas e implementar facilidades, permitindo que aplicações mais sofisticadas sejam criadas para a plataforma Internet.
Na figura a seguir observa-se como o usuário, através do Navegador Internet, usa o protocolo HTTP para acessar as Páginas armazenadas no Servidor Web (neste caso, o Internet Information Server). Algumas destas Páginas possuem objetos que, ao serem acessados, iniciam transações no banco de dados através do Internet Database Connector (IDC). Os resultados destas transações são retornados ao usuário na forma de Páginas Dinâmicas. Outra opção é o uso do SQL Web Assistant para gerar, periodicamente, Páginas Estáticas contendo documentos HTML formatados a partir de um modelo ao qual são adicionadas informações existentes no banco de dados. Este modelo está implementado no SQL Server a partir da versão 6.5.
ActiveX Technologies é um framework em desenvolvimento pela Microsoft para criação de objetos interativos usando componentes de software, scripts e aplicações, que podem ser embutidos em documentos HTML. Através desta tecnologia, os documentos HTML ganham inteligência, uma vez que seus objetos tornam-se componentes programados e podem interagir com o usuário através de inúmeras maneiras. Por exemplo, ao clicar-se no ícone de uma planilha, num documento HTML, o controlador ActiveX automaticamente usa OLE Automation para ativar o Excel e iniciar a edição ou visualização da planilha na própria janela do usuário.
Aplicações baseadas em produtos padrão de mercado na área de servidores (Oracle Server, SQL Server, Informix, etc) e clientes (Visual Basic, Power Builder, etc) podem ser usadas num ambiente TCP/IP para implementação de aplicações específicas, tanto a nível de consulta e manutenção de bases de dados, como transações online.
Na Internet, este tipo de aplicação não é aconselhável, uma vez que os pacotes podem ser facilmente interceptados em servidores estranhos à empresa e as condições de segurança da informação não são as melhores. Além disso, o tempo de resposta das conexões é bastante instável para as necessidades deste tipo de ferramenta.
Por outro lado, num ambiente Intranet, onde os tempos de resposta são estáveis e as condições de segurança mais adequadas, esta pode ser uma alternativa. A utilização de ferramentas padrão de mercado para implementação de aplicações corporativas num ambiente cliente servidor reduz os custos de desenvolvimento e manutenção enquanto garante a qualidade das aplicações criadas.
A figura a seguir ilustra a utilização do protocolo SQL como ponte entre a aplicação cliente e o banco de dados, usando o protocolo TCP/IP como plataforma de comunicação de rede. Este modelo está implementado em praticamente todos os produtos cliente servidor do mercado.
Nos produtos específicos para cliente servidor os protocolos entre o lado cliente e o lado servidor são extremamente "pesados", ou seja, a quantidade de informação de controle que acompanha os dados propriamente ditos é muito grande. Isto é bom porque garante robustez e confiabilidade ao protocolo nas mais diversas situações, mas atrapalha quando o tempo de resposta da conexão física entre o cliente e o servidor é baixo, como é o caso nas ligações via linhas telefônicas.
Uma alternativa para esta situação é o desenvolvimento de Protocolos de Aplicação específicos, onde a informação de controle é balanceada para atender aos requisitos de performance e robustez de cada aplicação. O custo é a necessidade de se trabalhar em baixo nível (rotinas em C, interfaces com TCP/IP, rotinas assíncronas, etc) na implementação de uma camada da aplicação já padronizada pelo mercado. Uma das vantagens deste modelo é a possibilidade de criação de processos personalizados para log, account e direitos de acesso, uma vez que o protocolo que comunica o cliente com o servidor está no domínio da aplicação.
Neste tipo de solução, não há problema quanto ao uso de ferramentas de mercado para o lado cliente e servidor (com algumas restrições). A estratégia é substituir os protocolos existentes entre o lado cliente e o lado servidor por protocolos proprietários, adequados ao ambiente e às aplicações nele desenvolvidas.
Na figura a seguir pode-se observar como o protocolo de aplicação liga a aplicação cliente e a aplicação servidor, usando o protocolo TCP/IP como plataforma de comunicação de rede. O protocolo SQL é usado pela aplicação servidor para acessar o banco de dados, de maneira normal.
A avaliação da criação ou migração de quaisquer aplicações corporativas para a plataforma Internet (geralmente denominada neste contexto como Intranet) deve envolver a análise de duas tecnologias complementares:
Aplicações de consulta a documentos preparados em processos manuais de editoração eletrônica tendem a ser implementadas através de Páginas Estáticas na Web.
Aplicações que envolvam transações de consulta e atualização de dados simples, isto é, não possuam muitas informações por tela, sejam implementáveis por objetos de interface comuns e não necessitem de aplicações-cliente especialistas, tendem a ser implementadas através de Páginas Dinâmicas e aplicações externas usando CGI.
Publicações periódicas de um grande volume de informação originada num banco de dados tendem a ser implementadas por uma categoria de ferramenta hoje disponibilizada pela Microsoft, na forma do SQL Server 6.5 e do SQL Web Assistant.
Projetos com transações de consulta e atualização de dados complexas, requerendo objetos de interface sofisticados e possivelmente aplicações-cliente especialistas, tendem a ser implementadas numa arquitetura cliente-servidor, onde as condições de cada projeto determinarão as ferramentas a serem usadas.
Os grandes projetos possivelmente envolverão a utilizaçao simultânea de mais de uma tecnologia, adequando a implementação de cada subsistema às necessidades operacionais. Uma vez que a Internet oferece a tecnologia para manter as máquinas interligadas, a palavra-chave passa a ser integração.
Comentários e perguntas são bem-vindos. Envie email para jorge.ramos@ibm.net.
|