aula01 arquitetura clienteservidor

Post on 06-Jul-2015

262 Views

Category:

Education

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

redes de computadores

TRANSCRIPT

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

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:

Arquitetura Cliente Servidor JDBC; Introdução: HTML, CSS; Applets, Servlets, JSP; Padrões de Projeto; Frameworks

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

Paradigma de Programação

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 ????

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

Relembrando algo sobre OO

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.

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)

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)

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.

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)

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.

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)

Identifique: Identifique, na figura abaixo, os seguintes itens:

Objeto Métodos de acesso modificados; Propriedades;

1,82altura

81peso

$12,45

dimdim no bolso

cofre

comer(alimento)

irNaPraia(valor)

receberSalario(grana)

Pessoa

depositar(valor)

retirar(valor)

mostarValor(valor)

Cofre da Pessoa

$500,15saldo

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

Arquitetura Cliente / Servidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

Arquitetura Cliente / ServidorCONCEITOS

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.

SCresposta

pedidoEste servidor também pode ser um cliente.

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

Cliente: Ativo.Ativo. 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.

Arquitetura Cliente / ServidorCaracteríst icas

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

Servidor: Reativo.Reativo. 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.

Arquitetura Cliente / ServidorCaracteríst icas

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.

Arquitetura Cliente / ServidorCaracteríst icas

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

Estrutura típica de um aplicativo:

Arquitetura Cliente / ServidorCaracteríst icas

Interface doUsuário

Regras deNegócios

Banco deDados

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

Cliente Serv. A

pedidoresposta

Serv. B

Middleware Middleware

Suporte de comunicação

Máquina BMáquina A

Usuário

Arquitetura Cliente / ServidorCaracteríst icas

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

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;

Arquitetura Cliente / ServidorTipos de sistemas (Arquitetura)

mainframe

recursos

terminais

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

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.

Problemas: Falta de escalabilidade (conexões a bancos de

dados); Manutenção (mudanças na lógica de aplicação

forçava instalações);

Arquitetura Cliente / ServidorTipos de sistemas (Arquitetura)

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

Arquitetura em 2 camadas Ilustração prática:

Arquitetura Cliente / ServidorTipos de sistemas (Arquitetura)

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

Arquitetura em 3 camadas Criação das camadas de:

Apresentação; Negócio; Dados.

Arquitetura Cliente / ServidorTipos de sistemas (Arquitetura)

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

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.

Arquitetura Cliente / ServidorTipos de sistemas (Arquitetura)

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

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.

Arquitetura Cliente / ServidorTipos de sistemas (Arquitetura)

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

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.

Arquitetura Cliente / ServidorTipos de sistemas (Arquitetura)

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

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) ;

Arquitetura Cliente / ServidorTipos de sistemas (Arquitetura)

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

Arquitetura Cliente / ServidorVantagens 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.

Arquitetura Cliente / ServidorVantagens e Desvantagens

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)

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.htm.

Notas de aula do Prof. Carlos A. Maziero – PUCPR.

Arquitetura Cliente / Servidor

top related