Anda di halaman 1dari 38

Arquitetura Cliente ArquiteturaCliente

Servidor Servidor
b l d Fabiula deAquino
Objetivos deste encontro Objetivosdesteencontro
Definio dos conceitos relacionados
Cliente/Servidor /
Distribuindo papis
Cliente Cliente
Gordo e magro
d Servidor
Vantagens e Desvantagens da arquitetura
WebBased
Cliente/Servidor Cliente/Servidor
O termo Cliente/Servidor referese ao mtodo
de distribuio de aplicaes computacionais p p
atravs de muitas plataformas. Tipicamente
essas aplicaes esto divididas entre um essas aplicaes esto divididas entre um
provedor de acesso e uma central de dados e
numerosos clientes contendo uma interface numerosos clientes contendo uma interface
grfica para usurios para acessar e manipular
dados.
Cliente/Servidor Cliente/Servidor
Modelo onde dois ou mais computadores
interagem de modo que um oferece os g q
servios aos outros.
Este modelo permite aos usurios acessarem Este modelo permite aos usurios acessarem
informaes e servios de qualquer lugar.
Cliente/Servidor Cliente/Servidor
Arquitetura computacional que envolve
requisies de servios de clientes para q p
servidores. Uma rede Cliente/Servidor uma
extenso lgica da programao modular extenso lgica da programao modular.
Cliente/Servidor Cliente/Servidor
Uma aplicao Cliente/Servidor pode ser
estruturada em trs nveis:
Interface com o usurio
Processamento Processamento
Dados
Simples requer dois tipos de mquinas:
Cliente: executa programas que compreendem a Cliente: executa programas que compreendem a
interface com o usurio;
Servidor: implementa camadas de processamento e Servidor: implementa camadas de processamento e
de dados.
Cliente Servidor ClienteServidor
Cliente Servidor ClienteServidor
Na alternativa (a), executase no cliente s a
parte da interface dependente do terminal p p
Na alternativa (b), todo o software de
interface com usurio executa no cliente interface com usurio executa no cliente
Exemplo da alternativa (c): verificao de
consistncia do preenchimento de um
formulrio feito no cliente formulrio feito no cliente
Cliente Servidor ClienteServidor
Na alternativa (d), a aplicao executa na
mquina cliente, indo para o servidor somente q p
as operaes sobre as base de dados.
Exemplo: Exemplo:
muitas aplicaes bancrias;
Na alternativa (e), o disco local no cliente
mantm parte dos dados. p
Exemplo:browserwebmantendoumacach;
Cliente Servidor ClienteServidor
Recentemente temse evitado as alternativas
(d) e (e) devido a problemas de ( ) ( ) p
gerenciamento e por tornar o software cliente
dependente da plataforma subjacente do dependente da plataforma subjacente do
cliente
l ( b ( ) ( )) Clientes gordos (abordagens (d) e (e)):evitar;
Clientes magros (abordagens (a) a (c)): mais Clientes magros (abordagens (a) a (c)): mais
fceis de gerenciar.
Cliente Cliente
Sempre inicia pedidos de servidores
Espera por respostas Espera por respostas
Recebe respostas
Normalmente, se conecta a um pequeno
nmero de servidores de uma s vez
Normalmente, interage diretamente com os
i fi i t d l i t f usurios finais atravs de qualquer interface
com o usurio , como interface grfica do
usurio.
Cliente Cliente
Cliente, tambm denominado de frontend
e WorkStation, um processo que interage p q g
com o usurio atravs de uma interface grfica
ou no permitindo consultas ou comandos ou no, permitindo consultas ou comandos
para recuperao de dados e anlise e
representando o meio pela qual os resultados representando o meio pela qual os resultados
so apresentados.
Cliente Cliente
Alm disso, apresenta algumas caractersticas
distintas:
o processo ativo na relao Cliente/Servidor.
Inicia e termina as conversaes com os Inicia e termina as conversaes com os
Servidores, solicitando servios distribudos.
N i t Cli t NosecomunicacomoutrosClientes.
Tornaaredetransparenteaousurio.
Servidor Servidor
Sempre esperar por um pedido de um dos
clientes
Serve os clientes pedidos, em seguida,
responde com os dados solicitados aos responde com os dados solicitados aos
clientes
Um servidor pode se comunicar com outros
servidores, a fim de atender uma solicitao servidores, a fim de atender uma solicitao
do cliente.
Servidor Servidor
Tambm denominado Servidor ou backend,
fornece um determinado servio que fica f q
disponvel para todo Cliente que o necessita. A
natureza e escopo do servio so definidos natureza e escopo do servio so definidos
pelo objetivo da aplicao Cliente/Servidor.
Servidor Servidor
Alm disso, ele apresenta ainda algumas
propriedades distintas: p p
o processo reativo na relao Cliente/Servidor.
Possui uma execuo contnua Possui uma execuo contnua.
Recebe e responde s solicitaes dos Clientes.
No se comunica com outros Servidores enquanto
estiver fazendo o papel de Servidor.
Prestaserviosdistribudos.
Atende a diversos Clientes simultaneamente. AtendeadiversosClientessimultaneamente.
Organizao de Servidores OrganizaodeServidores
Servidor interativo: o prprio servidor
manipula a requisio e, se necessrio, p q
retorna uma resposta ao cliente;
Servidor concorrente: repassa para uma Servidor concorrente: repassa para uma
thread ou processo em separado a requisio
l e imediatamente espera pela prxima
requisio
Tipos de servidores Tiposdeservidores
ServidordeArquivos
Servidor de Impressora ServidordeImpressora
ServidordeBancodeDados
ServidordeRedes
Servidor de Telex ServidordeTelex
ServidordeFax
ServidordeProcessamentoeImagens
Servidor de Comunicao e etc ServidordeComunicaoeetc.
Comunicao Cliente/Servidor ComunicaoCliente/Servidor
Atravs de portas conhecidas designadas pela
Autoridade para Atribuio de Nmeros na p
Internet (Iana). Ex: FTP21, HTTP80
Atravs de um daemon que registra os Atravs de um daemon que registra os
servidores em execuo
Atravs de um superservidor, que escuta em
vrias portas e repassa a requisio a um vrias portas e repassa a requisio a um
servidor especfico.
Uma interveno cliente/servidor Umaintervenocliente/servidor
Vantagens Vantagens
Na maioria dos casos, a arquitetura
cliente/servidor permite que os papis e p q p p
responsabilidades de um sistema de
computao possam ser distribudos entre computao possam ser distribudos entre
vrios computadores independentes que so
conhecidos por si s atravs de uma rede conhecidos por si s atravs de uma rede.
Vantagens Vantagens
Isso cria uma vantagem adicional para essa
arquitetura: q
Maior facilidade de manuteno. Por exemplo,
possvel substituir, reparar, atualizar ou mesmo possvel substituir, reparar, atualizar ou mesmo
realocar um servidor de seus clientes, enquanto
continuam a ser a conscincia e no afetado por continuam a ser a conscincia e no afetado por
essa mudana
Vantagens Vantagens
Todos os dados so armazenados nos
servidores, que geralmente possuem q g p
controles de segurana muito maior do que a
maioria dos clientes maioria dos clientes.
Servidores podem controlar melhor o acesso e
l recursos, para garantir que apenas os clientes
com as permisses adequadas podem acessar
e alterar dados
Vantagens Vantagens
O armazenamento de dados centralizada, as
atualizaes dos dados so muito mais fceis
de administrar, em comparao com o
paradigma P2P onde uma arquitetura P2P paradigma P2P, onde uma arquitetura P2P,
atualizaes de dados podem precisar ser
distribuda e aplicada a cada ponto na rede distribuda e aplicada a cada ponto na rede,
que o timeconsuming passvel de erro,
como pode haver milhares ou mesmo milhes
de pares
Vantagens Vantagens
Muitas tecnologias avanadas de
clientes/servidor j esto disponveis, que j p q
foram projetadas para garantir a segurana,
facilidade de interface do usurio e facilidade facilidade de interface do usurio e facilidade
de uso
l f Funciona com vrios clientes diferentes de
capacidades diferentes.
Vantagens Vantagens
Confiabilidade
Se uma mquina apresenta algum problema, q p g p ,
ainda que seja um dos Servidores, parte do
Sistema continua ativo.
MatrizdeComputadoresagregando
capacidade de processamento capacidadedeprocessamento
A arquitetura Cliente / Servidor prov meios para
que as tarefas sejam feitas sem a monopolizao
dos recursos. Usurios finais podem trabalhar
localmente.
Vantagens Vantagens
O Sistema cresce facilmente
Tornase fcil modernizar o Sistema quando q
necessrio.
O Cliente e o Servidor possuem ambientes O Cliente e o Servidor possuem ambientes
operacionais individuais / Sistemas Abertos
Podese misturar vrias plataformas para melhor
atender s necessidades individuais de diversos
setores e usurios.
Desvantagens Desvantagens
Redes de trfego de bloqueio um dos
problemas relacionados com o modelo p
cliente/servidor.
Como o nmero de solicitaes simultneas de Como o nmero de solicitaes simultneas de
cliente para um determinado servidor, o servidor
pode ficar sobrecarregado pode ficar sobrecarregado
Desvantagens Desvantagens
O paradigma cliente/servidor no tem a
robustez de uma rede P2P.
Sob cliente/servidor, se um servidor crtico falhar,
os pedidos dos clientes no podem ser cumpridos. os pedidos dos clientes no podem ser cumpridos.
Em redes P2P, os recursos so normalmente
distribudos entre vrios ns Mesmo se um ou distribudos entre vrios ns. Mesmo se um ou
mais ns partem e abandonam baixar um arquivo,
por exemplo os ns restantes ainda deve ter os por exemplo, os ns restantes ainda deve ter os
dados necessrios para completar o download.
Desvantagens Desvantagens
Manuteno
As diversas partes envolvidas nem sempre p p
funcionam bem juntas. Quando algum erro
ocorre, existe uma extensa lista de itens a serem ,
investigados.
Ferramentas Ferramentas
A escassez de ferramentas de suporte, no raras
b i d l i d f vezes obriga o desenvolvimento de ferramentas
prprias. Em funo do grande poderio das novas
li d difi ld d linguagens de programao, esta dificuldade est
se tornando cada vez menor.
Desvantagens Desvantagens
Treinamento
A diferena entre a filosofia de desenvolvimento
de software para o microcomputador de um
fabricante para o outro, no como a de uma p ,
linguagem de programao para outra. Um
treinamento mais efetivo tornase necessrio.
Gerenciamento
A d l id d d bi Aumento da complexidade do ambiente e a
escassez de ferramentas de auxlio tornam difcil o
i d d gerenciamento da rede.
Arquitetura Web Based ArquiteturaWebBased
Ento, usamos o Browser como Cliente
Universal
Conceito de Intranet
A d d li b d A camada de aplicao se quebra em duas:
Web e Aplicao
Evitamos instalar qualquer software no
desktop e portanto problemas de desktop e portanto, problemas de
manuteno
Arquitetura Web Based ArquiteturaWebBased
Evitar instalao em computadores de
clientes, parceiros, fornecedores, etc. p
s vezes, continua se a chamar isso de 3
camadas porque as camadas Web e Aplicao camadas porque as camadas Web e Aplicao
frequentemente rodam na mesma mquina
( l ) (para pequenos volumes)
Arquitetura Web Based ArquiteturaWebBased
Classe Me
Generaliza
E i li Especializa
Classe Filha
Problemas da Web Based ProblemasdaWebBased
No h suporte a Thin Clients (PDA, celulares,
smart cards, quiosques, ...) q q )
preciso usar um browser (pesado) no cliente
Dificuldade de criar software reutilizvel Dificuldade de criar software reutilizvel
cadacomponentizao?
Problemas da Web Based ProblemasdaWebBased
Fazer aplicaes distribudas multicamadas
difcil. Pois devese
Implementar persistncia (impedance mismatch
entre o mundo OO e o mundo dos BDs entre o mundo OO e o mundo dos BDs
relacionais)
Implementar tolerncia a falhas com failover Implementartolernciaafalhascomfailover
Implementargernciadetransaesdistribudas
Implementarbalanceamentodecarga
Implementarresourcepooling p p g
S isso? Sisso?
? DVIDAS?
Referncias Referncias
(AMARAL,1993)Amaral,W.H.Arquitetura
Cliente/ServidorOrientadaaObjetoTesede j
Mestrado,IME,1993.
(NAVATHE 1994) Navathe Shamkant B & (NAVATHE,1994)Navathe,Shamkant B.&
Elmasri,Ramez FundamentalsofDatabase
Systems2ndEd.,BenjaminCummings,CA,
1994.

Anda mungkin juga menyukai