Você está na página 1de 11

NDICE

1 - INTRODUO
2 - ARQUITETURA CLIENTE/SERVIDOR
2.1 - VANTAGENS
2.2 - DESVANTAGENS
2.3 - MODELOS DA ARQUITETURA CLIENTE / SERVIDOR
2.3.1 - Arquitetura C/S Simples
2.3.2 - Arquitetura C/S em Dois Nveis
2.3.3 - Arquitetura C/S Multinvel
3 - ALGUNS TIPOS DE PROCESSOS NUMA ARQUITETURA
CLIENTE/SERVIDOR
3 - PROCESSAMENTO DISTRIBUDO
3.1 - CAMADAS DA ARQUITETURA CLIENTE / SERVIDOR
CONCLUSO
REFERNCIAS BIBLIOGRFICAS

1- Introduo

Este trabalho tem por objetivo mostrar as caractersticas tcnicas que envolvem a
Arquitetura Cliente/Servidor, desde a sua concepo terica at a implantao da
comunicao entre Cliente e Servidor.
Neste ser definido a parte terica da Arquitetura Cliente/Servidor bem como
alguns aspectos de definio desta arquitetura, alm de mostrar os modelos existentes
para implantao desta arquitetura. Sero mostrados alguns tipos de processamentos
existentes, porm enfocando o processamento distribudo.
2 - Arquitectura Cliente/Servidor
A arquitetura Cliente/Servidor vem sendo desenvolvida h vrios anos, porm
em pequenos passos. Primeiro, a realocao de aplicaes em Mainframe para as
chamadas plataformas abertas rodando, Sistema Operacional UNIX. Depois, com
relao a abordagem dos dados, saindo de Sistemas de Arquivos ou Banco de Dados
Hierrquicos locados em Mainframes para Sistemas de Banco de Dados Relacional, e
posteriormente, a importncia da capacidade grfica dos pacotes de front-end
existentes, facilitando a interao com o usurio.
Vrios aspectos sobre uma definio da arquitetura Cliente/Servidor podem ser
descritos.
O termo Cliente/Servidor refere-se ao mtodo de distribuio de aplicaes
computacionais atravs de muitas plataformas.
Tipicamente essas aplicaes esto divididas entre um provedor de acesso e uma central
de dados e numerosos clientes contendo uma interface grfica para usurios para acessar
e manipular dados.
Cliente/Servidor geralmente refere-se a um modelo onde dois ou mais computadores
interagem de modo que um oferece os servios aos outros. Este modelo permite aos
usurios acessarem informaes e servios de qualquer lugar.
Cliente/Servidor uma arquitetura computacional que envolve requisies de servios
de clientes para servidores. Uma rede Cliente/Servidor uma extenso lgica da
programao modular. Portanto, uma definio para a arquitetura Cliente/Servidor seria
a existncia de uma plataforma base para que as aplicaes, onde um ou mais Clientes e
um ou mais Servidores, juntamente com o Sistema Operacional e o Sistema Operacional
de Rede, executem um processamento distribudo.
Um sistema Cliente/Servidor poderia ser, ento, entendido como a interao
entre Software e Hardware em diferentes nveis, implicando na composio de
diferentes computadores e aplicaes.

Para melhor se entender o paradigma Cliente/Servidor necessrio observar que


o conceito chave est na ligao lgica e no fsica. O Cliente e o Servidor podem

coexistir ou no na mesma mquina (RENAUD,1994). Porm um ponto importante para


