A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos

Apresentações semelhantes


Apresentação em tema: "Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos"— Transcrição da apresentação:

1 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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

2 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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 ????

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

4 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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

5 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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

6 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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

7 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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

8 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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) Cofre da Pessoa $500,15 saldo

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

10 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)arleys.castro@gmail.com 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. SC resposta pedido Este servidor também pode ser um cliente.

11 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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 / Servidor Características

12 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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 / Servidor Características

13 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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 / Servidor Características

14 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)arleys.castro@gmail.com Estrutura típica de um aplicativo: Arquitetura Cliente / Servidor Características Interface do Usuário Regras de Negócios Banco de Dados

15 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)arleys.castro@gmail.com ClienteServ. A pedido resposta Serv. B Middleware Suporte de comunicação Máquina BMáquina A Usuário Arquitetura Cliente / Servidor Características

16 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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 / Servidor Tipos de sistemas (Arquitetura) mainframe recursos terminais

17 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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 / Servidor Tipos de sistemas (Arquitetura)

18 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)arleys.castro@gmail.com Arquitetura em 2 camadas Ilustração prática: Arquitetura Cliente / Servidor Tipos de sistemas (Arquitetura)

19 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)arleys.castro@gmail.com Arquitetura em 3 camadas Criação das camadas de: Apresentação; Negócio; Dados. Arquitetura Cliente / Servidor Tipos de sistemas (Arquitetura)

20 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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 / Servidor Tipos de sistemas (Arquitetura)

21 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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 / Servidor Tipos de sistemas (Arquitetura)

22 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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 / Servidor Tipos de sistemas (Arquitetura)

23 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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 / Servidor Tipos de sistemas (Arquitetura)

24 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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 / Servidor Vantagens e Desvantagens

25 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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 / Servidor Vantagens e Desvantagens

26 Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)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. PAUL E. Renaud 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


Carregar ppt "Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos"

Apresentações semelhantes


Anúncios Google