SlideShare uma empresa Scribd logo
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

Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de Dados
Leinylson Fontinele
 
Arquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - ModelosArquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - Modelos
Israel Messias
 
POO - 10 - Herança
POO - 10 - HerançaPOO - 10 - Herança
POO - 10 - Herança
Ludimila Monjardim Casagrande
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
Sérgio Souza Costa
 
Planejamento rede
Planejamento rede Planejamento rede
Planejamento rede
Reginaldo José Silva
 
Desenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveisDesenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveis
Marcelo Quinta
 
Linux - Sistema Operacional
Linux - Sistema Operacional Linux - Sistema Operacional
Linux - Sistema Operacional
Carine Furlanetto
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
Lucas Damasceno
 
Bancos de dados móveis
Bancos de dados móveisBancos de dados móveis
Bancos de dados móveis
UFMA
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
Gleydson Sousa
 
Introdução a Web Services
Introdução a Web ServicesIntrodução a Web Services
Introdução a Web Services
Fabio Leal
 
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
Eduardo de Lucena Falcão
 
Modelação de Dados
Modelação de DadosModelação de Dados
Modelação de Dados
Alberto Simões
 
GCS - Aula 07 - Sistemas de Controle de Versões
GCS - Aula 07 - Sistemas de Controle de VersõesGCS - Aula 07 - Sistemas de Controle de Versões
GCS - Aula 07 - Sistemas de Controle de Versões
Misael Santos
 
Apresentação HTML e CSS
Apresentação HTML e CSSApresentação HTML e CSS
Apresentação HTML e CSS
ledsifes
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
Pmpc10
 
Linux para leigos
Linux para leigos Linux para leigos
Linux para leigos
Guilherme Hinkelmann
 
Trabalho de sistema operativo servidor
Trabalho de sistema operativo servidorTrabalho de sistema operativo servidor
Trabalho de sistema operativo servidor
dtml2k
 
Virtualização - Máquinas Virtuais
Virtualização - Máquinas VirtuaisVirtualização - Máquinas Virtuais
Virtualização - Máquinas Virtuais
André Felipe Santos Martins
 
Seguranca de rede
Seguranca de redeSeguranca de rede

Mais procurados (20)

Banco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de DadosBanco de Dados I - Aula 09 - Normalização de Dados
Banco de Dados I - Aula 09 - Normalização de Dados
 
Arquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - ModelosArquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - Modelos
 
POO - 10 - Herança
POO - 10 - HerançaPOO - 10 - Herança
POO - 10 - Herança
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Planejamento rede
Planejamento rede Planejamento rede
Planejamento rede
 
Desenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveisDesenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveis
 
Linux - Sistema Operacional
Linux - Sistema Operacional Linux - Sistema Operacional
Linux - Sistema Operacional
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Bancos de dados móveis
Bancos de dados móveisBancos de dados móveis
Bancos de dados móveis
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Introdução a Web Services
Introdução a Web ServicesIntrodução a Web Services
Introdução a Web Services
 
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
 
Modelação de Dados
Modelação de DadosModelação de Dados
Modelação de Dados
 
GCS - Aula 07 - Sistemas de Controle de Versões
GCS - Aula 07 - Sistemas de Controle de VersõesGCS - Aula 07 - Sistemas de Controle de Versões
GCS - Aula 07 - Sistemas de Controle de Versões
 
Apresentação HTML e CSS
Apresentação HTML e CSSApresentação HTML e CSS
Apresentação HTML e CSS
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Linux para leigos
Linux para leigos Linux para leigos
Linux para leigos
 
Trabalho de sistema operativo servidor
Trabalho de sistema operativo servidorTrabalho de sistema operativo servidor
Trabalho de sistema operativo servidor
 
Virtualização - Máquinas Virtuais
Virtualização - Máquinas VirtuaisVirtualização - Máquinas Virtuais
Virtualização - Máquinas Virtuais
 
Seguranca de rede
Seguranca de redeSeguranca de rede
Seguranca de rede
 

Destaque

Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.
Valdeir Frizzera
 
