0 оценок0% нашли этот документ полезным (0 голосов)
89 просмотров26 страниц
Este documento apresenta um estudo sobre a arquitetura cliente-servidor em sistemas distribuídos. Discute os conceitos-chave da arquitetura, incluindo as relações entre os componentes, sua localização e divisão de responsabilidades. Também descreve as características, vantagens e desvantagens da arquitetura cliente-servidor, bem como aplicações comuns. Finalmente, apresenta um caso de estudo para ilustrar a aplicação prática da arquitetura.
Este documento apresenta um estudo sobre a arquitetura cliente-servidor em sistemas distribuídos. Discute os conceitos-chave da arquitetura, incluindo as relações entre os componentes, sua localização e divisão de responsabilidades. Também descreve as características, vantagens e desvantagens da arquitetura cliente-servidor, bem como aplicações comuns. Finalmente, apresenta um caso de estudo para ilustrar a aplicação prática da arquitetura.
Este documento apresenta um estudo sobre a arquitetura cliente-servidor em sistemas distribuídos. Discute os conceitos-chave da arquitetura, incluindo as relações entre os componentes, sua localização e divisão de responsabilidades. Também descreve as características, vantagens e desvantagens da arquitetura cliente-servidor, bem como aplicações comuns. Finalmente, apresenta um caso de estudo para ilustrar a aplicação prática da arquitetura.
CURSO DE ENGENHARIA INFORMTICA SISTEMAS DISTRIBUDOS
Trabalho em Grupo TEMA: Arquitectura Cliente - Servidor
Autores Docente JNIOR, Felimone Amone Eng. Marcelo Munguanaze MANGUE, Edson Simo MIND, Arsnio Jos
Maputo, Agosto de 2014 ndice Pgina
Introduo ............................................................................................................................................... 0 Objectivos ............................................................................................................................................... 1 a) Objectivo Geral ........................................................................................................................... 1 b) Objectivos Especficos ................................................................................................................ 1 Metodologia ............................................................................................................................................ 2 1. Motivao para o estudo efectuado ................................................................................................. 3 2. Conceito de Arquitectura de Sistemas Distribudos ........................................................................ 3 2.1. Relaes entre estes componentes .......................................................................................... 4 2.2. Localizao ............................................................................................................................. 4 3. Arquitectura Cliente/Servidor ......................................................................................................... 4 3.1. Cliente-servidor em cadeia ..................................................................................................... 6 3.2. Arquitectura cliente-servidor: replicados ................................................................................ 6 3.3. Clientes ................................................................................................................................... 6 3.3.1. Caractersticas ................................................................................................................. 7 3.4. Servidores ............................................................................................................................... 7 3.4.1. Caractersticas ................................................................................................................. 7 3.5. Comunicao ........................................................................................................................... 8 3.6. Vantagens ................................................................................................................................ 8 3.7. Desvantagens .......................................................................................................................... 9 3.8. Aplicaes cliente/servidor ..................................................................................................... 9 3.8.1. Vantagens ............................................................................................................................ 9 3.8.2. Arquitetura Cliente-Servidor com Arquivos Compartilhados ....................................... 11 3.8.3. Arquitectura Cliente-Servidor em Camadas ................................................................. 12 a) Arquitectura Cliente-Servidor de 2 Camadas ........................................................................... 12 b) Arquitectura Cliente-Servidor de 3 Camadas ........................................................................... 13 3.8.4. Modelo de Distribuio de Processos ........................................................................... 14 3.9. Quadro Comparativo entre Entre Arquitetura Centralizada, Cliente-Servidor, Peer-to-Peer ... 15 3.10. Quadro comparativo entre Arquitectura Peer-to-Peer e Cliente Servidor ............................ 15 4. Caso de Estudo da aplicao da Arquitectura ............................................................................... 16 Concluso .............................................................................................................................................. 20 REFERNCIAS BIBLIOGRFICAS ......................................................................................................... 21
2
Lista de Smbolos e Abreviaturas LAN - Local Area Network RPC Chamadas de Procedimento Remoto C/S Cliente Servidor GUI Interface Grfica do Usurio SQL Strutured Query Language SGBD Sistema de Gesto de Base de Dados BD Base de Dados
Lista de Figuras
Figura 3: Arquitectura bsica de Cliente-Servidor Figura 4: Exemplo de um host (servidor) com vrios clientes
Figura 8: Mecanismo de requisio na linguagem de um SGBD
Lista de Tabelas
Figura 1: Ilustrao de Relaes entre coponentes Figura 2: Ilustrao de Localizao de coponentes Figura 5: Ilustrao de C/S em cadeia e servidores replicados Figura 6: Ilustrao da arquitectura c/s replicados Relaes entre coponentes Figura 7: Ilustrao das 3 partes principais numa aplicao Figura 9: Ilustrao da arquitectura em 2 camadas Figura 10: Ilustrao da arquitectura em 3 camadas Tabela 1: Comparao entre as arquitecturas centralizada, cliente-servidor e p2p Tabela 2: Comparao entre as arquitecturas cliente-servidor e p2p Introduo Os Sistemas Distribudos como uma alternativa aos sistemas centralizados, em virtude das suas inmeras vantagens tem sido uma das grandes apostas no mundo das comunicaes. Deste modo, a concepo e posterior implementao de um sistema distribudo pode ser feita com recurso a arquitecturas diferentes. Neste contexto, o grupo de estudantes pretende, neste trabalho, de forma criteriosa e minuciosa fazer uma abordagem sucinta dos principais aspectos a sere levados em conta quando a abordagem sobre Arquitectura de Sistemas Distribudos Cliente Servidor. Assim, ao longo do corpo do trabalho, deparar-se- com aspectos inerentes ao conceito Arquitectura, Caractersticas da Arquitectura Cliente-Servidor, os componentes e suas funes, etc. Em ltima anlise, apresenta-se a sistematizao dos assuntos arrolados no trabalho, em forma de concluso.
1
Objectivos Para o presente trabalho, os objectivos forem categorizados em dois; os quais consistem em: Objectivo Geral e Objectivos Especficos.
a) Objectivo Geral Fazer um estudo exaustivo sobre a Arquitectura Cliente-Servidor
b) Objectivos Especficos i. Apresentar a sntese de evoluo/surgimento da Arquitectura Cliente Servidor em Sistemas Distribudos; ii. Discutit as principais caractersticas da Arquitectura Cliente-Servidor; iii. Apresentar as suas vantagens e Desvantagensda Arquitectura; iv. Elucidar sobre as vrias formas de conceber a Arquitectura Cliente-Servidor; v. Apresentar um caso concreto em que se aplica a arquitectura em estudo, explanando-a. vi. Fazer uma sntese comparativa entre as duas Arquitecturas usadas nos Sistemas Distribudos
2
Metodologia
Para concretizar os objectivos previamente definidos para o trabalho, o grupo desdobrou-se em simples elementos, em que cada um tinha uma tarefa especfica a realizar. As pesquisas individuais foram de cunho bibliogrfico; isto cada elemento fez buscas bibliogrficas em fontes disponveis e ao seu alcance.
3
1. Motivao para o estudo efectuado Actualmente a arquitectura cliente- servidor a mais utilizada nos sistemas computacionais. So aplicadas desde uma concentrao total das aplicaes no servidor at uma distribuio entre clientes e servidores, que foi muito estimulado na ltima dcada com o advento de equipamentos de pequeno porte com grande poder de processamento. Particulamente, para o surgimento dos Sistemas Distribudos, concorreram os seguintes factores: Avanos em microelectrnica processadores mais rpidos e baratos Avanos em comunicaes redes mais eficientes e confiveis Popularidade das redes de computadores redes de telefones celulares, redes corporativas, redes caseiras redes de computadores de alta velocidade (Myrinet ~2Gb/s)
2. Conceito de Arquitectura de Sistemas Distribudos De acordo com TACLA, citando Coulouris et al., 2001, Uma arquitectura de Sistemas Distribudos define: as relaes entre estes componentes; a diviso de responsabilidades (ex. cliente, servidor) a localizao dos componentes do sistema; e como estas componentes so mapeados para a infra-estrutura de redes
4
2.1. Relaes entre estes componentes
Papis funcionais: Os componentes cliente e servidor so capazes de enviar e receber bytes (vetor de bytes).
2.2. Localizao
Onde, fisicamente, cada componente do sistema dever funcionar 3. Arquitectura Cliente/Servidor
Geralmente os clientes e servidores comunicam atravs de uma rede de computadores em computadores distintos, mas tanto o cliente quanto o servidor podem residir no mesmo computador. Figura 1: Ilustrao de Relaes entre coponentes Figura 2: Ilustrao de Localizao de coponentes 5
Figura 3: Arquitectura bsica de Cliente-Servidor
Um servidor um host que est executando um ou mais servios ou programas que compartilham recursos com os clientes. Um cliente no compartilha qualquer de seus recursos, mas solicita um contedo ou funo do servidor. Os clientes iniciam sesses de comunicao com os servidores que aguardam requisies de entrada.
Figura 4: Exemplo de um host (servidor) com vrios clientes A tecnologia cliente/servidor uma arquitectura na qual o processamento da informao dividido em mdulos ou processos distintos. Um processo responsvel pela manuteno da informao (servidores) e outros responsveis pela obteno dos dados (os clientes). Os processos cliente enviam pedidos para o processo servidor, e este por sua vez processa e envia os resultados dos pedidos. 6
3.1. Cliente-servidor em cadeia Um servidor pode ser cliente de outro.
3.2. Arquitectura cliente-servidor: replicados
Servio oferecido por vrios servidores.
3.3. Clientes O processo cliente realiza o envio das mensagens fazendo algum pedido ao servidor. O cliente a parte que interage com o usurio, possui a interface que o usurio utiliza para requisitar as tarefas ao servidor, sendo chamado de front-end da aplicao. Os processos clientes gerenciam as atividades dos usurios e realizam as validaes dos dados informados por estes. Figura 5: Ilustrao de C/S em cadeia e servidores replicados Figura 6: Ilustrao da arquitectura c/s replicados Relaes entre coponentes 7
3.3.1. Caractersticas Inicia pedidos para servidores e aguardam respostas; Conecta-se a um pequeno nmero de servidores de uma s vez ; Interage com o utilizador final geralmente por meio de uma interface grfica, podendo tambm prover mecanismos de validao de dados Possui a capacidade de detectar quando uma solicitao feita no chega ao servidor Por serem responsveis maioritariamente pela apresentao, os dados no ficam armazenados localmente, porm dependendo do modelo usado, estes podem manter uma parte dos dados, quando tal acontece a consistncia deve ser mantida. Os clientes devem ser dotados de recursos para reproduzir interfaces grficas, mas estes recursos juntamente com os recursos necessrios para efectuar outras tarefas inerentes aos clientes no exigem um grande poder computacional, fazendo com que os clientes sejam computadores com capacidades no altas. 3.4. Servidores o processo que responde a uma mensagem solicitando a realizao de alguma tarefa por parte do cliente. O processo servidor chamado de back-end. O processo servidor pode oferecer servios a muitos clientes, realiza pesquisas, filtragens e atualizaes em bancos de dados. Os servios podem ser realizados diretamente pelo processo servidor ou atravs de processos escravos criados por este para atender cada pedido do cliente, o que libera o processo mestre do servidor para receber outras solicitaes.
3.4.1. Caractersticas Oferece servios (e.g., busca e atualizaes no banco de dados) para muitos clientes, centralizando a manipulao de dados, manuteno de consistncia e integridade Deve ter capacidade de processamento, acesso a disco, memria e comunicao para atender os pedidos dos vrios clientes Controle de concorrncia (e.g., utilizando excluso mtua no acesso a dados); Segurana: controle de acesso via senhas, a diversos nveis de informao Confiabilidade: a centralizao facilita o gerenciamento do backup Caso falhe o servidor, todos os servios so paralizados; 8
Pelo facto do servidor atender a diversos clientes de uma s vez, e ser responsvel por processos mais pesados, requer um hardware especializado, sendo os servidores geralmente maquinas muito potentes e com diversos mecanismos para preveno de falhas.
3.5. Comunicao A comunicao entre o cliente e o servidor transacional e cooperativa. O servidor envia apenas os resultados relevantes do pedido do cliente, assim, a quantidade de dados transferida tende a ser a menor, enviando se somente a quantidade necessria para o cliente executar seu trabalho. A natureza cooperativa do paradigma cliente/servidor significa que ocorre um processamento significativo e colaborativo nos extremos cliente e servidor. Sistemas Cliente-Servidor dispensam um mecanismo especial para sincronizar os componentes (clientes e servidor(s)); a natureza da passagem de mensagens elimina a necessidade de um mecanismo explcito. A comunicao cliente/servidor baseada em "Chamadas de Procedimento Remoto" (Remote Procedure Calls - RPC), minimizando o trfego, mas no dispensando os protocolos de baixo nvel para checagem de erros.
3.6. Vantagens Confiabilidade - Se uma mquina apresenta algum problema, ainda que seja um dos Servidores, parte do Sistema continua ativo. Matriz de Computadores agregando capacidade de processamento - A arquitetura Cliente / Servidor prov meios para que as tarefas sejam feitas sem a monopolizao dos recursos. Usurios finais podem trabalhar localmente. O Sistema cresce facilmente - Torna-se fcil modernizar o Sistema quando necessrio. O Cliente e o Servidor possuem ambientes operacionais individuais / Sistemas Abertos - Pode-se misturar vrias plataformas para melhor atender s necessidades individuais de diversos setores e usurios. Alm destas vantagens, pode-se encontrar dentro de uma arquitetura Cliente/Servidor a interoperabilidade das estaes Clientes e Servidoras entre as redes de computadores, a escalabilidade da arquitetura visando o crescimento e a reduo dos elementos 9
constituintes, a adaptabilidade de novas tecnologias desenvolvidas, a performance do hardware envolvido na arquitetura, a portabilidade entre as diversas estaes que compem a arquitetura e a segurana dos dados e processos (MCKIE,1997).
3.7. Desvantagens Manuteno - As diversas partes envolvidas nem sempre funcionam bem juntas. Quando algum erro ocorre, existe uma extensa lista de itens a serem investigados. Ferramentas - A escassez de ferramentas de suporte, no raras vezes obriga o desenvolvimento de ferramentas prprias. Em funo do grande poderio das novas linguagens de programao, esta dificuldade est se tornando cada vez menor. Treinamento - A diferena entre a filosofia de desenvolvimento de software para o microcomputador de um fabricante para o outro, no como a de uma linguagem de programao para outra. Um treinamento mais efetivo torna-se necessrio. Gerenciamento - Aumento da complexidade do ambiente e a escassez de ferramentas de auxlio tornam difcil o gerenciamento da rede.
3.8. Aplicaes cliente/servidor Pode-se definir como aplicaes cliente/servidor como aquelas em que uma parte pertence ou executada no cliente e faz requisies a outra parte que se localiza no servidor. Geralmente, so aplicaes baseadas em banco de dados, que a parte pertencente ao cliente executa queries num banco de dados remoto.
3.8.1. Vantagens Maior Flexibilidade adio, remoo, alterao de funcionalidades feita de modo mais eficaz e eficiente. Fcil Manuteno se houver uma separao clara das funcionalidades (camadas) possvel actualizar a aplicao tendo um impacto mnimo no negcio Maior Interoperabilidade permitem a integrao de duas ou mais aplicaes diferentes, mesmo que estas sejam de plataformas diferentes 10
Melhor escalabilidade permitem o processamento de um elevado nmero de transaes de maneira eficaz. Multiplataforma Menor tempo de Desenvolvimento Maior robustez
Todas as aplicaes podem ser divididas em trs partes funcionais, nomeadamente: Apresentao Lgica de Negcio e Acesso a Dados. Apresentao - a chamada GUI (Graphical User Interface), ou simplesmente interface. Esta camada interage diretamente com o usurio, atravs dela que so feitas as requisies. Lgica de Negcio responsvel pelas funes e regras de todo o negcio. No existe uma interface para o usurio e seus dados so volteis Acesso a Dados - definida como o repositrio das informaes e as classes que a manipulam. Esta camada recebe as requisies da camada de negcios e seus mtodos executam essas requisies em um banco de dados.
Ao desenvolver aplicaes utilizando o modelo de arquitetura cliente-servidor, podem ser utilizadas duas alternativas: Figura 7: Ilustrao das 3 partes principais numa aplicao 11
Arquitetura Cliente Servidor com Arquivos Compartilhados Arquitetura Cliente Servidor em Camadas 3.8.2. Arquitetura Cliente-Servidor com Arquivos Compartilhados Aps o surgimento das LANs, as primeiras aplicaes cliente-servidor desenvolvidas utilizavam arquivos compartilhados como mecanismo de armazenamento de dados.
Figura 8:Arquitectura C/S com arquivos compartilhados Cliente: responsvel pela apresentao (telas),processamento (regras de negcio) e gerenciamento de dados. Servidor: responsvel apenas pelo compartilhamento de arquivos onde os dados so gravados. Esta arquitectura s funciona bem para um nmero pequeno de usurios concorrentes, alm de provocar um grande trfego na rede quando se trabalha com grandes volumes de dados. - Exemplos: aplicaes com MS Access e Borland Para resolver esse problema foram criados os Sistemas de Gerenciamento de Banco de Dados (SGBD) ou Servidores de Banco de Dados. Um SGBD um processo servidor que gerencia o acesso concorrente a dados. - As requisies so feitas utilizando-se comandos na linguagem SQL (Structured Query Language). - Exemplos: Oracle, MS SQL Server, IBM DB2, MySQL 12
Figura 8: Mecanismo de requisio na linguagem de um SGBD
3.8.3. Arquitectura Cliente-Servidor em Camadas Arquiteturas multicamadas utilizadas no desenvolvimento de aplicaes so extenses do modelo de arquitetura cliente-servidor onde as camadas funcionais da aplicao executam em processos distintos: 2 Camadas 3 Camadas
a) Arquitectura Cliente-Servidor de 2 Camadas O cliente responsvel pelo erenciamento e armazenamento de dados, apresentao (telas) e processamento dos dados (regras de negcio) e Servidor de Banco de Dados Servidor de Banco de Dados: responsvel pelo gerenciamento e armazenamento dos dados (SGBD). Desvantagens: Difcil gerenciamento, visto que ao atualizar-se a aplicao esta actualizao dever ser feita em todos computadores onde ela estiver instalada. Performance degrada para aplicaes com mais de 100 usurios, devido necessidade de manuteno da conexo do cliente com o servidor. Pouca flexibilidade para mudar de fornecedor de SGBD, resultando sempre em grande esforo de manuteno nas aplicaes
13
b) Arquitectura Cliente-Servidor de 3 Camadas
Cliente: responsvel pela apresentao dos dados (sempre thin client) Servidor de Aplicao: responsvel pelo Processamento de dados Servidor de BD: Gesto e armazenamento de dados
Cada camada da aplicao (apresentao, processamento, gesto e armazenamento de dados) pode executar em processadores distintos. Exemplo:
Quando comparada com a Arquitetura Cliente-Servidor de 02 Camadas, oferece mais: Performance Flexibilidade Manutenibilidade Escalabilidade
Limitaes Figura 9: Ilustrao da arquitectura em 2 camadas Figura 10: Ilustrao da arquitectura em 3 camadas 14
Ambientes de desenvolvimento de aplicaes cliente-servidor de 03 camadas ainda so mais difceis de utilizar do que ambientes de desenvolvimento de aplicaes de 02 camadas, diminuindo a produtividade 3.8.4. Modelo de Distribuio de Processos
a) Apresentao Distribuida (1)- Toda a gerncia da apresentao efetuada no Servidor, enquanto que no Cliente, somente a lgica da impresso dos caracteres no monitor executada. b) Apresentao Remota (2) Tota a gerncia da apresentao assim como algumas validaes de entradas de usurio so feitas no cliente. c) Lgica Distribuida (3) nesta arquitectura existe um pr tratamento das consultas, usando-se geralmente procedimentos armazenados, o que aumenta o desempenho do sistema visto que reduz o trafego. d) Gestao centralizada de dados (4) tambm chamada de cliente gordo ou 2 camadas, o servidor s tem como tarefa a gesto de banco de dados e) Base de dados distribuda (5) - nesta arquitectura a base de dados distribuda por diversos clientes, sendo necessrio mecasnismos de controle de concorrncia e sincronizao.
Apresentao o Apresentao o Apresentao o Apresentao o Apresentao Lgicao Base de Dados Lgica Base de Dados Lgica
Lgicao Base de Dados Base de Dados Base de Dados Base de Dados Lgica Rede Lgica Apresentao 1 2 3 4 5 15
3.9. Quadro Comparativo entre Entre Arquitetura Centralizada, Cliente- Servidor, Peer-to-Peer
3.10. Quadro comparativo entre Arquitectura Peer-to-Peer e Cliente Servidor
Tpicos Peer-to peer Cliente-servidor Paradigma Declarativo Procedural Representao de Conhecimento Teoria: conceitos, relaes e restries (o que) Funcionamento (como) Confiabilidade Conhecimento explcito (transparente) Descrio da ao dos mtodos fornecidas pelo implementador Legibilidade Conhecimento explcito ( transparente ) Information Hiding Caracterstica Arquitetura Centralizada Cliente-Servidor Peer-to-Peer Descentralizao nenhuma alta muito alta Conectividade ad-hoc nenhuma mdia alta Custo de propriedade muito alto alto baixo Anonimato nenhum mdio muito alto Escalabilidade baixa alta alta Desempenho baixo mdio alto Tolerncia a falhas baixo mdio alto Auto-organizao mdia mdia mdia Transparncia baixa mdia mdia Segurana muito alta alta baixa Interoperabilidade Padronizada
padronizada baixa Tabela 1: Comparao entre as arquitecturas centralizada, cliente-servidor e p2p 16
Contexto Atos de fala e ontologias Parmetros tipados Direo Proatividade, iniciativa e multilogo RPC unidirecional, pares Flexibilidade Comunicao Dinmica Comunicao Pr-definida I nterface Semntica e Dinmica Sinttica e Esttica Finalidade Inferncia, reuso, negociao ou documentao para usurios Execuo I nteroperabilidade entre Linguagens Mapeamentos para OKBC ou traduo lgica entre formalismos Mapeamentos para CORBA IDL ou DCOM
4. Caso de Estudo da aplicao da Arquitectura
Pretende-se construir um IM (Instant Messenger) Seguro, a seguir se analisar o impacto das arquicteturas (Peer to Peer, e Cliente-Servidor) no funcionamento da aplicao FMM Messenger O FMM Messenger um aplicativo de mensagens instantneas, que visa prover segurana na comunicao entre os usurios e o mximo de desempenho.
a) Peer to Peer Se baseando na arquitectura Peer to Peer os dispositivos trocaro mensagens directamente, sendo que estas no passaro por nenhum outro dispositivo para chegar ao destino. Tabela 2: Comparao entre as arquitecturas cliente-servidor e p2p 17
Vantagens: Alta segurana, com implementao de Protocolos de encriptao end-to-end. Maior desempenho da Interface de usurio
Desvantagens: Baixo desempenho para um nmero grande de usurio. Maior complexidade na implementao de mecanismos de gerenciamento de comunicaes, concorrncia, e entrega de massagens. Maior consumo de espao de armazenamento. Menor flexibilidade
b) Cliente Servidor Baseando-se na arquitectura cliente-servidor como ilustra a figura abaixo, tem-se os seguintes cenrios. 18
i. Apresentao Remota Por intermdio de um navegador, a apresentao, lgica e a base de dados estariam a cargo do servidor, cabendo aos clientes apenas a renderizao da GUI. O FMM Messenger do lado do cliente seria apenas um container web.
Vantagens: Maior desempenho, visto que a gesto das conexes seria responsabilidade do servidor possibilitando o uso de servios especficos para IM como o Google Cloud Messeging. Maior Portabilidade Maior flexibilidade
Desvantagens: Menor desempenho da interface de usurio (por no ser nativa). Maior complexidade no uso de recursos do telefone (gravar/ler na memria, GPS, camera etc). Menor segurana
19
ii. Gesto de dados centralizada Toda a lgica da aplicao, implementao de medidas de segurana, entrega de mensagens e mais estaro a cargo do cliente, sendo o servidor responsvel por gerir as conexes, acesso a dados. O FMM seria desenvolvido numa linguagem nativa ao dispositivo final.
Vantagens: Maior desempenho da interface de usurio Melhor implementao de medidas de segurana como protocolo end-to-end.
Desvantagens: Maior complexidade na implementao de mecanismos de entrega de mensagens. Baixa flexibilidade
iii. Lgica distribuda
Vantagens: Maior desempenho da interface de usurio e melhor aproveitamento dos recursos do dispositivo. Melhor implementao de medidas de segurana como protocolo end-to-end. Melhor desempenho no servio de entrega de mensages (uso de servios como GCM) Melhor aproveitamento de espao no dispositivo final Desvantagens: Baixa portabilidade Baixa Flexibilidade.
20
Concluso
O trabalho realizado revestiu-se de uma enorme importncia no que diz respeito a aquisio de novos conheciementos e principalmente na consolidao dos j tidos durante as aulas na disciplina em aluso. Mais precisamente, atravs do trabalho realizado, o grupo pde deparar-se com situaes novas e que sem dvida tornar-se-o numa ferramenta imprescindvel na realizao de trabalhos na rea de Sistemas Distribudos, na rea de trabalho. Com a realizao do trabalho, ficou-se a saber as vrias formas atravs das quais a arquitectura Cliente-Servidor pode ser implementado, dependendo assim da complexidade e da finalidade do sistema Distribudo a ser concebido. Fazendo uma anlise comparativa das implementaes das arquicteturas acima discutidas, e os objectivo do FMM Messenger que prover servios de IM de alta segurana, a melhor arquitectura a C-S com Lgica distribuda, visto que esta permite o uso de servios de IM como GCM, que garantem maior desempenho e confiabilidade e tambm permitem a implementao de protocolos de encriptao end-to-end, deste modo mesmo que os dados no banco de dados sejam comprometidos no sero legveis pois estes estaro encriptados, tambm no sendo vulnervel a session hijacking.
21
REFERNCIAS BIBLIOGRFICAS 1. TACLA, Csar, A., Arquiteturas de Sistemas Distribudos. 2. G. Coulouris, J. Dollimore and T. Kindberg, Distributed Systems - Concepts and Design, Addison-Wesley, 4th Edition, 2005 3. Kurdi, H.; Li, M.; Al-Raweshidy, H., "A Classification of Emerging and Traditional Grid Systems,"Distributed Systems Online, IEEE , vol.9, no.3, pp.1-1, March 200 4. Carey, M.J., "SOA What?," Computer , vol.41, no.3, pp.92-94, March 200