Cliente / Servidor - uma visão vinda da Austrália

Autor:

Dante Carlos Antunes - GPT
Na Internet existem grupos para tratar dos mais diversos assuntos. Um grupo pode ser visto como se fosse um "mural eletrônico" onde as pessoas colocam questões, opiniões, respostas a questões, etc. pertinentes ao tema do grupo. Todos os usuários da Internet, em tese, têm acesso a estes "murais eletrônicos".

Entre estes grupos temáticos existe um que trata do assunto cliente/servidor cuja identificação é comp.client-server. Regularmente leio as mensagens que são colocadas neste grupo. Uma delas me chamou a atenção pelo fato de coincidir com o esforço atual que a CELEPAR vem empreendendo no sentido de assimilar a tecnologia cliente/servidor. Esta mensagem, cuja tradução e adaptação encontra-se abaixo, foi incluída no grupo por Bernard Robertson-Dunn, de Camberra, Austrália (brd@netinfo.com.au).

Cliente/servidor, a estória real

Ambiente do Negócio

O ambiente dentro do qual um negócio moderno opera tem apresentado mudanças que apontam para modificações nos requerimentos dos sistemas. Estão incluídas entre estas mudanças as seguintes:

a) Existe uma recusa em estar preso à arquitetura, ao conjunto de produtos ou ao destino de um único fornecedor.

b) Existe um novo ambiente nos empreendimentos:

  • A estrutura era hierárquica, agora é horizontal e baseada em grupos.
  • O relacionamento entre os colegas era distanciado, agora é integrado.
  • A fonte da riqueza era o capital, agora é o conhecimento.
  • O foco do gerenciamento eram as finanças, agora é a informação.
  • O estilo gerencial era de controle centralizado, agora é de delegação.
  • A abrangência do mercado era local, agora é global.
  • A chave do investimento era no operacional, agora é no suporte aos que trabalham com o conhecimento.

Orientações de negócio

Existem também mudanças nas atividades internas dos negócios, freqüentemente devido à competição e/ou outras pressões de performance. Estas mudanças incluem:

a) Mudanças na forma de organização, passando de hierarquias de muitos níveis para hierarquias mais enxutas, contemplando gerenciamento em rede e gerenciamento baseado em grupos fortemente integrados.

A abordagem baseada em grupos (team based approach) significa que:

  • Sistemas alinhados funcionalmente não são apropriados.
  • Os grupos ao desempenharem múltiplas funções e apresentarem múltiplas habilidades, necessitam acessar múltiplas aplicações.
  • As aplicações precisam prover uma consistente interface com os usuários.
  • A complexidade existente na implementação das aplicações deve ser ocultada.
  • A interação com o usuário deve ter flexibilidade.

b) Muitas organizações estão sob um Processo de Reengenharia de Negócio. Isto significa que muitos processos antigos de negócio estão sendo repensados e redesenvolvidos usando tecnologias mais avançadas. Alguns dos mais comuns requerimentos identificáveis durante um esforço de reengenharia de negócio são:

  • O cliente ter um único ponto de contato para tratar de negócios com a organização e os múltiplos contatos que fizer serão através de uma mesma pessoa.
  • Sistemas informatizados suportarão todas as atividades de negócio executadas na organização, não apenas uma parte.
  • Os usuários dos sistemas informatizados executarão o maior número possível de procedimentos durante o tempo de um contato com o cliente.
  • O tempo requerido para completar a tarefa deverá ser minimizada.
  • Mais autonomia para o staff, disponibilizando um registro (trilha) para auditar as ações.
  • Informações consistentes entre as diversas aplicações.
  • Os sistemas informatizados devem estar preparados para evoluir de forma a refletir as mudanças nos requerimentos do negócio.
  • Os usuários devem estar aptos a modificar regras de negócio sem consultar os técnicos da área de informática.
  • A integridade dos processos transacionais deve ser garantida.
  • Dispor de variados estilos de interfaces com os usuários para refletir as necessidades de trabalho (por exemplo: uma tarefa voltada ao cliente necessita ser centrada no cliente, usuários da área financeira precisam de um foco sobre a contabilidade).

Modelos de negócio

