SlideShare ist ein Scribd-Unternehmen logo
1 von 26
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
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 ????
 Relembrando algo sobre OO 
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 
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 
 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)
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)
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
Arquitetura 
Cliente / 
Servidor 
Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) 
Especialista : Sistema distribuídos (UFBA)(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. 
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.
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.
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.
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.
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
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
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
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);
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:
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.
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)
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)
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)
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)
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
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.
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)

Weitere ähnliche Inhalte

Was ist angesagt?

Apostilas modelo cliente servidor
Apostilas   modelo cliente servidorApostilas   modelo cliente servidor
Apostilas modelo cliente servidor
Daniel Silveira
 
Comunicação Cliente/Servidor - HTTP
Comunicação Cliente/Servidor - HTTPComunicação Cliente/Servidor - HTTP
Comunicação Cliente/Servidor - HTTP
Willian Watanabe
 
Joana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático wwwJoana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático www
Joana Costa
 
Cliente e servidor
Cliente e servidorCliente e servidor
Cliente e servidor
Davi Silva
 
Modelagem de sistemas da informação – aula 03 mai2011
Modelagem de sistemas da informação – aula 03 mai2011Modelagem de sistemas da informação – aula 03 mai2011
Modelagem de sistemas da informação – aula 03 mai2011
Universal.org.mx
 
Introdução à Arquitetura Web
Introdução à Arquitetura WebIntrodução à Arquitetura Web
Introdução à Arquitetura Web
Breno Vitorino
 
Comparação entre p2 p e cs
Comparação entre p2 p e csComparação entre p2 p e cs
Comparação entre p2 p e cs
Ana Paula Gama
 

Was ist angesagt? (20)

Arquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-ServidorArquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-Servidor
 
CMS
CMSCMS
CMS
 
Apostilas modelo cliente servidor
Apostilas   modelo cliente servidorApostilas   modelo cliente servidor
Apostilas modelo cliente servidor
 
Comunicação Cliente/Servidor - HTTP
Comunicação Cliente/Servidor - HTTPComunicação Cliente/Servidor - HTTP
Comunicação Cliente/Servidor - HTTP
 
Uso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento VarejoUso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento Varejo
 
Arquitetura 3 camadas - RM
Arquitetura 3 camadas - RMArquitetura 3 camadas - RM
Arquitetura 3 camadas - RM
 
Joana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático wwwJoana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático www
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
Comunicação cliente servidor
Comunicação cliente servidorComunicação cliente servidor
Comunicação cliente servidor
 
Cliente e servidor
Cliente e servidorCliente e servidor
Cliente e servidor
 
Modelagem de sistemas da informação – aula 03 mai2011
Modelagem de sistemas da informação – aula 03 mai2011Modelagem de sistemas da informação – aula 03 mai2011
Modelagem de sistemas da informação – aula 03 mai2011
 
Introdução à Arquitetura Web
Introdução à Arquitetura WebIntrodução à Arquitetura Web
Introdução à Arquitetura Web
 
Servidores de aplicação apresentação
Servidores de aplicação apresentaçãoServidores de aplicação apresentação
Servidores de aplicação apresentação
 
World wide web
World wide webWorld wide web
World wide web
 
Servidor web
Servidor webServidor web
Servidor web
 
Capacitacao arquiteturacorpore
Capacitacao arquiteturacorporeCapacitacao arquiteturacorpore
Capacitacao arquiteturacorpore
 
Introdução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NETIntrodução a arquitetura de sistemas com .NET
Introdução a arquitetura de sistemas com .NET
 
Redes de computador
Redes de computadorRedes de computador
Redes de computador
 
World Wide Web
World Wide WebWorld Wide Web
World Wide Web
 
Comparação entre p2 p e cs
Comparação entre p2 p e csComparação entre p2 p e cs
Comparação entre p2 p e cs
 

Andere mochten auch

Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarArquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Cleber Fonseca
 

Andere mochten auch (9)

Banco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySqlBanco de Dados Distribuídos - MySql
Banco de Dados Distribuídos - MySql
 
Vantagens__Desvantagens_Tipos_de_servidores
Vantagens__Desvantagens_Tipos_de_servidoresVantagens__Desvantagens_Tipos_de_servidores
Vantagens__Desvantagens_Tipos_de_servidores
 
Arquitetura de Sofware
Arquitetura de SofwareArquitetura de Sofware
Arquitetura de Sofware
 
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura SuperescalarArquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
Arquiteturas Paralelas e Distribuídas - Aula 4 - Arquitetura Superescalar
 
Aula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisAula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveis
 
Sistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de DadosSistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de Dados
 
Arquitetura de Software Na Pratica
Arquitetura de Software Na PraticaArquitetura de Software Na Pratica
Arquitetura de Software Na Pratica
 