03 arquitetura-cliente-servidor
03   arquitetura-cliente-servidor03   arquitetura-cliente-servidor
03 arquitetura-cliente-servidor
Concurseira Le
 
Mda arq cliente_serv
Mda arq cliente_servMda arq cliente_serv
Mda arq cliente_serv
Ricardo Amorim Ribeiro da Silva
 
Arquitetura Cliente-Servidor - Banco de dados
Arquitetura Cliente-Servidor - Banco de dadosArquitetura Cliente-Servidor - Banco de dados
Arquitetura Cliente-Servidor - Banco de dados
Israel Messias
 
Apostila cantu
Apostila cantuApostila cantu
Apostila cantu
Audemaro Vieira
 
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...
Alexsandro Oliveira
 
Posterdepetrologia 140203122520-phpapp01
Posterdepetrologia 140203122520-phpapp01Posterdepetrologia 140203122520-phpapp01
Posterdepetrologia 140203122520-phpapp01
Cristian Perez Gabriel
 
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ô
eneck
 
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...
Rio Info
 
Implantação iso 9001
Implantação iso 9001Implantação iso 9001
Implantação iso 9001
RB4 Consulting & Auditing
 
Aula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidorAula01 arquitetura clienteservidor
Aula01 arquitetura clienteservidor
Marlon CP
 
Banco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlBanco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySql
Adail Viana Neto
 
Quadro comparativo iso 9001
Quadro comparativo iso 9001Quadro comparativo iso 9001
Quadro comparativo iso 9001
alinepereiramoreira
 
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
Nascimentoeli
 
Arquitetura de Sofware
Arquitetura de SofwareArquitetura de Sofware
Arquitetura de Sofware
Jefferson Moreira
 
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
Matheus Nani
 
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
 
Ambiente Virtual de Aprendizagem - AVA
Ambiente Virtual de Aprendizagem - AVAAmbiente Virtual de Aprendizagem - AVA
Ambiente Virtual de Aprendizagem - AVA
cleyccc
 
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
Rafael Pires
 
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
Janynne Gomes
 

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
 
Arquitetura Cliente-Servidor - Banco de dados
Arquitetura Cliente-Servidor - Banco de dadosArquitetura Cliente-Servidor - Banco de dados
Arquitetura Cliente-Servidor - Banco de dados
 
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
 

Semelhante a Arquitetura de software : Cliente-Servidor

Cliente e servidor
Cliente e servidorCliente e servidor
Cliente e servidor
Davi Silva
 
Redes de computador
Redes de computadorRedes de computador
Redes de computador
tecnicacomputador
 
Sistemas operacionais de redes II
Sistemas operacionais de redes IISistemas operacionais de redes II
Sistemas operacionais de redes II
Daniel Brandão
 
Computacao em nuvem
Computacao em nuvemComputacao em nuvem
Computacao em nuvem
Sirius Interativa
 
Apres s3
Apres s3 Apres s3
World Wide Web
World Wide WebWorld Wide Web
World Wide Web
Sérgio Rocha
 
Servidor
ServidorServidor
SISTEMA SD
SISTEMA SDSISTEMA SD
SISTEMA SD
Mikail Addams
 
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
Rodrigo Kiyoshi Saito
 
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
 
Microservices
MicroservicesMicroservices
Microservices
Rafael Sousa
 
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
Diego Pacheco
 
Apostila Oracle 10g
Apostila Oracle 10gApostila Oracle 10g
Apostila Oracle 10g
Andre Nascimento
 
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
wilson_lucas
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devops
Diego Pacheco
 
Especificação de plataforma DaaS para laboratórios de informática
Especificação de plataforma DaaS para laboratórios de informática Especificação de plataforma DaaS para laboratórios de informática
Especificação de plataforma DaaS para laboratórios de informática
Demis Gomes
 

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
 
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
 
Especificação de plataforma DaaS para laboratórios de informática
Especificação de plataforma DaaS para laboratórios de informática Especificação de plataforma DaaS para laboratórios de informática
Especificação de plataforma DaaS para laboratórios de informática
 

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,