Вы находитесь на странице: 1из 16

Sistemas Cliente-Servidor

Disciplina Bancos de Dados II (INE 5616 2006-1) Curso de Sistemas de Informao

Prof. Renato Fileto INE/CTC/UFSC

1
1

Cliente - Servidor
Arquitetura cliente/servidor: Os servidores oferecem servios a processos usurios, ou seja, executam a tarefa solicitada e enviam uma resposta ao cliente que se traduz nos dados solicitados. Os clientes solicitam um determinado servio, atravs do envio de uma mensagem ao servidor. Enquanto o processo servidor est trabalhando a solicitao, o cliente est livre para realizar outras tarefas.

Cliente
O processo cliente realiza o envio das mensagens fazendo algum pedido ao servidor. O cliente a parte que interage com o usurio, possui a interface que o usurio utiliza para requisitar as tarefas ao servidor, sendo chamado de front-end da aplicao. Os processos clientes gerenciam as atividades dos usurios e realizam as validaes dos dados informados por estes.

Servidor
o processo que responde a uma mensagem solicitando a realizao de alguma tarefa por parte do cliente. O processo servidor chamado de back-end. O processo servidor pode oferecer servios a muitos clientes, realiza pesquisas, filtragens e atualizaes em bancos de dados. Os servios podem ser realizados diretamente pelo processo servidor ou atravs de processos escravos criados por este para atender cada pedido do cliente, o que libera o processo mestre do servidor para receber outras solicitaes.

Transparncia de Localizao
Um aspecto importante nos sistemas cliente/servidor:

Transparncia - para o usurio no deve existir


diferena entre acessar um recurso local ou remoto, no deve ser motivo de preocupao para o usurio a localizao do servidor e a natureza da comunicao.

Camadas de Cliente-Servidor
Arquitetura cliente/servidor - forma como os aplicativos so estruturados. Duas variantes: Two-Tier Three-Tier
Client 1 Client 2

...

Client N

request

request

request

Business Rules + Application Logics


replies for requests from all clients

Server

Camadas de Cliente-Servidor
Two-Tier: organizao em duas camadas - o cliente comunica-se diretamente com o servidor.
A base de dados fica no servidor. As regras e a lgica da aplicao no cliente. Problema de manuteno - toda vez que uma aplicao for alterada, tanto bancos de dados como aplicaes clientes precisam ser alteradas. A aplicao cliente precisa ser instalada em todos os ns.

Camadas de Cliente-Servidor

Three-Tier: uma camada intermediria criada entre o servidor e o cliente.


A funo da camada intermediria armazenar as regras do negcio e a lgica da aplicao. O cliente fica responsvel apenas pela interface com o usurio. Qualquer alterao na camada intermediria imediatamente assumida por todas as aplicaes e pelo banco de dados.

Caractersticas do Cliente
Interface grfica Validao da entrada de dados Possibilidade de impresso local ou remota Capacidade de detectar quando uma solicitao feita no chega ao servidor Exigncia de investimentos em equipamentos para suportar interfaces grficas sofisticadas Dados no esto disponveis localmente; se houver replicao local, a consistncia deve ser mantida!

Caractersticas do Servidor
Oferece servios (e.g., busca e atualizaes no banco de dados) para muitos clientes, centralizando a manipulao de dados, manuteno de consistncia e integridade Deve ter capacidade de processamento, acesso a disco, memria e comunicao para atender os pedidos dos vrios clientes Controle de concorrncia (e.g., utilizando excluso mtua no acesso a dados) Segurana: controle de acesso via senhas, a diversos nveis de informao Confiabilidade: a centralizao facilita o gerenciamento do backup Caso falhe o servidor, todos os servios so paralizados

Comunicao
A comunicao entre o cliente e o servidor transacional e cooperativa. A caracterstica transacional indica que o servidor envia apenas os resultados relevantes do pedido do cliente. Assim, a quantidade de dados transferida tende a ser a menor quantidade necessria para o cliente executar seu trabalho. A natureza cooperativa do paradigma cliente/servidor significa que ocorre um processamento significativo e colaborativo nos extremos cliente e servidor.

Comunicao (II)
Sistemas Cliente-Servidor dispensam um mecanismo especial para sincronizar os componentes (clientes e servidor(s)); a natureza da passagem de mensagens elimina a necessidade de um mecanismo explcito. A comunicao cliente/servidor baseada em "Chamadas de Procedimento Remoto" (Remote Procedure Calls - RPC).

Comunicao (III)
Minimizao do trfego No dispensa protocolos de mais baixo nvel para checagem da transmisso de pacotes
Para evitar erros nos dados Para evitar que o cliente ou servidor trabalhem sem necessidade

Compartilhamento de perifricos

Balanceamento das Aplicaes


Clientes Gordos: regras de negcio e lgica da aplicao concentradas no lado cliente Exemplo extremo: servidores de arquivos
Altos custos de transmisso de dados

Servidores Gordos: regras de negcio e lgica da aplicao concentradas no lado servidor Exemplo extremo: mainframes com terminais
Interao homem-mquina, muito poble e dependente de comunicao constante com o servidor

Desvantagens de Cliente-Servidor
(em relao a sistemas centralizados)

Aumento do custo do hardware, no servidor e no cliente Custo do software, incluindo servidor de banco de dados, aplicativos, ferramentas de desenvolvimento e administrao Custo administrativo e de pessoal de suporte, incluindo treinamento Dificuldades de configurao e identificao/anlise de problemas, devido complexidade

Cliente - Servidor

Вам также может понравиться