Arquitetura de Software - Uma visão gerencial
Arquitetura de Software - Uma visão gerencialArquitetura de Software - Uma visão gerencial
Arquitetura de Software - Uma visão gerencial
 
Introdução a Arquitetura de Sistemas
Introdução a Arquitetura de SistemasIntrodução a Arquitetura de Sistemas
Introdução a Arquitetura de Sistemas
 

Ähnlich wie Aula01 arquitetura clienteservidor

Mercado de trabalho
Mercado de trabalhoMercado de trabalho
Mercado de trabalho
mentrixmax
 
Tema 10 Automação Da Engenharia
Tema 10   Automação Da EngenhariaTema 10   Automação Da Engenharia
Tema 10 Automação Da Engenharia
bruno2003sp
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Lenin Abadie
 
Lista de exercícios tipos de arquitetura infraestrutura de software
Lista de exercícios tipos de arquitetura   infraestrutura de softwareLista de exercícios tipos de arquitetura   infraestrutura de software
Lista de exercícios tipos de arquitetura infraestrutura de software
Isabel Araujo
 
Curriculum Vitae RobéRio Correia
Curriculum Vitae   RobéRio CorreiaCurriculum Vitae   RobéRio Correia
Curriculum Vitae RobéRio Correia
Roberio Correia
 

Ähnlich wie Aula01 arquitetura clienteservidor (20)

Vitor portfólio prof tecnico 2016 free lance
Vitor portfólio prof tecnico 2016   free lanceVitor portfólio prof tecnico 2016   free lance
Vitor portfólio prof tecnico 2016 free lance
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Cv alexandre rezendedecastro
Cv alexandre rezendedecastroCv alexandre rezendedecastro
Cv alexandre rezendedecastro
 
Mercado de trabalho
Mercado de trabalhoMercado de trabalho
Mercado de trabalho
 
Sistemas Distribuídos - Modelos Arquitetônicos
Sistemas Distribuídos - Modelos ArquitetônicosSistemas Distribuídos - Modelos Arquitetônicos
Sistemas Distribuídos - Modelos Arquitetônicos
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Panorama Atual e Tendências do Desenvolvimento de Sistemas para Internet
Panorama Atual e Tendências do Desenvolvimento de Sistemas para InternetPanorama Atual e Tendências do Desenvolvimento de Sistemas para Internet
Panorama Atual e Tendências do Desenvolvimento de Sistemas para Internet
 
CV Alexandre R. de Castro
CV Alexandre R. de CastroCV Alexandre R. de Castro
CV Alexandre R. de Castro
 
Tema 10 Automação Da Engenharia
Tema 10   Automação Da EngenhariaTema 10   Automação Da Engenharia
Tema 10 Automação Da Engenharia
 
Aula sobre Sistemas Distribuidos Atualizado
Aula sobre Sistemas Distribuidos AtualizadoAula sobre Sistemas Distribuidos Atualizado
Aula sobre Sistemas Distribuidos Atualizado
 
Php Conf08 Enterprise Patterns
Php Conf08 Enterprise PatternsPhp Conf08 Enterprise Patterns
Php Conf08 Enterprise Patterns
 
Aula1
Aula1Aula1
Aula1
 
Arquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADAArquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADA
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
 
Lista de exercícios tipos de arquitetura infraestrutura de software
Lista de exercícios tipos de arquitetura   infraestrutura de softwareLista de exercícios tipos de arquitetura   infraestrutura de software
Lista de exercícios tipos de arquitetura infraestrutura de software
 
Documentação de Arquitetura de Software Aplicando o C4 Model
Documentação de Arquitetura  de Software Aplicando o C4 ModelDocumentação de Arquitetura  de Software Aplicando o C4 Model
Documentação de Arquitetura de Software Aplicando o C4 Model
 
CV_ANDERSON_COELHO
CV_ANDERSON_COELHOCV_ANDERSON_COELHO
CV_ANDERSON_COELHO
 
Desenvolvimento de portais e sitios governamentais
Desenvolvimento de portais e sitios governamentaisDesenvolvimento de portais e sitios governamentais
Desenvolvimento de portais e sitios governamentais
 
Curriculum Vitae RobéRio Correia
Curriculum Vitae   RobéRio CorreiaCurriculum Vitae   RobéRio Correia
Curriculum Vitae RobéRio Correia
 

Kürzlich hochgeladen

ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
lenapinto
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
rfmbrandao
 

Kürzlich hochgeladen (20)

ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 

Aula01 arquitetura clienteservidor

  • 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. 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.  Relembrando algo sobre OO Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)
  • 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. 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. 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. 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. 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. Arquitetura Cliente / Servidor Arleys Pereira Nunes de Castro - Mestrando : Modelagem computacional (SENAI-MCTI) Especialista : Sistema distribuídos (UFBA)(arleys.castro@gmail.com)
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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)