uma real abordagem Cliente/Servidor a necessidade de que a arquitetura definida
represente uma computao distribuda. Algumas das caractersticas do Cliente e do
Servidor so descritas a seguir:
Cliente
Cliente, tambm denominado de front-end e WorkStation, um processo que
interage com o usurio atravs de uma interface grfica ou no, permitindo consultas ou
comandos para recuperao de dados e anlise e representando o meio pela qual os
resultados so apresentados.
Alm disso, apresenta algumas caractersticas distintas:
o processo ativo na relao Cliente/Servidor.
Inicia e termina as conversaes com os Servidores, solicitando servios distribudos.
No se comunica com outros Clientes.
Torna a rede transparente ao usurio.
Servidor
Tambm denominado Servidor ou back-end, fornece um determinado servio que
fica disponvel para todo Cliente que o necessita. A natureza e escopo do servio so
definidos pelo objetivo da aplicao Cliente/Servidor. Alm disso, ele apresenta ainda
algumas propriedades distintas:
o processo reativo na relao Cliente/Servidor.
Possui uma execuo contnua.
Recebe e responde s solicitaes dos Clientes.
No se comunica com outros Servidores enquanto estiver fazendo o papel de Servidor.
Presta servios distribudos.
Atende a diversos Clientes simultaneamente.
Outras caractersticas dos processos Cliente e Servidor podem ser encontradas em
alguns tipos de servios que um Servidor pode proporcionar so:
! Servidor de Arquivos
! Servidor de Impressora
! Servidor de Banco de Dados
! Servidor de Redes

! Servidor de Telex
! Servidor de Fax
! Servidor X-Windows
! Servidor de Processamento e Imagens
! Servidor de Comunicao e etc.
O estilo de interao entre o usurio e o Cliente no precisa, necessariamente,
ser feita por poderosas interfaces grficas. Porm, j que o poder de processamento
local do Cliente est disponvel, pode-se retirar todo seu proveito, atravs de interfaces
grficas GUI (Graphical User Interface), para melhor rendimento do usurio no seu
trabalho.
Dentre as muitas vantagens da arquitetura Cliente/Servidor, pode-se citar:
2.1 - Vantagens
Confiabilidade
Se uma mquina apresenta algum problema, ainda que seja um dos Servidores,
parte do Sistema continua ativo.
Matriz de Computadores agregando capacidade de processamento
A arquitetura Cliente / Servidor prov meios para que as tarefas sejam feitas sem
a monopolizao dos recursos. Usurios finais podem trabalhar localmente.
O Sistema cresce facilmente
Torna-se fcil modernizar o Sistema quando necessrio.
O Cliente e o Servidor possuem ambientes operacionais individuais /
Sistemas Abertos
Pode-se misturar vrias plataformas para melhor atender s necessidades
individuais de diversos setores e usurios. Alm destas vantagens, pode-se encontrar
dentro de uma arquitetura Cliente/Servidor a interoperabilidade das estaes Clientes e
Servidoras entre as redes de computadores, a escalabilidade da arquitetura visando o
crescimento e a reduo dos elementos constituintes, a adaptabilidade de novas
tecnologias desenvolvidas, a performance do hardware envolvido na arquitetura, a
portabilidade entre as diversas estaes que compem a arquitetura e a segurana dos
dados e processos.

Embora o avano da arquitetura Cliente/Servidor tenha trazido uma variada


gama de facilidades para o desenvolvimento de aplicaes distribudas, tambm possui
algumas desvantagens:
2.2 - Desvantagens
Manuteno
As diversas partes envolvidas nem sempre funcionam bem juntas. Quando
algumerro ocorre, existe uma extensa lista de itens a serem investigados.
Ferramentas
A escassez de ferramentas de suporte, no raras vezes obriga o desenvolvimento
de ferramentas prprias. Em funo do grande poderio das novas linguagens de
programao, esta dificuldade est se tornando cada vez menor.
Treinamento
A diferena entre a filosofia de desenvolvimento de software para o
microcomputador de um fabricante para o outro, no como a de uma linguagem de
programao para outra. Um treinamento mais efetivo torna-se necessrio.
Gerenciamento
Aumento da complexidade do ambiente e a escassez de ferramentas de auxlio
tornam difcil o gerenciamento da rede.
2.3 - Modelos da Arquitetura Cliente / Servidor
Existem cinco tipos de modelos para a implantao da arquitetura
Cliente/Servidor emprocessamentos distribudos:
2.3.1 - Arquitetura C/S Simples
A primeira abordagem para um sistema distribudo a arquitetura
Cliente/Servidor Simples. Nesta arquitetura, o Servidor no pode iniciar nada. O
Servidor somente executa as requisies do Cliente.

Figura 1 - Arquitetura Cliente/Servidor simples

2.3.2 - Arquitetura C/S em Dois Nveis


