- 1 -
- 2 -
- 3 -
A arquitetura de um sistema é a sua estrutura em termos dos elementos (componentes) constituintes. O objetivo de uma arquitetura (e de dividi-la em componentes) é assegurar que a estrutura satisfaça e satisfará as necessidades dos usuários. As maiores questões envolvidas na definição da arquitetura referem-se à confiabilidade, gerenciabilidade, flexibilidade e balanceamento custo-desempenho do sistema. Quando estudamos modelos de arquitetura buscamos padrões arquiteturais que definem a localização dos componentes, ou seja, onde colocar o componente na rede buscando padrões que dêem boa distribuição da carga de trabalho e dos dados. Enfim, a arquitetura trata da divisão de responsabilidades entre os componentes do sistema (processos servidores, clientes e outros processos) e de posicionar estes componentes na rede. Esta divisão de responsabilidades e posicionamento tem implicações no desempenho, confiabilidade e segurança do sistema. - 4 -
No diagrama de componentes, as relaçõesdescrevem os papéis funcionais e padrões de comunicação utilizados entre os componentes. Por exemplo, os componentes cliente e servidor são capazes de enviar e receber bytes (vetor de bytes). - 5 -
No diagrama de componentes, representa-se os componentes localizados nos respectivos ambientes ou máquinas onde executam. - 6 -
- 7 -
- 8 -
- 9 -
Um servidor pode ser cliente de outro. Por exemplo, um servidor de páginas WEB é cliente de um servidor de arquivos local que gerencia os arquivo das páginas. Outro exemplo é o proxy de WEB (ver slide seguinte). - 10 -
- 11 -
Servidores proxy de WEB possuem um espaço de armazenamento temporário para páginas WEB recentemente visitadas pelos clientes. Ao invés de transferir todos os pedidos que chegam até ele aos servidores WEB, primeiramente verifica se a página solicitada está disponível no cache local. Caso esteja disponível e atualizada, serve-a ao cliente. Um servidor proxy aumenta a disponibilidade do serviço (caso um servidor WEB torne-se indisponível ( caia ), suas páginas continuam disponíveis em cache, e aumenta o desempenho do serviço. - 12 -
Servidores podem rodar em computadores diferentes, mas oferecendo um serviço único. Por exemplo, uma base de dados que possui muitos acessos (muitos clientes) pode ser replicada em diversos servidores que garantem a disponibilidade do serviço com um desempenho satisfatório.por exemplo, o serviço de busca Googlepossui vários servidores replicados (índices para páginas WEB): http://www.google.fr/ ou.com.br ou.com. Outro exemplo, são sites que oferecem linksalternativos para fazer downloadde arquivos. Isto indica replicação de dados (ex. www.tucows.com.br). - 13 -
- 14 -
Applets são bastante usadas e servem para ilustrar esta variação da arquitetura cliente-servidor. A vantagemde se utilizar applets (ou código móvel) é prover um tempo de resposta melhor ao usuário, principalmente nos casos onde há muita interatividade (ex. preenchimento de formulários). Como o cliente interage localmente com a applet, não há desperdício de banda de passagem e nem atrasos na comunicação entre cliente e servidor. - 15 -
A applet pode comunicar-se com o servidor com o objetivo de manter o usuário atualizado. Por exemplo, uma applet consulta de tempos em tempos informações sobre cotações de ações disponíveis no servidor e mostra ao usuário. Este modelo é conhecido por push model. - 16 -
Exemplos de applets numa arquitetura cliente-servidor do tipo push. Banco do Brasil: http://www.bb.com.br/appbb/portal/voce/ep/inv2/informacoesdet.jsp?noticia.codigo=148250 Lances de jogos de futebol (sites esportivos). - 17 -
Applets numa arquitetura cliente-servidor do tipo push. Exemplos: Banco do Brasil: http://www.bb.com.br/appbb/portal/voce/ep/inv2/informacoesdet.jsp?noticia.codigo=148250-18 -
- 19 -
Todos os hosts são iguais no compartilhamento de recursos e comunicação. - 20 -
As idéias precursoras ou a visão de Licklider levou a criação do protocolo host-to-host NCP, precursor do TCP/IP. - 21 -
Alguns eventos levaram ao predomínio da arquitetura cliente-servidor: -A Internet tornou-se gradualmente mais comercial, levando as empresas a criarem firewalls para protegerem as informações e controlarem o acesso; -Milhões de pessoas se conectam a Internet por meio de seus desktops que não podem competir com o poder de processamento dos servidores que formam a espinha dorsal da Internet; -Muitas aplicações da Internet se baseiam na arquitetura cliente-servidor: WWW, FTP - 22 -
- 23 -
- 24 -
- 25 -
- 26 -
- 27 -
- 28 -
- 29 -
- 30 -
- 31 -