Sunteți pe pagina 1din 38

ArquiteturaCliente Arquitetura Cliente Servidor

Fabiula d b l deAquino

Objetivosdesteencontro Objetivos deste encontro


Definio dos conceitos relacionados
Cliente/Servidor / Distribuindo papis Cliente
Gordo e magro

Servidor d Vantagens e Desvantagens da arquitetura WebBased

Cliente/Servidor
O termo Cliente/Servidor referese ao mtodo p p 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
Modelo onde dois ou mais computadores g q interagem de modo que um oferece os servios aos outros. Este modelo permite aos usurios acessarem informaes e servios de qualquer lugar.

Cliente/Servidor
Arquitetura computacional que envolve q p requisies de servios de clientes para servidores. Uma rede Cliente/Servidor uma extenso lgica da programao modular modular.

Cliente/Servidor
Uma aplicao Cliente/Servidor pode ser estruturada em trs nveis:
Interface com o usurio Processamento Dados

Simples requer dois tipos de mquinas:


Cliente: executa programas que compreendem a interface com o usurio; Servidor: implementa camadas de processamento e de dados.

ClienteServidor Cliente Servidor

ClienteServidor Cliente Servidor


Na alternativa (a), executase no cliente s a p parte da interface dependente do terminal p Na alternativa (b), todo o software de interface com usurio executa no cliente Exemplo da alternativa (c): verificao de consistncia do preenchimento de um formulrio feito no cliente

ClienteServidor Cliente Servidor


Na alternativa (d), a aplicao executa na q p mquina cliente, indo para o servidor somente as operaes sobre as base de dados. Exemplo:
muitas aplicaes bancrias;

Na alternativa (e), o disco local no cliente p mantm parte dos dados. Exemplo:browserwebmantendoumacach;

ClienteServidor Cliente Servidor


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 cliente Clientes gordos ( b l (abordagens ( ) e ( )) (d) (e)):evitar; Clientes magros (abordagens (a) a (c)): mais fceis de gerenciar.

Cliente
Sempre inicia pedidos de servidores Espera por respostas Recebe respostas Normalmente, se conecta a um pequeno nmero de servidores de uma s vez Normalmente, interage diretamente com os usurios fi i atravs d qualquer i t f i finais t de l interface com o usurio , como interface grfica do usurio.

Cliente
Cliente, tambm denominado de frontend p q g e WorkStation, um processo que interage com o usurio atravs de uma interface grfica ou no permitindo consultas ou comandos no, para recuperao de dados e anlise e representando o meio pela qual os resultados so apresentados.

Cliente
Alm disso, apresenta algumas caractersticas distintas:
o processo ativo na relao Cliente/Servidor. Inicia e termina as conversaes com os Servidores, solicitando servios distribudos. N NosecomunicacomoutrosClientes. i t Cli t Tornaaredetransparenteaousurio.

Servidor
Sempre esperar por um pedido de um dos clientes Serve os clientes pedidos, em seguida, responde com os dados solicitados aos clientes Um servidor pode se comunicar com outros servidores, a fim de atender uma solicitao do cliente.

Servidor
Tambm denominado Servidor ou backend, f fornece um determinado servio que fica q disponvel para todo Cliente que o necessita. A natureza e escopo do servio so definidos pelo objetivo da aplicao Cliente/Servidor.

Servidor
Alm disso, ele apresenta ainda algumas p p propriedades distintas:
o processo reativo na relao Cliente/Servidor. Possui uma execuo contnua 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.

OrganizaodeServidores Organizao de Servidores


Servidor interativo: o prprio servidor p q manipula a requisio e, se necessrio, retorna uma resposta ao cliente; Servidor concorrente: repassa para uma thread ou processo em separado a requisio e imediatamente espera pela prxima l requisio

Tiposdeservidores Tipos de servidores


ServidordeArquivos ServidordeImpressora Servidor de Impressora ServidordeBancodeDados ServidordeRedes ServidordeTelex Servidor de Telex ServidordeFax ServidordeProcessamentoeImagens ServidordeComunicaoeetc. Servidor de Comunicao e etc

ComunicaoCliente/Servidor Comunicao Cliente/Servidor


Atravs de portas conhecidas designadas pela p Autoridade para Atribuio de Nmeros na Internet (Iana). Ex: FTP21, HTTP80 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 servidor especfico.

Umaintervenocliente/servidor Uma interveno cliente/servidor