A configurao usual Cliente/Servidor encontrada na maioria das empresas,
aquela em que existem vrios Clientes requisitando servios a um nico Servidor. Esta
arquitetura se caracteriza como sendo centrada no Servidor (figura 2a).
Porm na viso do usurio, ele imagina que existem vrios Servidores
conectados a somente um Cliente, ou seja, centrado no Cliente (figura 2b). Entretanto,
com as vrias ligaes de comunicao possveis, existe na realidade uma mistura de
Clientes e Servidores (figura2c).

Figura 2 - (a) Arquitetura C/S em Dois Nveis - Centrado no Servidor

Figura 2 - (b) Arquitetura C/S em Dois Nveis - Centrado no Cliente

Figura 2 - (c) Arquitetura C/S em Dois Nveis - Comunicao Mista

2.3.3 - Arquitetura C/S Multinvel


Nesta arquitetura (figura 3), permite-se que uma aplicao possa assumir tanto o
perfil do Cliente como o do Servidor, em vrios graus. Em outras palavras, uma
aplicao em alguma plataforma ser um Servidor para alguns Clientes e,
concorrentemente, um Cliente para alguns Servidores.

Figura 3 - Arquitetura C/S Multinvel

3 - Alguns Tipos de Processos numa Arquitetura Cliente/Servidor


A arquitetura Cliente/Servidor divide uma aplicao em processos, que so
executados em diferentes mquinas conectadas uma Rede de Computadores,
formando um nico sistema. O paradigma da tecnologia Cliente/Servidor, serve como
um modelo, entre outros, para interao entre processos de softwares em execuo
concorrente.
Os processos ou tarefas, a serem executadas so divididas entre o Servidor e o
Cliente, dependendo da aplicao envolvida e das restries impostas pelo Sistema
Operacional de Rede (SOR). Quanto mais avanado for o Sistema Operacional de Rede,
menor ser a aplicao em si, uma vez que a implementao do cdigo para acessar a
rede j se encontra definido no SOR.
Atualmente dois tipos de processamentos esto sendo divulgados,
Processamento Distribudo e Processamento Cooperativo. A caracterstica de cada um
destes descrita a seguir, e neste trabalho o enfoque ser destinado ao processamento
distribudo.
Processamento Distribudo
A distribuio de aplicaes e tarefas se faz atravs de mltiplas plataformas de
processamento. O processamento distribudo implica que essas aplicaes/tarefas iro
ocorrer em mais de um processo, na ordem de uma transao a ser concluda. Em outras
palavras, o processamento distribudo atravs de duas ou mais mquinas e os
processos, na maioria, no rodam ao mesmo tempo, por exemplo, cada processador
realiza parte de uma aplicao em uma seqncia. Geralmente, o dado usado em um
ambiente de processamento distribudo tambm distribudo atravs de plataformas.
Processamento Cooperativo
A cooperao requer dois ou mais processadores distintos para completar uma
simples transao. O processamento cooperativo relatado para ambos os processos
cliente-servidor. uma forma de computao distribuda onde dois ou mais
processadores distintos so requeridos para completar uma simples transao de
negcios. Normalmente esses programas interagem e executam concorrentemente como
diferentes processos.
Os processos cooperativos tambm so considerados como um estilo de
Cliente/Servidor atravs da arquitetura de mensagens, que devem obedecer a um
determinado padro. No contexto do presente trabalho pretende-se utilizar as
caractersticas do processamento distribudo. Este tipo de processamento apresenta duas
configuraes para uma arquitetura Cliente/Servidor. A primeira, que representada por
trs camadas, responsvel pela visualizao da interao entre os aplicativos e o
hardware, como pode ser visto na figura 5.

Processamento Cliente-Servidor

Figura 5 - Sistema Cliente/Servidor

3.1 Camadas da Arquitetura Cliente / Servidor


A arquitetura Cliente/Servidor dividida em trs camadas bsicas, como ilustra
a figura 8. A camada de Aplicao consiste dos processos da aplicao, entre eles, os
processos Cliente e Servidor. A camada de Servios de Sistemas compreende o Sistema
Operacional (SO) e o Sistema Operacional de Rede (SOR), destinando-se ao controle do
hardware. Por ltimo a camada de hardware, onde esto localizados os perifricos
ligados aos Clientes e Servidores.

