Migrando para Aplicações Cliente/Servidor

Autora: Sara Fichman Raskin

De forma geral, o cenário é de uma evolução tecnológica galopante e a questão não é mais "se" mas "como" vamos acompanhá-la, tentando diminuir os impactos e prejuízos oriundos dessa constante renovação. Além da própria tecnologia, há dificuldade pessoal de mudar e evoluir no mesmo ritmo, de acompanhar as tendências, aliada à nossa capacidade de adaptação ao novo ambiente.

Por outro lado, o mundo hoje é muito mais dinâmico; a globalização da economia propiciada pela evolução das telecomunicações forçando as empresas a repensarem suas formas de atuação, exige novas aplicações da Tecnologia da Informação como forma de agilizar decisões estratégicas das empresas.

Então, se não mudamos pela tecnologia em si, por simplesmente estarmos no “estado da arte”, o novo perfil empresarial requer essa mudança, exige sistemas de informações estratégicos, ágeis, distribuídos, atualizados...

Mas precisamos ter muito cuidado; essas mudanças não se fazem da noite para o dia, sem planejamento e análise de mercado para tendências, na tentativa de minimizar os riscos. A transição deve ser gradual, permitindo uma convivência entre sistemas antigos e novos para dar maior segurança, e os projetos Cliente/Servidor devem manter harmonia com mainframe, que continuará tendo seu papel nesse novo modelo distribuído.

Tive a oportunidade de participar, no final de abril, do DBForum 96 - 7o. Congresso Nacional de Novas Tecnologias e Aplicações em Banco de Dados. E como os bancos de dados relacionais (por enquanto, pois já se fala em multidimensionais) são peças-chave das aplicações Cliente/Servidor, este foi, na realidade, o tema principal do Congresso, cuja programação incluiu as palestras “Gerenciando Projetos Cliente/Servidor”, “Migrando Legacy Systems para Arquitetura Cliente/Servidor”, “Data Warehousing e OLAP”, “Administrando os Custos Intangíveis do Modelo Cliente/Servidor”, “Como migrar para Orientação a Objetos”, entre outras.

Quero tentar registrar aqui um pouco da experiência adquirida nesses dias de Congresso, pois sei o quanto tudo isso é importante para ser repassado à Celepar (não somente mas principalmente), nessa fase de migração.

Se há alguns anos o modelo Cliente/Servidor era vendido para as Empresas como solução para todos os seus problemas com várias promessas, hoje nós sabemos que existem muitas dificuldades e a complexidade é muito maior do que inicialmente imaginamos.

É importante deixar claro que o novo modelo Cliente/Servidor envolve mudanças não só de tecnologia mas nos processos e pessoas das organizações; a falta de sincronismo entre a capacidade de usar a tecnologia e a tecnologia adequada pode ser responsável por um projeto mal sucedido. Segundo Cezar Taurion (Diretor de Consultoria em TI da Origin), até 1995, 80% das aplicações Cliente/Servidor não alcançaram os resultados esperados, tendo gasto mais tempo e dinheiro que o planejado. Nossa dificuldade em desenhar sistemas Cliente/Servidor (que são diferentes das aplicações tradicionais) aumentam os prazos de desenvolvimento, não conseguimos a independência de fornecedores que imaginamos, as ferramentas ainda não são totalmente adequadas e todos esses fatores aumentam os riscos de um projeto.

Devemos planejar uma infra-estrutura adequada para Cliente/Servidor, incluindo padrões de interface gráfica, Middleware, administração de bibliotecas de classes, técnicas de gerenciamento de sistemas, seleção e suporte de ferramentas e administração de dados. As equipes de desenvolvimento devem acompanhar as áreas de negócios da organização pois a centralização não atende mais o modelo de aplicações distribuídas.

A arquitetura tecnológica também deve ser considerada pois ela deve garantir a interoperabilidade entre todos os componentes do sistema e ao mesmo tempo não pode ser limitante. É importante na definição da arquitetura, considerar padrões de fato e estarmos preparados para trabalhar com vários fornecedores em segmentos diversos.

Um bom projeto Cliente/Servidor deve tentar equilibrar o processamento da aplicação, que deve ser particionada, e aí está a dificuldade: a divisão em camadas. Devemos ir evoluindo gradativamente. Uma tecnologia passa por fases que vão desde o aprendizado à obsolescência e na maioria das empresas a tecnologia Cliente/Servidor ainda está passando da disseminação ao controle não tendo ainda atingido a maturidade. E à medida que vamos adquirindo experiência, vamos tendo condições de pensar em formas de métricas e acompanhamento dos projetos. É normal que os primeiros projetos percam os prazos estipulados pois várias questões como a complexidade das novas tecnologias não são consideradas.

Ainda vamos enfrentar dificuldades, pois como ainda estamos nas primeiras aplicações Cliente/Servidor, não sabemos como vai ser a manutenção de todo esse ambiente, que por ser muito heterogêneo, oferece inúmeros pontos potenciais a falhas.

Resumindo tudo isso, existe um enorme potencial para evolução no modelo Cliente/Servidor, mas não podemos ignorar que existem obstáculos para essa migração, que existem riscos que devem ser considerados e limitações que devem ser conhecidas.