Aula01 arquitetura clienteservidor

886 visualizações

Publicada em

redes de computadores

Publicada em: Educação
1 comentário
1 gostou
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
886
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
3
Comentários
1
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula01 arquitetura clienteservidor

  1. 1. TÉCNICAS AVANÇADAS EM PROGRAMAÇÃO ORIENTADA A OBJETOS  O foco do curso é oferecer aos alunos um curso avançado de programação voltado para o projeto e construção de sistemas complexos. O curso discutirá com maior profundidade os problemas relacionados com paradigmas de programação, especialmente as questões relacionadas a Padrões de Projeto e Programação Genérica.  Os tópicos a serem abordados incluem: Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)  Arquitetura Cliente Servidor  JDBC;  Introdução: HTML, CSS;  Applets, Servlets, JSP;  Padrões de Projeto;  Frameworks
  2. 2. Paradigma de Programação Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)  Definição  Conjunto de regras e/ou hipóteses que governam a definição de um modelo.  Aplicação na computação/informática  Auxiliar na condução do processo de busca da solução (modelo conceitual) de um problema. ? Do CAOS as SOLUÇÕES ????
  3. 3.  Relembrando algo sobre OO Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)
  4. 4. TÉCNICAS AVANÇADAS EM PROGRAMAÇÃO ORIENTADA A OBJETOS Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com) Noção de objeto  Orientado a objeto:  Abstração de responsabilidades. Trabalha com a identificação de unidades comportamentais (estado e ações) independentes, que produzem a computação a partir de suas interações  O princípio da orientação a objetos está associado ao encapsulamento de comportamento.  A forma de fazer evoluir um programa é permitir que objetos compartilhem dados entre si através de trocas explicitas de mensagens.
  5. 5. TÉCNICAS AVANÇADAS EM PROGRAMAÇÃO ORIENTADA A OBJETOS Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)  Objeto  "Objeto é uma coisa, uma entidade, alguma coisa que você levanta ou chuta, qualquer coisa que você possa imaginar que tenha sua própria identidade." (Mike O´Docherty, 2005)
  6. 6. TÉCNICAS AVANÇADAS EM PROGRAMAÇÃO ORIENTADA A OBJETOS  Uma mensagem consiste em uma requisição, onde o objeto requisitante (sender) envia uma solicitação de serviço ao objeto requisitado (receiver).  Este serviço, necessariamente, precisa pertencer à interface de serviços oferecida pelo objeto requisitado. Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)
  7. 7. TÉCNICAS AVANÇADAS EM PROGRAMAÇÃO ORIENTADA A OBJETOS  Um serviço é especificado para um objeto como um método .  A estas informações, representadas por dados armazenados no contexto do objeto, dar-se denominação de atributos – objetos possuem atributos representando seu estado interno.  O estado interno de um objeto pode conter tanto valores como referenciar outros objetos. Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)
  8. 8. Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com) Identifique:  Identifique, na figura abaixo, os seguintes itens:  Objeto  Métodos de acesso modificados;  Propriedades; 1,82 altura 81 peso $12,45 dimdim no bolso cofre comer(alimento) irNaPraia(valor) receberSalario(grana) Pessoa depositar(valor) retirar(valor) mostarValor(valor) $500,15 saldo Cofre da Pessoa
  9. 9. Arquitetura Cliente / Servidor Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)
  10. 10. Arquitetura Cliente / Servidor CONCEITOS  Cliente / Servidor (Client / Server)  A expressão “Cliente / Servidor” (comumente chamado de “Client / Server”) descreve o desenvolvimento físico de modelos onde o computador cliente faz um pedido para o computador servidor, e o computador servidor responde a esse pedido. pedido Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com) C S resposta Este servidor também pode ser um cliente.
  11. 11. Arquitetura Cliente / Servidor Características Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)  Cliente:  AAttiivvoo..  Inicia e termina as conversações com os servidores, solicitando serviços.  Normalmente não se comunica com outros clientes.  Normalmente é responsável pela entrada e saída de dados e comunicação com o usuário.  Torna a rede transparente ao usuário.
  12. 12. Arquitetura Cliente / Servidor Características Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)  Servidor:  RReeaattiivvoo..  Execução contínua.  Recebe e responde a solicitações dos clientes e de outros servidores.  Presta serviços distribuídos.  Atende a diversos clientes ou outros servidores simultaneamente.
  13. 13. Arquitetura Cliente / Servidor Características Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com) Comunicação:  Não hierárquica..  Servidores enviam pela rede apenas os resultados relevantes ao pedido do cliente.  Abrangência das Redes: WAN, MAN e LAN.
  14. 14. Arquitetura Cliente / Servidor Características  Estrutura típica de um aplicativo: Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com) Interface do Usuário Regras de Negócios Banco de Dados
  15. 15. Arquitetura Cliente / Servidor Máquina A Máquina B resposta Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com) Cliente Serv. A pedido Serv. B Middleware Middleware Suporte de comunicação Usuário Características
  16. 16. Arquitetura Cliente / Servidor Tipos de sistemas (Arquitetura)  Arquitetura centralizada  Dominantes até década de 80 como arquitetura corporativa;  Utilização de um Computador central (mainframe);  Problema básico: interface não amigável; recursos Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com) mainframe terminais
  17. 17. Arquitetura Cliente / Servidor Tipos de sistemas (Arquitetura)  Arquitetura em 2 camadas  Camada cliente trata da lógica de negócio e da UI;  Camada de servidor trata dos dados (usando um SGBD);  Melhor aproveitamento dos PCs das empresa;  Interfaces gráficas mais amigáveis. Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)  Problemas:  Falta de escalabilidade (conexões a bancos de dados);  Manutenção (mudanças na lógica de aplicação forçava instalações);
  18. 18. Arquitetura Cliente / Servidor Tipos de sistemas (Arquitetura)  Arquitetura em 2 camadas Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)  Ilustração prática:
  19. 19. Arquitetura Cliente / Servidor Tipos de sistemas (Arquitetura)  Arquitetura em 3 camadas Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)  Criação das camadas de:  Apresentação;  Negócio;  Dados.
  20. 20. Arquitetura Cliente / Servidor Tipos de sistemas (Arquitetura)  Arquitetura em 3 camadas  Com essa solução, os problemas de manutenção foram reduzidos, pois mudanças às camadas de aplicação e de dados não necessitam de novas instalações no desktop .  Fisicamente, várias camadas podem executar na mesma máquina;  Quase sempre, há separação física de máquinas. Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)
  21. 21. Arquitetura Cliente / Servidor Tipos de sistemas (Arquitetura)  Arquitetura em 3/4 camadas (Baseada na WEB)  Ainda na arquitetura três camadas a instalação inicial dos programas no desktop é cara;  O problema de manutenção ainda persiste quando há mudanças à camada de apresentação (UI);  Não se pode instalar software facilmente num desktop que não está sob seu controle administrativo, pois:  Em máquinas de parceiros;  Em máquinas de fornecedores. Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)
  22. 22. Arquitetura Cliente / Servidor Tipos de sistemas (Arquitetura)  Arquitetura em 3/4 camadas (Baseada na WEB)  Agora surge o cliente universal chamado “BROWSER”;  Conceito de Intranet;  A camada de aplicação se quebra em duas: Web e Aplicação.  Evitamos instalar qualquer software no desktop e portanto, problemas de manutenção;  Evita instalação em computadores de clientes, parceiros, fornecedores, etc. Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)
  23. 23. Arquitetura Cliente / Servidor Tipos de sistemas (Arquitetura)  Arquitetura em 3/4 camadas (Baseada na WEB)  Com tudo isso, continua-se a chamar de 3 camadas porque as camadas Web e Aplicação freqüentemente rodam na mesma máquina (para pequenos volumes) ; Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)
  24. 24. Arquitetura Cliente / Servidor Vantagens e Desvantagens Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)  Vantagens  Maior facilidade de crescimento  Crescimento incremental dos serviços  Custos  Maioria dos equipamentos mais baratos.  Menor risco de falhas (Generalizadas)  Ocorrência de falhas somente em partes do sistema.  Maior facilidade em replicar entre os servidores
  25. 25. Arquitetura Cliente / Servidor Vantagens e Desvantagens Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)  Desvantagens  Soluções mais complexas  É preciso separar a aplicação em diversas partes.  Problemas com a utilização da rede  Dependência do meio de comunicação  Maior atenção com relação a segurança  Todas as informações circulam na rede  Utilização de algoritmos de criptografia.
  26. 26. Arquitetura Cliente / Servidor Bibliografia  Cay S. Horstmann - Conceitos de Computação com o Essencial de Java.  Daniel Gouveia Costa - Java Dicas & Truques.  Harvey M. Deitel - Como Programar Java.  Notas de aula do Prof. Antonio Geraldo da Rocha Vidal – USP – Universidade de São Paulo.  PAUL E. Renaud. Introduction to Client/Server Systems: A Practical Guide for Systems Professionals . Second Edition.  http://www.dsc.ufcg.edu.br/~jacques/cursos/j2ee/html/intro/intro.ht m.  Notas de aula do Prof. Carlos A. Maziero – PUCPR. Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

×