Quando se analisa um negócio, existem três visões da organização:

  • Uma estrutura funcional, que reflete responsabilidades e tarefas organizacionais.
  • Um modelo de processo, que detalha as funções da organização (por exemplo: aceitar pedidos, produzir mercadorias, expedir mercadorias, cobrar clientes, receber pagamentos). A estrutura funcional e o modelo de processo raramente se harmonizam, se é que isto acontece em algum momento.
  • Um modelo de informações, que detalha as informações que a organização necessita para funcionar.

Arquitetura da aplicação

A arquitetura da aplicação deveria refletir os vários requerimentos do negócio, como acima delineado.

As arquiteturas tradicionais das aplicações têm se baseado na visão funcional. Isto é insuficiente nos tempos atuais. É inflexível, pois modela o que as pessoas fazem não o que a organização faz e cerceia os caminhos pelos quais a organização pode mudar.

A abordagem cliente/servidor implementa em camadas as três visões da organização:

  • A camada de interface com o usuário, que implementa o modelo da estrutura funcional.
  • A camada de funções de negócio, que implementa o modelo de processo.
  • A camada de dados, que implementa o modelo de informações.

A razão porque é chamada de cliente/servidor é porque um dos alvos desta arquitetura é desacoplar uma camada das outras. Portanto, o relacionamento entre os processos é distanciado, implementado através de um mecanismo de pedido/resposta de acordo com um protocolo prescrito.

A figura 1 apresenta um diagrama que representa uma arquitetura cliente/servidor REAL. Cada uma das linhas representa um relacionamento pedido/resposta na abordagem cliente/servidor. Note-se que não há qualquer menção sobre multiplataformas GUI, redes, SGBDs ou qualquer outro aspecto tecnológico.

clieserv.gif (52684 bytes)
FIGURA 1

Algumas características da arquitetura de uma aplicação cliente/servidor são:

  • Deve suportar o relacionamento muitos-para-muitos entre clientes e servidores.
  • Cada servidor deve estar apto a suportar muitos clientes concorrentemente.
  • Cada cliente deve estar apto a efetuar diversos e concorrentes pedidos aos servidores.
  • Um servidor deve estar apto a tornar-se cliente de outro servidor.
  • Clientes e servidores podem estar replicados ao longo do sistema.

Requerimentos de tecnologia

O melhor caminho, ao que parece, para implementar a arquitetura acima é a seguinte:

  • Coloque a interface de usuário em uma estação de trabalho pessoal. Este equipamento é o que melhor se ajusta às necessidades event-driven de uma interação com o usuário. Nem todos os processos da interface com o usuário precisam residir em uma estação de trabalho pessoal. Estações de trabalho pessoal não são ambientes confiáveis, nenhum dado deve ser armazenado nelas, a não ser que você possa se dar ao luxo de perdê-lo.
  • Dados de interesse da organização devem ser armazenados em um ambiente confiável e precisam ser manuseados de forma apropriada.
  • O uso de computadores de médio porte, nos quais implementar a camada de funções de negócio deverá refletir as necessidades da organização. Um negócio com um certo número de escritórios em filiais e um único escritório central provavelmente vai ser implementado em uma arquitetura tecnológica diferente de um negócio com muitos departamentos, cada um deles com muitos escritórios em filiais, com escritórios regionais e com um escritório central.
  • A tecnologia é um compromisso entre os requerimentos de implementação de uma estrutura funcional (que inclui os aspectos geográficos) e a arquitetura de informações.
  • Os requerimentos de tecnologia de uma abordagem cliente/servidor são diferentes, especialmente onde as aplicações são distribuídas por muitas plataformas.

Algumas constatações finais sobre cliente/servidor

  • Não se deve confundir tecnologia e aplicação.
  • Um aspecto critico da arquitetura cliente/servidor são os requerimentos das múltiplas aplicações (isto é muito mais complexo que o particionamento de uma única aplicação).
  • A indústria de tecnologia da informação não deveria estar trabalhando sob os paradigmas desenvolvidos e promovidos por companhias de pesquisa de mercado. No meu ponto de vista o pessoal de pesquisa de mercado é responsável por muita confusão sobre cliente/servidor.
  • A tecnologia suporta e disponibiliza cliente/servidor, ela não o define. Arquiteturas cliente /servidor e tecnologias cliente/servidor são questões diferentes.

dante@celepar.gov.br

Copyright@2003 / Companhia de Informática do Paraná - CELEPAR
links: