SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
Cliente-Servidor
Alexsandro Oliveira, Luan Lima, Randerson Lessa
Arquitetura de Software
Agenda
● Modelo Cliente - Servidor
○ Contextualização
○ Solução
○ Vantagens
○ Desvantagens
● Quando Utilizar (Exemplo)
○ LoLNews
● Quando Não Utilizar (Exemplo)
○ Notificações
● Caso de Sucesso
○ Internet
○ SGBDs
○ Servidor de Arquivos Samba
ContextualizaçãodoModeloCliente-Servidor
Contexto : Existem recursos e serviços compartilhados que um
grande número de clientes distribuídos desejam acessar.
Deseja-se controlar esse acesso e a qualidade do serviço.
Problema : Ao gerir um conjunto de recursos e serviços
compartilhados, podemos promover manutenibilidade e reuso a
partir da fatoração de serviços. Sendo assim, queremos
melhorar a disponibilidade e escalabilidade, centralizando o
controle, enquanto os recursos e serviços são distribuídos
em um ou vários servidores.
SoluçãodoModeloCliente-Servidor
Os clientes interagem solicitando recursos e/ou serviços de
servidores, que fornecem esse conjunto de recursos e
serviços.
Os componentes podem agir como clientes ou servidores.
Pode haver um servidor central ou múltiplos servidores
distribuídos.
SoluçãodoModeloCliente-Servidor
Resumo ● Clientes iniciam interações com Servidores, por
meio da requisição de serviços quando
necessitarem e esperando a resposta dessas
requisições
Elementos ● Cliente, Servidor e Conector Requisição/Resposta
Relações ● Attachment Relation (Relação de Ligação)
Restrições ● Clientes são conectados a Servidores apenas por
regras de Requisição/Resposta
● Servidores podem ser clientes apenas de outros
Servidores
● Restrições de números de clientes por servidores
e de quantidade de serviço provido pelo servidor
Vantagens
● Integridade
● Confiabilidade
● Manutenibilidade*
● Disponibilidade*
● Escalabilidade*
● Segurança
● É possível substituir, reparar, atualizar ou
mesmo realocar um servidor sem que os
clientes sejam afetados
● Os dados são armazenados no servidor, o que
facilita a centralização da segurança
● Atualizações nos dados são mais fáceis de
administrar
● Funciona com vários clientes de capacidades
diferentes
● Gerenciamento de Performance e Taxa de
Transferência
Desvantagens
● Manutenibilidade*
● Disponibilidade*
● Escalabilidade*
● Servidor pode ser um gargalo
● O Servidor pode representar um ponto
de falha único
● Decisões de onde colocar
funcionalidades (lado cliente ou
servidor) são geralmente complexas de
mudar depois do sistema pronto
● Clientes podem solicitar serviços, mas
não podem oferecê-los para outros
clientes, sobrecarregando o servidor,
pois quanto mais clientes, mais
informações que irão demandar mais
banda
QuandoUtilizar(Exemplo):LoLNews
Exemplo de um sistema em Java EE, utilizando o tomcat como
servidor.
QuandoNãoUtilizar(Exemplo):AppcomNotificação
Exemplo de um sistema em Android, utilizando o apache2 como
servidor.
QuandoNãoUtilizar(Exemplo):AppcomNotificação
QuandoNãoUtilizar(Exemplo):AppcomNotificação
RepositóriosdoGitHub
LOLNews : https://bitbucket.org/luanchaoskk/trabalhoweb.git
Notificação : https://bitbucket.org/luanchaoskk/app-
notifica-o-arquitetura.git
CasodeSucesso:Internet
CasodeSucesso:SGBDs
CasodeSucesso:Servidor deArquivosSamba
Referências
ArchLinux, Samba. Disponível em <https://wiki.archlinux.
org/index.php/Samba>. Acesso em 5 de novembro.
DevMedia, Google Clouding Messaging : Introdução. Disponível
em <http://www.devmedia.com.br/google-cloud-messaging-
introducao/29776>. Acesso em 4 de Novembro.
SEI, Reasoning About Software Quality Attributes. Disponível
em <http://www.sei.cmu.edu/architecture/start/reasoning.
cfm>. Acesso em 5 de Novembro.
Reviewer-Herzog, J. (2015). Software Architecture in
Practice Third Edition Written by Len Bass, Paul Clements,

Mais conteúdo relacionado

Mais procurados

Apostilas modelo cliente servidor
Apostilas   modelo cliente servidorApostilas   modelo cliente servidor
Apostilas modelo cliente servidor
Daniel Silveira
 
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de ComputadoresAula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
Dalton Martins
 

Mais procurados (20)

Aula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosAula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - Processos
 
Protocolo Http
Protocolo HttpProtocolo Http
Protocolo Http
 
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
 
Redes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCPRedes de computadores 2 - Aula 6 - DNS, DHCP
Redes de computadores 2 - Aula 6 - DNS, DHCP
 
Atividade acl extendida
Atividade acl extendidaAtividade acl extendida
Atividade acl extendida
 
Endereçamento IP
Endereçamento IPEndereçamento IP
Endereçamento IP
 
Tipos de Servidores
Tipos de ServidoresTipos de Servidores
Tipos de Servidores
 
Aula 07 8 periféricos de um
Aula 07  8 periféricos de umAula 07  8 periféricos de um
Aula 07 8 periféricos de um
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Prazer, computação em nuvem
Prazer, computação em nuvemPrazer, computação em nuvem
Prazer, computação em nuvem
 
Apostilas modelo cliente servidor
Apostilas   modelo cliente servidorApostilas   modelo cliente servidor
Apostilas modelo cliente servidor
 
Computação em nuvem
Computação em nuvemComputação em nuvem
Computação em nuvem
 
TCP/IP
TCP/IPTCP/IP
TCP/IP
 
Introdução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosIntrodução a Sistemas Distribuídos
Introdução a Sistemas Distribuídos
 
Arquitetura Cliente-Servidor - Banco de dados
Arquitetura Cliente-Servidor - Banco de dadosArquitetura Cliente-Servidor - Banco de dados
Arquitetura Cliente-Servidor - Banco de dados
 
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de ComputadoresAula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
 
Aula 6 a camada de rede
Aula 6   a camada de redeAula 6   a camada de rede
Aula 6 a camada de rede
 
Slide internet
Slide   internetSlide   internet
Slide internet
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a Internet
 
Introdução aos Serviços de Rede
Introdução aos Serviços de RedeIntrodução aos Serviços de Rede
Introdução aos Serviços de Rede
 

Destaque

Posterdepetrologia 140203122520-phpapp01
Posterdepetrologia 140203122520-phpapp01Posterdepetrologia 140203122520-phpapp01
Posterdepetrologia 140203122520-phpapp01
Cristian Perez Gabriel
 
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarArquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Cleber Fonseca
 

Destaque (20)

Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.
 
03 arquitetura-cliente-servidor
03   arquitetura-cliente-servidor03   arquitetura-cliente-servidor
03 arquitetura-cliente-servidor
 
Mda arq cliente_serv
Mda arq cliente_servMda arq cliente_serv
Mda arq cliente_serv
 
Apostila cantu
Apostila cantuApostila cantu
Apostila cantu
 
SlidesHarmonization of ISO/IEC 9001:2000 and CMMI-DEV: from a theoretical com...
SlidesHarmonization of ISO/IEC 9001:2000 and CMMI-DEV: from a theoretical com...SlidesHarmonization of ISO/IEC 9001:2000 and CMMI-DEV: from a theoretical com...
SlidesHarmonization of ISO/IEC 9001:2000 and CMMI-DEV: from a theoretical com...
 
Posterdepetrologia 140203122520-phpapp01
Posterdepetrologia 140203122520-phpapp01Posterdepetrologia 140203122520-phpapp01
Posterdepetrologia 140203122520-phpapp01
 
Aumentando a força da pegada no Jiu Jitsu e Judô
Aumentando a força da pegada no Jiu Jitsu e JudôAumentando a força da pegada no Jiu Jitsu e Judô
Aumentando a força da pegada no Jiu Jitsu e Judô
 
Encontro sobre Produtividade, inovação e qualidade - Iso 29110 x iso 9001: In...
Encontro sobre Produtividade, inovação e qualidade - Iso 29110 x iso 9001: In...Encontro sobre Produtividade, inovação e qualidade - Iso 29110 x iso 9001: In...
Encontro sobre Produtividade, inovação e qualidade - Iso 29110 x iso 9001: In...
 