Vantagens
Na maioria dos casos, a arquitetura p q p p cliente/servidor permite que os papis e responsabilidades de um sistema de computao possam ser distribudos entre vrios computadores independentes que so conhecidos por si s atravs de uma rede rede.

Vantagens
Isso cria uma vantagem adicional para essa q arquitetura:
Maior facilidade de manuteno. Por exemplo, possvel substituir, reparar, atualizar ou mesmo realocar um servidor de seus clientes, enquanto continuam a ser a conscincia e no afetado por essa mudana

Vantagens
Todos os dados so armazenados nos q que g geralmente p possuem servidores, controles de segurana muito maior do que a maioria dos clientes clientes. Servidores podem controlar melhor o acesso e recursos, para garantir que apenas os clientes l com as permisses adequadas podem acessar e alterar dados

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 P2P, P2P, atualizaes de dados podem precisar ser distribuda e aplicada a cada ponto na rede rede, que o timeconsuming passvel de erro, como pode haver milhares ou mesmo milhes de pares

Vantagens
Muitas tecnologias avanadas de j p q clientes/servidor j esto disponveis, que foram projetadas para garantir a segurana, facilidade de interface do usurio e facilidade de uso Funciona com vrios clientes diferentes de l f capacidades diferentes.

Vantagens
Confiabilidade
Se uma mquina apresenta algum problema, q p g p , ainda que seja um dos Servidores, parte do Sistema continua ativo.

MatrizdeComputadoresagregando capacidadedeprocessamento 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.

Vantagens
O Sistema cresce facilmente
Tornase fcil modernizar o Sistema quando q necessrio.

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
Redes de trfego de bloqueio um dos p problemas relacionados com o modelo cliente/servidor.
Como o nmero de solicitaes simultneas de cliente para um determinado servidor, o servidor pode ficar sobrecarregado

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. Em redes P2P, os recursos so normalmente distribudos entre vrios ns Mesmo se um ou ns. mais ns partem e abandonam baixar um arquivo, por exemplo os ns restantes ainda deve ter os exemplo, dados necessrios para completar o download.

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
A escassez de ferramentas de suporte, no raras vezes obriga o d bi desenvolvimento d f l i de ferramentas prprias. Em funo do grande poderio das novas linguagens d programao, esta difi ld d est li de dificuldade se tornando cada vez menor.

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 Aumento d complexidade d ambiente e a da l id d do bi escassez de ferramentas de auxlio tornam difcil o gerenciamento d rede. i da d

ArquiteturaWebBased Arquitetura Web Based


Ento, usamos o Browser como Cliente Universal Conceito de Intranet A camada d aplicao se quebra em d d de li b duas: Web e Aplicao Evitamos instalar qualquer software no desktop e portanto, portanto problemas de manuteno

ArquiteturaWebBased Arquitetura Web Based


Evitar instalao em computadores de p clientes, parceiros, fornecedores, etc. s vezes, continua se a chamar isso de 3 camadas porque as camadas Web e Aplicao frequentemente rodam na mesma mquina (para pequenos volumes) ( l )

ArquiteturaWebBased Arquitetura Web Based

Classe Me

Generaliza Especializa E i li

Classe Filha

ProblemasdaWebBased Problemas da Web Based


No h suporte a Thin Clients (PDA, celulares, q q ) smart cards, quiosques, ...)
preciso usar um browser (pesado) no cliente

Dificuldade de criar software reutilizvel


cadacomponentizao?

ProblemasdaWebBased Problemas da Web Based


Fazer aplicaes distribudas multicamadas difcil. Pois devese
Implementar persistncia (impedance mismatch entre o mundo OO e o mundo dos BDs relacionais) Implementar tolerncia a falhas com failover Implementartolernciaafalhascomfailover Implementargernciadetransaesdistribudas Implementarbalanceamentodecarga Implementarresourcepooling p p g

Sisso? S isso?
DVIDAS? ?

Referncias
(AMARAL,1993)Amaral,W.H.Arquitetura j Cliente/ServidorOrientadaaObjetoTesede Mestrado,IME,1993. (NAVATHE 1994) Navathe Shamkant B & (NAVATHE,1994)Navathe,Shamkant B.& Elmasri,Ramez FundamentalsofDatabase Systems2ndEd.,BenjaminCummings,CA, 1994.

S-ar putea să vă placă și