Figura 8 - Trs Camadas da Arquitetura Cliente/Servidor

A tecnologia Cliente/Servidor pode existir tanto no nvel da camada de


Aplicao, quanto no da camada de Servios do Sistema. A coexistncia do paradigma
nestas camadas surge em funo da hierarquia das atuaes no sistema. Caso o
usurio seja externo ao sistema, ento os processos Cliente e Servidor compem a
camada da Aplicao, enquanto que, se o usurio for um programa de aplicao o
Cliente um processo redirecionador, e o Servidor ser um processo respondedor da
camada de Servios do Sistemas.

A utilizao de sistemas Cliente/Servidor pela camada de aplicao utiliza


Servios do Sistema no Cliente/Servidor (figura 8), entretanto, sistemas no
Cliente/Servidor, ao nvel da aplicao utilizam Servios do Sistema Cliente/Servidor.
Para sistemas Cliente/Servidor na camada de aplicao, a camada Servios do
Sistema oferece somente um mecanismo de IPC (InterProcess Comunication) para troca
de mensagens. Por outro lado, a camada Servios do Sistema configurada como
Cliente/Servidor, responsvel por gerenciar o redirecionamento das solicitaes de
gravao/leitura, por exemplo. importante notar que a diferena entre os sistemas
Cliente/Servidor nas camadas de Aplicao e Servios do Sistema, o equilbrio entre a
quantidade de processamento tanto no lado do Cliente quanto no lado Servidor.
Existem vrios sistemas que podem ser baseados na estrutura Cliente/Servidor.
O uso mais freqente so as aplicaes de Banco de Dados usando processos SQL
(Structured Query Language) de front-end, para acessar remotamente, as bases de
dados. A figura 9 mostra uma estrutura baseada num Servidor de Arquivos. Esta
estrutura ocasiona um maior fluxo de informaes na rede, uma vez que todo o arquivo
ser transferido para o Cliente para ento ser trabalhado.

Figura 9 - Arquitetura Cliente/Servidor como Servidor de Arquivo

Neste tipo de estrutura, a camada de aplicao passa a ser o Cliente do Sistema.

Com isto, a camada de Servio do Sistema utilizada simplesmente como um


redirecionador para acesso base de dados. Neste tipo de configurao pode-se chamar
este sistema como falso Sistema Cliente/Servidor, por no haver um equilbrio de
processamento entre os dois lados Cliente e Servidor. O lado Servidor somente ter o
trabalho de executar as rotinas comuns de I/O, no caracterizando assim, como um
processamento intrnseco aplicao.

Concluso
Atualmente, a maioria das empresas est migrando para a computao
distribuda, atravs de uma arquitetura Cliente/Servidor. Por ser uma rea nova,
necessrio o investimento em equipamentos, pessoal, treinamento e servios para
conseguir responder a demanda deste mercado globalizado.
A importncia e a credibilidade desta tecnologia podem ser verificadas em
funo de grandes empresas, tais como: Oracle, Sybase, Informix, Digital e IBM, que
desenvolveram solues para atender a essa nova plataforma. Esta oferece acesso a
dados localizados em diferentes Servidores, sem que o usurio perceba que eles podem
estar vindo at de pases diferentes, realidade facilmente conseguida atravs da Internet.
Esta facilidade permite uma integrao entre micros, mainframes e redes, a fim de se
obter o melhor que a computao distribuda pode oferecer.

Referncias Bibliogrficas
1. (AMARAL,1993) Amaral, W. H. Arquitetura Cliente/Servidor Orientada a Objeto
Tese de Mestrado, IME, 1993.
2. (ANDREWS,1991) Andrews, G. R. Concurrent Programming: Principles and
Practice
Benjamin/Cummings, Redwood City, CA, 1991.
3. (AQUINO,1995) Botelho, Toms de Aquino Tinoco, Anlise de Desempenho da
Arquitetura Cliente/Servidor Orientada a Objeto, Tese de Mestrado, IME,
Dezembro/1995.