Vous êtes sur la page 1sur 26

UNIVERSIDADE EDUARDO MONDLANE

DEPARTAMENTO DE ENGENHARIA ELECTROTCNICA


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