Implantação iso 9001
Implantação iso 9001Implantação iso 9001
Implantação iso 9001
 
Aula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidorAula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidor
 
Banco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlBanco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySql
 
Quadro comparativo iso 9001
Quadro comparativo iso 9001Quadro comparativo iso 9001
Quadro comparativo iso 9001
 
A História e Evolução dos Computadores
A História e Evolução dos ComputadoresA História e Evolução dos Computadores
A História e Evolução dos Computadores
 
Arquitetura de Sofware
Arquitetura de SofwareArquitetura de Sofware
Arquitetura de Sofware
 
Uso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento VarejoUso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento Varejo
 
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarArquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
 
Ambiente Virtual de Aprendizagem - AVA
Ambiente Virtual de Aprendizagem - AVAAmbiente Virtual de Aprendizagem - AVA
Ambiente Virtual de Aprendizagem - AVA
 
Certificação de processos e gestão da qualidade de software nas organizações
Certificação de processos e gestão da qualidade de software nas organizaçõesCertificação de processos e gestão da qualidade de software nas organizações
Certificação de processos e gestão da qualidade de software nas organizações
 
Aula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisAula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveis
 
ISO 90012015 (não controlada)
 ISO 90012015 (não controlada) ISO 90012015 (não controlada)
ISO 90012015 (não controlada)
 

Semelhante a Arquitetura de software : Cliente-Servidor

Cliente e servidor
Cliente e servidorCliente e servidor
Cliente e servidor
Davi Silva
 
Comparação entre p2 p e cs
Comparação entre p2 p e csComparação entre p2 p e cs
Comparação entre p2 p e cs
Ana Paula Gama
 
Comparação entre p2 p e cs
Comparação entre p2 p e csComparação entre p2 p e cs
Comparação entre p2 p e cs
Ana Paula Gama
 
Comparação entre p2 p e cs
Comparação entre p2 p e csComparação entre p2 p e cs
Comparação entre p2 p e cs
Ana Paula Gama
 
Joana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático wwwJoana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático www
Joana Costa
 
Modelagem de sistemas da informação – aula 03 mai2011
Modelagem de sistemas da informação – aula 03 mai2011Modelagem de sistemas da informação – aula 03 mai2011
Modelagem de sistemas da informação – aula 03 mai2011
Universal.org.mx
 

Semelhante a Arquitetura de software : Cliente-Servidor (20)

Cliente e servidor
Cliente e servidorCliente e servidor
Cliente e servidor
 
Redes de computador
Redes de computadorRedes de computador
Redes de computador
 
Sistemas operacionais de redes II
Sistemas operacionais de redes IISistemas operacionais de redes II
Sistemas operacionais de redes II
 
Computacao em nuvem
Computacao em nuvemComputacao em nuvem
Computacao em nuvem
 
Apres s3
Apres s3 Apres s3
Apres s3
 
World Wide Web
World Wide WebWorld Wide Web
World Wide Web
 
Servidor
ServidorServidor
Servidor
 
SISTEMA SD
SISTEMA SDSISTEMA SD
SISTEMA SD
 
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
 
Comparação entre p2 p e cs
Comparação entre p2 p e csComparação entre p2 p e cs
Comparação entre p2 p e cs
 
Comparação entre p2 p e cs
Comparação entre p2 p e csComparação entre p2 p e cs
Comparação entre p2 p e cs
 
Comparação entre p2 p e cs
Comparação entre p2 p e csComparação entre p2 p e cs
Comparação entre p2 p e cs
 
Joana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático wwwJoana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático www
 
Modelagem de sistemas da informação – aula 03 mai2011
Modelagem de sistemas da informação – aula 03 mai2011Modelagem de sistemas da informação – aula 03 mai2011
Modelagem de sistemas da informação – aula 03 mai2011
 
Aula 3 - Introdução a cloud computing
Aula 3 - Introdução a cloud computingAula 3 - Introdução a cloud computing
Aula 3 - Introdução a cloud computing
 
Microservices
MicroservicesMicroservices
Microservices
 
MSA: Quando a gestão encontra a arquitetura
MSA: Quando a gestão encontra a arquiteturaMSA: Quando a gestão encontra a arquitetura
MSA: Quando a gestão encontra a arquitetura
 
