Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2 de maro de 2009 c
2 de maro de 2009 c
1 / 38
Agenda
Estilos Arquitetnicos o
2 de maro de 2009 c
2 / 38
Estilos Arquitetnicos o
Estilos Arquitetnicos o
2 de maro de 2009 c
3 / 38
Estilos Arquitetnicos o
Estilos Arquitetnicos o
A arquitetura do software dene como os vrios componentes que o a compe devem ser organizados e como devem interagir. o
Layer N Object Object
Layer N-1 Request flow Layer 2 Object Layer 1 (a) (b) Object Response flow Object Method call
2 de maro de 2009 c
4 / 38
Estilos Arquitetnicos o
Arquitetura em Camadas
Um componente da camada Li tem permisso para chamar a componentes da camada Li 1 mas no o contrrio; a a O controle ui de camada para camada: requisioes descem pela c hierarquia, resultados uem para cima.
2 de maro de 2009 c
5 / 38
Estilos Arquitetnicos o
Estilos Arquitetnicos o
Component
Component Publish
Event bus Publish Component (a) (b) Shared (persistent) data space
2 de maro de 2009 c
6 / 38
Estilos Arquitetnicos o
2 de maro de 2009 c
7 / 38
2 de maro de 2009 c
8 / 38
2 de maro de 2009 c
9 / 38
2 de maro de 2009 c
11 / 38
2 de maro de 2009 c
12 / 38
2 de maro de 2009 c
13 / 38
2 de maro de 2009 c
14 / 38
2 de maro de 2009 c
15 / 38
Consiste dos programas que permitem a interao dos usurios com a ca a aplicao; ca Pode ser muito simples, utilizando uma interface a caractere simples ou mais sosticado utilizando interfaces grcas; a Exemplo simples: interface de terminal onde o mainframe controla toda a interao incluse o monitor e teclado; ca Exemplo sosticado: Interface de sistema que permite ao usurio a arrastar o cone que representa o arquivo para uma lixeira provocando sua excluso. a
2 de maro de 2009 c
16 / 38
Camada de Processamento
Contm a funcionalidade principal da aplicao; e ca Exemplo: uma ferramenta de busca na Internet; Ela deve transformar a string que o usurio digitou em uma ou mais a consultas a um grande banco de dados e formatar os resultados obtidos em pginas HTML a serem apresentadas para o usurio. a a
2 de maro de 2009 c
17 / 38
2 de maro de 2009 c
18 / 38
Camada de Dados
Na sua forma mais simples consiste de um sistema de arquivos mas e comum que sejam utilizados banco de dados; Alm de apenas armazenar dados pode tambm tambm tratar sua e e e consistncia e realizar funes como gerar uma noticao quando e co ca uma dada condio ocorrer; ca Estas aes so muitas vezes implementadas atravs de stored co a e procedures.
2 de maro de 2009 c
19 / 38
Um Segundo Exemplo
Considere um sistema de suporte ` deciso para uma corretora de valores: a a Uma camada frontal implementa a interface com o usurio; a Uma camada de dados armazena os dados nanceiros; Uma camada de processamento realiza a anlise dos dados, o que a eventualmente exige mtodos e tcnicas sosticados de estat e e stica e inteligncia articial. e
2 de maro de 2009 c
20 / 38
Arquiteturas Multidivididas
A distino entre os trs n ca e veis lgicos sugere vrias possibilidades o a para a distribuio f ca sica de uma aplicao C/S; ca A organizao mais simples requer apenas dois tipos de mquinas: ca a
1
Cliente: que executa os programas que compreendem a interface com o usurio; a Servidor: que implementa as camadas de processamento e de dados.
Esta organizao conhecida como Cliente/Servidor em duas ca e camadas; No entanto, diversas outras arquiteturas podem ser utilizadas.
2 de maro de 2009 c
21 / 38
2 de maro de 2009 c
22 / 38
2 de maro de 2009 c
24 / 38
Nesta arquitetura, programas que formam o n de processamento vel residem em um servidor separado; Um exemplo t pico o processamento de transaes, onde o monitor e co de transaes coordena as transaes em servidores de dados co co possivelmente diferentes; Outro exemplo a organizao usual de sites na Web, onde o servidor e ca Web age como ponto de entrada para um site, passando requisies co para um servidor de aplicao no qual ocorre o processamento ca propriamente dito.
2 de maro de 2009 c
25 / 38
Servidores de Aplicao ca
So softwares que fornecem uma infraestrutura de servios para a a c execuo de aplicaes distribu ca co das; So executados em servidores e so acessados pelos clientes atravs a a e de uma conexo de rede; a Vantagem: simplicam o desenvolvimento de aplicaes atravs dos co e servios implementados, fazendo com que os desenvolvedores possam c concentrar a maior parte do tempo na implementao da lgica de ca o negcio; o Servios t c picos: integrao com bancos de dados, segurana, garantia ca c de disponibilidade, balanceamento de carga e tratamento de excees; co Exemplos: WebLogic Server (BEA), JBoss (Red Hat), WebSphere Application Server (IBM), JRun (Adobe), Apache Geronimo (Apache Software Foundation), Oracle OC4J (Oracle Corporation), Sun Java System Application Server (Sun Microsystems), Glasssh, Appaserver, Base4 e Zope.
Francisco Silva (UFMA/LSD) SD: Princ pios e Algoritmos 2 de maro de 2009 c 26 / 38
Distribuio Horizontal ca
A distribuio do modelo CS em mltiplas camadas vista ca u anteriormente conhecida por distribuio vertical; e ca O modelo CS pode tambm ser distribu horizontalmente, e do dividindo-se o cliente ou servidor em partes logicamente equivalentes; Um exemplo popular um servidor Web replicado em vrias mquinas e a a de forma a prover um balanceamento da carga de trabalho.
2 de maro de 2009 c
27 / 38
2 de maro de 2009 c
28 / 38
Cluster de Servidores
Conjunto de mquinas conectadas por uma rede de alta largura e a baixa latncia onde cada mquina executa um ou mais servidores; e a Normalmente organizado logicamente em trs camadas: e
1 2 3
Comutador: responsvel pelo roteamento das requisioes de clientes; a c Servidores de aplicao / computao; ca ca Sistema distribu de arquivos / banco de dados. do
2 de maro de 2009 c
29 / 38
Cluster de Servidores
Application/compute servers
Client requests
Dispatched request
First tier
Second tier
Third tier
2 de maro de 2009 c
30 / 38
O comutador aceita requisies de conexo TCP; co a Ele identica o melhor servidor para tratar a requisio e repassa o ca pacote a ele; O servidor enviar a resposta ao cliente requisitante, mas insere o a endereo IP do comutador como endereo fonte no cabealho do c c c pacote IP, realizando uma falsicao (spoong ). ca
2 de maro de 2009 c
31 / 38
Response
Server
Client
Request
Switch
Server
2 de maro de 2009 c
32 / 38
2 de maro de 2009 c
33 / 38
Organizao de Servidores ca
Servidor interativo: o prprio servidor manipula a requisio e, se o ca necessrio, retorna uma resposta ao cliente; a Servidor concorrente: repassa para uma thread ou processo em separado a requisio e imediatamente espera pela prxima requisio. ca o ca
2 de maro de 2009 c
34 / 38
Vinculao Cliente-Servidor ca
Atravs de portas conhecidas designadas pela Autoridade para e Atribuio de Nmeros na Internet (Iana). Ex: FTP-21, HTTP-80 ca u Atravs de um daemon que registra os servidores em execuo; e ca Atravs de um superservidor, que escuta em vrias portas e repassa a e a requisio a um servidor espec ca co.
2 de maro de 2009 c
35 / 38
Vinculao Cliente-Servidor ca
2 de maro de 2009 c
36 / 38
Interrupo do Servidor ca
Exemplo: usurio deseja interromper a transferncia de um enorme a e arquivo para o servidor FTP; Uma abordagem o usurio sair abruptamente da aplicao cliente, o e a ca que automaticamente interromper a conexo com o servidor; a a O servidor encerrar a conexo antiga, entendendo que o cliente a a falhou; Esta prtica muito adotada na Internet atual... a e Outra alternativa permitir o envio de dados fora da banda; e Neste caso o servidor pode escutar em uma porta de controle separada da qual passam os dados normais.
2 de maro de 2009 c
37 / 38
Mantendo Estado:
O servidor mantm informaoes persistentes sobre seus clientes; e c Exemplo: um servidor de arquivo que sabe quais clientes possuem quais arquivos abertos; Normalmente leva a um melhor desempenho na execuo das ca operaoes disponibilizadas; c Em caso de falha, deve-se recurar o estado do servidor.
2 de maro de 2009 c
38 / 38