Escolar Documentos
Profissional Documentos
Cultura Documentos
Arquitetura de Software
Denise F. Togneri
Denise F. Togneri
Denise F. Togneri
10
Denise F. Togneri
11
12
Repositrio Passivo
Denise F. Togneri
13
BlackBoard
Clula de
conhecimento
Clula de
conhecimento
Quadro-negro
(banco de dados
compartilhado)
Clula de
conhecimento
Clula de
conhecimento
Denise F. Togneri
14
BlackBoard
Denise F. Togneri
15
Denise F. Togneri
16
17
Vantagem
A manutenibilidade , geralmente, mais flexvel, possibilitando a
reorganizao de filtros e pipes.
Desvantagem
As mudanas freqentes em um componente (filtro) impactam
em outros componentes, limitando o apoio manutenibilidade,
sob esse aspecto.
Denise F. Togneri
18
Unix
Filtros
programa who
programa sort
Pipes
Denise F. Togneri
19
Compilador
Anlise lxica
Anlise sinttica
Anlise
semntica
Otimizao
Gerao de
cdigo
Denise F. Togneri
20
Denise F. Togneri
10
21
22
11
23
Denise F. Togneri
24
estado2
obj2
estado1
obj1
estado5
obj5
estado3
obj3
estado4
obj4
Denise F. Togneri
12
25
Vantagens
A abordagem orientada a objetos permite a organizao de
programas ao mesmo tempo em que ajuda a manter a integridade
dos dados do sistema.
Os projetistas de sistema podem encapsular dados e
comportamento em objetos os quais possuem interfaces com outros
objetos.
A interao entre objetos se d atravs de canais de comunicao,
abstraindo-se o mecanismo de passagem de mensagens.
Desvantagens
Para um objeto (obj1) se comunicar com um outro objeto (obj2), a
identidade do segundo (obj2) precisa ser conhecida pelo primeiro
(obj1) a fim de que obj1 possa enviar mensagem a obj2. Isso se
constitui numa desvantagem para o reuso, pois teremos de alterar a
especificao de classes quando houver mudanas.
Denise F. Togneri
26
Arquitetura em Camadas
Denise F. Togneri
13
27
Arquitetura em Camadas
28
Arquitetura em Camadas
melhor exemplificado pelo modelo de referncia OSI (Reference Model for Open
Systems Interconnection) da ISO.
Cada camada pode ser vista como um componente que pode ser implementado por
software ou hardware.
Aplicao
Camada 7
Apresentao
Camada 6
Sesso
Transporte
Camada 5
Camada 4
Rede
Camada 3
Enlace
Camada 2
Fsica
Camada 1
Denise F. Togneri
14
Arquitetura em Camadas
Comunicao entre dois sistemas
29
Denise F. Togneri
Camada 7
Camada 6
Camada 5
Camada 4
Camada 3
Camada 2
Camada 1
Aplicao
Apresentao
Sesso
Transporte
Rede
Enlace
Fsica
Protocolo da
camada 7
Protocolo da
camada 6
Protocolo da
camada 5
Protocolo da
camada 4
Protocolo da
camada 3
Protocolo da
camada 2
Protocolo da
camada 1
30
Aplicao
Apresentao
Sesso
Transporte
Rede
Enlace
Fsica
Denise F. Togneri
15
31
Arquitetura em camadas
Vantagens
A associao de um protocolo a cada camada constitui na
maneira mais eficiente para organizar uma rede.
permitida variaes sobre os estilos de camadas onde a
camada N poderia acessar no apenas os servios da camada N1, mas tambm s camadas N-2, N-3 ou qualquer abaixo dela.
Desvantagens
A variao na arquitetura pode comprometer a manutenibilidade
dos sistema.
H um custo em promover a flexibilidade do sistema pelo fato do
mesmo percorrer diversas camadas.
O nmero de camadas depende dos requisitos no-funcionais
desejados.
Denise F. Togneri
32
16
33
Denise F. Togneri
34
Arquitetura Cliente-Servidor
Denise F. Togneri
17
35
Servidor
esse processo inicializado em algum sistema computacional, entra
num estado de espera e aguarda que algum cliente entre em
contato com ele, requisitando algum servio;
Cliente
Um processo que pode estar no mesmo sistema ou em algum outro,
conectado ao servidor via rede;
Geralmente, interage com o usurio e tem a funcionalidade bsica
de recuperar dados do servidor;
O cliente envia uma solicitao via rede ao servidor para que este
ltimo atenda solicitao, possivelmente, efetuando alguma
computao;
Aps o servidor tratar a solicitao, ele retorna o resultado para o
cliente, voltando em seguida para o estado de espera, no qual
permanecer at que chegue nova solicitao de algum cliente.
Denise F. Togneri
36
Arquitetura Cliente-Servidor
VANTAGENS
Os dados esto concentrados em um nico lugar, para uma nica
fonte de dados, tornando os sistemas mais gerenciveis e
evitando preocupao com consistncia de dados;
Facilidade de remover e/ou adicionar clientes devido
independncia entre processos;
Facilidade de modificar a funcionalidade de um cliente, pois os
outros no sero afetados.
DESVANTAGENS
Exige ligao em rede podendo afetar o desempenho do sistema;
Os clientes podem ficar sobrecarregados;
A queda do servidor far com que todos os clientes fiquem ser as
informaes e os aplicativos, para sistemas com um nico
servidor.
Denise F. Togneri
18
37
Arquitetura Cliente-Servidor
A Arquitetura Cliente-Servidor pode ser implementada adotandose as seguintes arquiteturas:
Denise F. Togneri
38
Usurio
solicitao
solicitao
resposta
resposta
Cliente
(Interface com o usurio)
Servidor de BD
(acesso a dados)
Denise F. Togneri
19
39
Vantagem
Fcil de gerenciado, quando h uma pequena quantidade de
usurios e volume de transaes;
Desvantagem
Exige que cada cliente acomode uma grande quantidade de
funcionalidades, tornando-o grande e complexo;
Manuteno com custo elevado no lado cliente, principalmente
quando vrios clientes necessitam de atualizaes.
Denise F. Togneri
Arquitetura Cliente-Servidor
(Cliente Pesado x Servidor Pesado)
40
20
Arquitetura Cliente-Servidor
(Cliente Pesado x Servidor Pesado)
41
Denise F. Togneri
Arquitetura Cliente-Servidor
(Cliente Pesado x Servidor Pesado)
42
21
Arquitetura Cliente-Servidor
(Cliente Pesado x Servidor Pesado)
43
Portabilidade
a segunda razo para se efetuar a separao.
A habilidade de mover a lgica de negcio ao longo da arquitetura
cliente-servidor permite que se tire proveito de diferentes
plataformas de hardware e software, sem ter que reescrever grande
pores do cdigo.
Manutenibilidade
a separao favorece a manuteno, j que concentra a lgica de
negcio em uma camada nica da arquitetura de software,
facilitando a localizao das alteraes e evolues a serem feitas no
sistema.
Denise F. Togneri
Apresentao
Remota
Apresentao
Apresentao
Aplicao
Distribuda
Dados
Remotos
Apresentao
Apresentao
Aplicao
Aplicao
44
Dados
Distribudos
Apresentao
Rede
Rede
Apresentao
Rede
Rede
Aplicao
Gerncia dos
Dados
Rede
Aplicao
Gerncia dos
Dados
Aplicao
Aplicao
Gerncia dos
Gerncia dos
Dados
Dados
Gerncia dos
Dados
Gerncia dos
Dados
Denise F. Togneri
22
Apresentao distribuda
remonta aos primrdios da computao;
a lgica da aplicao e os dados esto localizados em um nico
equipamento;
O processamento todo feito em uma mquina hospedeira (host),
mas os dados so enviados para um terminal que no possui lgica
de programao, ou seja, um terminal que no faz nada a no ser
apresentar os caracteres recebidos.
Apresentao remota
o prximo passo na lgica de apresentao, onde tudo colocado
em PCs ou estaes de trabalho;
tem-se uma apresentao remota quando toda a apresentao
feita em uma mquina, dita cliente, e a lgica da aplicao, ou
processamento, feita em outra dita servidora;
uma separao completa entre a aplicao e a apresentao
bastante complicada, algumas vezes at impossvel, visto que,
normalmente a aplicao e a apresentao esto intimamente
ligadas.
Denise F. Togneri
45
46
Aplicao distribuda
trata da lgica da aplicao sendo executada no lado cliente e
alguma parte desta lgica no lado servidor;
a lgica na parte cliente geralmente necessria para que se possa
ter uma interface grfica;
a lgica na parte servidora necessria para se alcanar o
tratamento dos dados, principalmente quando h uma grande
quantidade deles;
Alm do mais, pode-se querer que no lado servidor estejam as
regras de validao do negcio, que vm a ser a lgica da
aplicao, e estas sejam centralizadas para maior facilidade de
manuteno e gerncia;
Denise F. Togneri
23
47
Denise F. Togneri
48
Denise F. Togneri
24
49
solicitao
resposta
Usurio
Cliente
Interface com o usurio)
Servidor de
aplicao
Fontes de dados
Denise F. Togneri
50
Vantagens:
Apenas um programa ser modificado quando ocorre alteraes
na aplicao;
O gerenciamento de janelas e interaes com o usurio fica no
componente cliente.
Desvantagens:
Desenvolvida com base em arquiteturas proprietrias;
Possui elevado custo de aquisio/licenciamento e manuteno
Requer pessoal altamente treinado para manuteno do
sistema;
Dificuldade de integrao num ambiente heterogneo,
envolvendo mltiplos vendedores;
O processo de desenvolvimento complexo e dispendioso.
Denise F. Togneri
25
51
Caractersticas
Aplicaes geralmente residem em um servidor num local central,
tornando possvel o acesso Web a partir de qualquer
computador;
necessrio a existncia de um navegador (browser) e uma
conexo com a Internet;
Denise F. Togneri
52
Vantagens
Baixo custo de manuteno;
Acesso universal atravs de navegadores para clientes;
Acesso de qualquer lugar;
Influncia sobre a infra-estrutura de tecnologia existente;
Aplicaes/solues com base em padres.
Desvantagens
Usurios no podem ter acesso a aplicaes de qualquer local,
impossibilitando o acesso global;
Usurios em instituies com sistemas operacionais e
navegadores incompatveis no podem ter acesso aplicao.
Denise F. Togneri
26
53
Referncias
FALBO, Ricardo de Almeida. Projeto de Sistemas: notas de aula.
UFES, 2000.
MENDES, Antonio. Arquitetura de software: desenvolvimento
orientado para arquitetura. Rio de Janeiro: Campus, 2002.
MOURA, Elton Siqueira. Um sistema de pronturio eletrnico em
ambiente distribudo baseado na arquitetura CORBA. Tese
(Mestrado em Informtica) - Universidade Federal do Esprito Santo,
Esprito Santo, 2000.
PRESSMAN, Roger S. Engenharia de software. 5 ed. Rio de Janeiro:
McGraw-Hill, 2002.
Denise F. Togneri
27