Apostila Oracle 10g
Apostila Oracle 10gApostila Oracle 10g
Apostila Oracle 10g
 
9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stv9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stv
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devops
 

Arquitetura de software : Cliente-Servidor

  • 1. Cliente-Servidor Alexsandro Oliveira, Luan Lima, Randerson Lessa Arquitetura de Software
  • 2. Agenda ● Modelo Cliente - Servidor ○ Contextualização ○ Solução ○ Vantagens ○ Desvantagens ● Quando Utilizar (Exemplo) ○ LoLNews ● Quando Não Utilizar (Exemplo) ○ Notificações ● Caso de Sucesso ○ Internet ○ SGBDs ○ Servidor de Arquivos Samba
  • 3. ContextualizaçãodoModeloCliente-Servidor Contexto : Existem recursos e serviços compartilhados que um grande número de clientes distribuídos desejam acessar. Deseja-se controlar esse acesso e a qualidade do serviço. Problema : Ao gerir um conjunto de recursos e serviços compartilhados, podemos promover manutenibilidade e reuso a partir da fatoração de serviços. Sendo assim, queremos melhorar a disponibilidade e escalabilidade, centralizando o controle, enquanto os recursos e serviços são distribuídos em um ou vários servidores.
  • 4. SoluçãodoModeloCliente-Servidor Os clientes interagem solicitando recursos e/ou serviços de servidores, que fornecem esse conjunto de recursos e serviços. Os componentes podem agir como clientes ou servidores. Pode haver um servidor central ou múltiplos servidores distribuídos.
  • 5. SoluçãodoModeloCliente-Servidor Resumo ● Clientes iniciam interações com Servidores, por meio da requisição de serviços quando necessitarem e esperando a resposta dessas requisições Elementos ● Cliente, Servidor e Conector Requisição/Resposta Relações ● Attachment Relation (Relação de Ligação) Restrições ● Clientes são conectados a Servidores apenas por regras de Requisição/Resposta ● Servidores podem ser clientes apenas de outros Servidores ● Restrições de números de clientes por servidores e de quantidade de serviço provido pelo servidor
  • 6. Vantagens ● Integridade ● Confiabilidade ● Manutenibilidade* ● Disponibilidade* ● Escalabilidade* ● Segurança ● É possível substituir, reparar, atualizar ou mesmo realocar um servidor sem que os clientes sejam afetados ● Os dados são armazenados no servidor, o que facilita a centralização da segurança ● Atualizações nos dados são mais fáceis de administrar ● Funciona com vários clientes de capacidades diferentes ● Gerenciamento de Performance e Taxa de Transferência
  • 7. Desvantagens ● Manutenibilidade* ● Disponibilidade* ● Escalabilidade* ● Servidor pode ser um gargalo ● O Servidor pode representar um ponto de falha único ● Decisões de onde colocar funcionalidades (lado cliente ou servidor) são geralmente complexas de mudar depois do sistema pronto ● Clientes podem solicitar serviços, mas não podem oferecê-los para outros clientes, sobrecarregando o servidor, pois quanto mais clientes, mais informações que irão demandar mais banda
  • 8. QuandoUtilizar(Exemplo):LoLNews Exemplo de um sistema em Java EE, utilizando o tomcat como servidor.
  • 9. QuandoNãoUtilizar(Exemplo):AppcomNotificação Exemplo de um sistema em Android, utilizando o apache2 como servidor.
  • 12. RepositóriosdoGitHub LOLNews : https://bitbucket.org/luanchaoskk/trabalhoweb.git Notificação : https://bitbucket.org/luanchaoskk/app- notifica-o-arquitetura.git
  • 16. Referências ArchLinux, Samba. Disponível em <https://wiki.archlinux. org/index.php/Samba>. Acesso em 5 de novembro. DevMedia, Google Clouding Messaging : Introdução. Disponível em <http://www.devmedia.com.br/google-cloud-messaging- introducao/29776>. Acesso em 4 de Novembro. SEI, Reasoning About Software Quality Attributes. Disponível em <http://www.sei.cmu.edu/architecture/start/reasoning. cfm>. Acesso em 5 de Novembro. Reviewer-Herzog, J. (2015). Software Architecture in Practice Third Edition Written by Len Bass, Paul Clements,