Introdução ao Modelos de
Duas Camadas – Cliente
Servidor
Desenvolvimento de Sistemas
Cliente Servidor
Prof. Esp. MBA Heuber G. F. Lima
Aula 1
Ciclo de Vida Clássico
Aonde estamos?
Page 2
Análise
O que fizemos na análise?
O que fizemos no projeto?
O que fizemos na implementação?
O que faremos na implantação?
O que faremos na manutenção?
Page 3
Mas enfim, o que é
Desenvolvimento de Sistemas
Cliente x Servidor
Alguns modelos de arquitetura de sistemas
Modelos de sistemas Locais
Modelos Cliente-Servidor
SOA
Webservices...
Page 5
Modelo local
Um único host executa todas as operações necessárias
Vantagens
– Maior segurança da informação;
– Algumas vezes, podemos ser mais robustos;
– Maior integração com recursos locais (hardware e até mesmo outros
softwares);
Desvantagens
– Menor escalabilidade;
– Dificuldade na atualização;
– Não compartilhamento de recursos...
Page 6
Modelo
Cliente x Servidor
Modelo Cliente x Servidor - Conceitos
Cliente-servidor é um modelo computacional que separa clientes e
servidores, sendo interligados entre si
Geralmente utilizando-se uma rede de computadores. Cada instância de
um cliente pode enviar requisições de dado para algum dos servidores
conectados e esperar pela resposta.
Por sua vez, algum dos servidores disponíveis pode aceitar tais
requisições, processá-las e retornar o resultado para o cliente.
Muitas vezes os clientes e servidores se comunicam através de uma rede
de computador com hardwares separados, mas o cliente e servidor
podem residir no mesmo sistema.
A máquina servidor é um host que está executando um ou mais
programas de servidor que partilham os seus recursos com os clientes.
Page 8
Características do Modelo Cliente Servidor
Serviço
– Cliente-servidor é uma relação entre processos que estão a ocorrer em
máquinas diferentes. O processo servidor é o fornecedor dos serviços. O
cliente é o consumidor dos serviços. Fundamentalmente uma arquitetura
cliente-servidor implementa uma separação lógica de funções baseadas no
conceito de serviço
Recurso Compartilhados
– Um servidor pode servir vários clientes ao mesmo tempo e gerir os acessos a
recursos compartilhados;
Protocolos Assimétricos
– Existe uma relação de muitos-para-um entre clientes e servidor. Os clientes
iniciam o diálogo através da requisição de um serviço. Os servidores esperam
passivamente os pedidos dos clientes;
Page 9
Características de um modelo cliente servidor
Localização Transparente
– O servidor é um processo que pode residir na mesma máquina que o cliente ou
numa máquina diferente que esteja ligada através da rede. Um programa pode
ter o papel de cliente, de servidor ou de ambos;
Independência;
– O conceito inerente as arquiteturas cliente-servidor baseia-se em software que
deve ser independente de hardware ou sistemas operacionais;
Baseados em transmissão de mensagens;
– Clientes e servidores devem estar ligados de forma ‘fraca’; ou seja; não deve
ser obrigatório que o serviço esteja executando para que o cliente possa ser
executado. Normalmente se comunicam através de mensagens. A mensagem
é o mecanismo de transporte para os pedidos e respostas dos serviços
Page 10
Características do Modelo Cliente Servidor
Encapsulamento de serviços
– Um servidor deve ser um programa especializado. As mensagens transmite o
pedido de serviço ao servidor. O servidor é que deve ser o responsável pela
forma como implementa o serviço. A forma de implementar os serviços pode
ser melhorada/alterada sem implicações ao nível dos clientes.
Escalabilidade
– Os sistemas cliente-servidor podem evoluir facilmente quer por adição de
novos clientes quer por evolução de novas máquinas servidoras mais potentes.
Integridade
– O código e dados do servidor devem ser mantidos centralmente. Dessa forma
reduzem-se os custos de manutenção e aumenta-se a integridade dos dados.
Page 11
Características gerais...
Cada instância de software do cliente pode enviar requisições de dados a
um ou mais servidores ligados.
Por sua vez, os servidores podem aceitar esses pedidos, processá-los e
retornar as informações solicitadas para o cliente.
Embora este conceito possa ser aplicado para uma variedade de razões
para diversos tipos de aplicações, a arquitetura permanece
fundamentalmente a mesma.
Page 12
Características do Cliente
Sempre inicia pedidos de servidores;
Espera por respostas;
Recebe respostas;
Normalmente, se conecta a um pequeno número de servidores de uma
só vez;
Normalmente, interage diretamente com os usuários finais através de
qualquer interface com o usuário, como interface gráfica do usuário.
utiliza recursos da rede;
Clientes são implementados de diversas formas, porém normalmente
representam uma aplicação leve, e definem uma interface simples para
que se possa acessar as solicitações de serviço.
Page 13
Características do 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 solicitação do cliente.
fornece recursos a rede.
Page 14
Vantagens
Na maioria dos casos, a arquitetura cliente-servidor permite que os
papéis e responsabilidades de um sistema de computação para ser
distribuído entre vários computadores independentes que são conhecidos
por si só através de uma rede. Isso cria uma vantagem adicional para
essa arquitetura:
– Maior facilidade de manutenção. Por exemplo, é possível substituir, reparar,
atualizar ou mesmo realocar um servidor de seus clientes, enquanto continuam
a ser a consciência e não afetado por essa mudança;
Todos os dados são armazenados nos servidores, que geralmente
possuem controles de segurança muito maior do que a maioria dos
clientes.
Servidores podem controlar melhor o acesso e recursos, para garantir
que apenas os clientes com as permissões adequadas podem acessar e
alterar dados;
Page 15
Vantagens
Desde o armazenamento de dados é centralizada, as atualizações dos
dados são muito mais fáceis de administrar,
Em comparação com o paradigma P2P, onde uma arquitetura P2P,
atualizações de dados podem precisar ser distribuída e aplicada a cada
ponto na rede, que é o time-consuming é passível de erro, como pode
haver milhares ou mesmo milhões de pares;
Muitas tecnologias avançadas de cliente-servidor já estão disponíveis,
que foram projetadas para garantir a segurança, facilidade de interface do
usuário e facilidade de uso;
Funciona com vários clientes diferentes de capacidades diferentes.
Page 16
Desvantagens
Redes de tráfego de bloqueio é um dos problemas relacionados com o
modelo cliente-servidor. Como o número de solicitações simultâneas de
cliente para um determinado servidor, o servidor pode ficar
sobrecarregado;
O paradigma cliente-servidor não tem a robustez de uma rede P2P. Sob
cliente-servidor, se um servidor crítico falhar, os pedidos dos clientes não
podem ser cumpridos.
Em redes P2P, os recursos são normalmente distribuídos entre vários
nós. Mesmo se um ou mais nós partem e abandonam baixar um arquivo,
por exemplo, os nós restantes ainda deve ter os dados necessários para
completar o download.
Page 17
Resumindo
Logo, havendo um cliente, um servidor com serviços e um meio de
comunicação entre o cliente e o servidor, está estabelecida uma
arquitetura Cliente/Servidor.
O padrão de arquitetura Cliente/Servidor é utilizado em serviços de
bancos de dados, aplicações de groupware, Internet e outros
Page 18
Algumas características são resultantes de uma boa implementação de
uma arquitetura Cliente/Servidor:
– Usabilidade;
– Escalabilidade;
– Interoperabilidade;
– Flexibilidade.
Page 19
Obrigado!
[email protected]
Download

SENAI – DSCS_Aula1