aula01 arquitetura clienteservidor

26
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)([email protected]) 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

Upload: marlon-cp

Post on 06-Jul-2015

262 views

Category:

Education


0 download

DESCRIPTION

redes de computadores

TRANSCRIPT

Page 1: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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

Page 2: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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

Page 3: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

Relembrando algo sobre OO

Page 4: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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

Page 5: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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

Page 6: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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

Page 7: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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

Page 8: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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

Page 9: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

Arquitetura Cliente / Servidor

Page 10: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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.

Page 11: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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

Page 12: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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

Page 13: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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

Page 14: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

Estrutura típica de um aplicativo:

Arquitetura Cliente / ServidorCaracteríst icas

Interface doUsuário

Regras deNegócios

Banco deDados

Page 15: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

Cliente Serv. A

pedidoresposta

Serv. B

Middleware Middleware

Suporte de comunicação

Máquina BMáquina A

Usuário

Arquitetura Cliente / ServidorCaracteríst icas

Page 16: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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

Page 17: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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)

Page 18: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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

Arquitetura Cliente / ServidorTipos de sistemas (Arquitetura)

Page 19: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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

Apresentação; Negócio; Dados.

Arquitetura Cliente / ServidorTipos de sistemas (Arquitetura)

Page 20: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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)

Page 21: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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)

Page 22: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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)

Page 23: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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)

Page 24: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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

Page 25: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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

Page 26: Aula01 arquitetura clienteservidor

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI)Especialista : Sistema distribuídos (UFBA)([email protected])

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