Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Aula01 arquitetura clienteservidor

1,078 views

Published on

redes de computadores

Published in: Education

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)

×