<$BlogRSDUrl$>

18 janeiro 2004

 

Versão a colocar no poster



Introdução


Projecto Final de Curso da Licenciatura em Engenharia Informática e de Computadores - ano lectivo 2003/2004.
Orientado por Luís Falcão e por Paulo Pereira - CCISEL/DEETC.
Encontra-se em fase de desenvolvimento

Descrição


Actualmente os clientes comunicam na Internet de várias formas (WebMail, E-Mail, Instant Messaging, etc.).
Existem diferenças no funcionamento de uma aplicação Web e uma aplicação que é executado na máquina do cliente, particularmente na localização do repositorio de dados. Esses dados são por vezes inacessiveis de outras estações de trabalho, devido à sua dispersão e a certos parametros usados nas segurança das redes privadas.

São obrigados a instalar várias aplicações cliente. Essas aplicações guardam dados localmente que são inacessiveis de outras estações de trabalho, provocando dispersão de informação por várias estações de trabalho e servidores.
Inacessibilidade de usar certos protocolos usados pelos serviços de comunicação em algumas redes privadas.


Objectivos


Construção de uma plataforma que integra serviços de comunicação pessoal (E-mail, mensagens instantâneas, agenda pessoal).
Disponibiliza serviços de suporte a serviços de comunicação.
Minimiza o impacto nas infra-estruturas existentes.
Centraliza dados dos serviços de comunicação.
Disponibiliza dados offline sob a forma de réplicas.
Serviços acessíveis por diversos dispositivos (PC, Laptop, PDA).

Serviços de Comunicação


Serão implementados como protótipo os seguintes serviços:

Características comuns:



Plataforma


Conjunto de serviços de suporte a serviços de comunicação pessoal.
Serviços Disponibilizados



Serviços da Plataforma


O serviço de Repositório de Dados

Funcionamento offline obriga à existencia de réplicas dos dados.
Problema:
Sincronização das réplicas.
Transparência ao utilizador.
Solução:
Existência de um repositório central.
Actualizado pelas réplicas após o estabelecimento de uma ligação.
Réplicas sincronizadas com as alterações efectuadas por outras réplicas.
Actualizações feitas de forma diferencial.

Serviço de Notificação

Numa comunicação é necessário que ambas as entidades tomem a iniciativa no envio de mensagens.
Problema:
O protocolo http não permite notificação assincrona.
Soluções:

Serviço de Contactos

Necessário conhecer as entidades com as quais se comunica.
Entidades contactaveis por vários serviços.
Duplicação de contactos proporciona inconsistências.
Solução
Serviço de Contactos partilhado.

Serviço de Presença

Necessário saber quais os contactos ligados.
Solução:
Gestão centralizada do estado dos contactos.
Efectua chamadas regulares ao serviço(heart beat).
Actualização de estado dos contactos por:

  1. Notificação dos clientes

  2. Recebidas na resposta ao heart beat



Serviço de Gestão de Perfil

Gestão do perfil do cliente.
Subscrição de serviços.
Serviço de Autenticação

Autenticação para acesso a serviços.
Serviço de Localização

Serviços localizados em qualquer máquina.
Registar e localizar serviços.
Aumenta a escalabilidade.

Pontos de expansão


Possibilidade de integração de serviços de comunicação existentes.
Criar sistema híbrido que permita comunicação entre clientes de diferentes aplicações.
 

Ideias a colocar no poster



Introdução
Serviços de comunicação têm dados persistentes.
Esses dados encontram-se nas máquinas onde esses serviços são acedidos.
Clientes que utilizam várias máquinas têm os seus dados dispersos, impossibilitando a sua consulta noutra máquina.
Para resolver este problema propomos uma centralização dos dados num servidor acessível via http.
O cliente poderá aceder a todos os dados com qualquer dispositivo, desde que disponha de uma ligação à Internet.
A necessidade da ligação impossibilita a consulta dos dados em qualquer lugar.
Para resolver este problema propomos a existência de uma replica local nos dispositivos que tenham capacidade para tal.
Para a gestão da replicação dos dados e a sua consequente sincronização propomos a criação de um serviço denominado de Serviço de Repositório de Dados, disponibilizado pela plataforma.
A replicação de dados é transparente para o utilizador.

Um serviço de comunicação entre duas ou mais entidades, necessita da existência de um canal de comunicação.
A necessidade de segurança na Web obriga a que redes privadas não permitam a criação de ligações, evitando aumentar a possibilidade de ataques exteriores.
Para resolver este problema propomos a canalização de todas as comunicações por portos firewall friendly utilizando o protocolo http.
Devido à natureza pedido/resposta do protocolo http não permite notificação de clientes sem que estes tenham tido previamente a iniciativa.
Para solucionar este problema propomos a criação de um serviço denominado de Serviço de Notificação, disponibilizado pela plataforma.

Objectivos
Construção de uma plataforma que permita centralizar dados persistentes de serviços de comunicação online, disponibilizando-os também offline.
A plataforma deve permitir comunicação firewall friendly minimizando o impacto nas infra-estruturas das redes privadas, nomeadamente ao nível da segurança.
A plataforma deve permitir a integração de diversos serviços de comunicação (E-mail, mensagens instantâneas, agenda pessoal).
A plataforma deve centralizar todos os serviços que sejam comuns a todos os serviços integrados.
Os serviços devem ser acessíveis por diversos dispositivos (PC, Laptop, PDA,...)

Serviço de Notificação
A utilização do protocolo http para comunicação entre as máquinas obriga a que o cliente tenha de efectuar pedidos ao servidor para receber mensagens.
Para tal é disponibilizado pela plataforma o Serviço de Notificação para o qual propomos duas soluções possíveis ainda em fase de analise.
Como primeira solução propomos a existência de pooling por parte do cliente sobre o servidor.
Os tempos entre cada pedido devem ser ajustáveis na plataforma segundo as necessidades dos serviços que a utilizam.
Esta solução tem a desvantagem de aumentar o tráfego na rede.
Como segunda solução possível propomos a existência de pooling com espera passiva.
A recepção de uma notificação só é realizada aquando da sua existência.
Nesta solução só é realizado um pedido por cada notificação.
Para tal propomos a existência de uma entidade alojada na máquina cliente, que tem como função realizar esse pedido e entregar a notificação ao cliente.

Serviço de Contactos
Uma das características comuns a todos os serviços de comunicação é a necessidade de um canal de comunicação (ligação) entre duas ou mais entidades, máquinas ou pessoas.
Para estabelecer esse canal é necessário conhecer as outras entidades.
Sendo uma característica comum a todos os serviços de comunicação propomos a existência de um Serviço de Contactos disponibilizado pela plataforma e partilhado por todos os serviços que a utilizem.

Serviços de Comunicação
Como protótipo para a utilização da plataforma implementamos e integramos os seguintes serviços de comunicação.
• E-mail
• Mensagens Instantâneas
• Agenda Pessoal

Características comuns:
• Históricos de mensagens persistentes.
• Contactos.
• Envio de mensagens.
• Recepção de mensagens implícitas (pedidos) ou explicitas (notificações).

Trabalho futuro
Como trabalho futuro propomos a possibilidade de integração de serviços de comunicação existentes.
A criação de um sistema híbrido que permita comunicação entre dois clientes que utilizem diferentes aplicações clientes.
 

Agora a sério



Objectivo 1: Resolver alguns problemas que os serviços de comunicação têm actualmente.

Email - Existem duas variantes, o cliente de pop3 e o webmail.
O cliente de mail de pop3 tem como vantagem a consulta do email offline(desde que previamente descarregado), no entanto se um utilizador tiver varias estações de trabalho o correio encontra-se disperso dificultando a sua consulta total.
o webmail concentra todo o correio num unico sitio e encontra-se acessivel de qualquer lado, tem porém o inconveniente de não permitir consulta offline e geralmente as quotas disponibilizadas serem pequenas.

Solução: Passa por uma solução hibrida, centralizando os dados num sitio e distribuindo copias locais para permitir funcionamento offline.

A agenda electronica padece dos mesmos problemas que os clientes de mail.

Instant Messaging - Este serviço sofre de obrigar os administradores de rede a terem de abrir portos para funcionarem, o que leva a estes não funcionem em muitas redes fechadas.

Solução - criar um serviço de messaging firewall friendly que não obrigue a alterações na infraestrutura de rede para funcionar.



Objectivo 2: Juntar vários serviços de comunicação numa aplicação unica.

Problema: Diferentes serviços têm necessidades distintas.

Exemplo: Alguns têm que estar acessiveis em qualquer lado, quer o cliente esteja ligado ou não( Email e agenda).
Outros têm necessidades de quase tempo real(Instant Messaging).

Solução: Criar uma plataforma que disponibilize os serviços de suporte necessarios a varios serviço de comunicação de modo a integralos numa unica aplicação.

Resumindo:É nossa intenção construir um conjunto de serviços de suporte que permita agregar vários serviços de comunicação numa unica aplicação, resolvendo alguns problemas que afligem este tipo de serviços nomeadamento os enumerados no objectivo1.


 

A mesma história mas de maneira diferente



Era uma vez um serviço de email que apenas dava para descarregar correio para qualquer maquina.
No principio não havia qualquer problema pois como os computadores eram caros os utilizadores não tinha mais do um sitio para descarregar o seu correio, mas à medida que surgiu o boom da internet e o preço do hardware desceu, os utilizadores começaram a ter varias estações de trabalho e o seu correio começou a ficar desorganizado e espalhado por diferentes maquinas, pior estas maquinas não partilhavam o correio umas com as outras.

E assim surgiu o Webmail, que resolveu este problema oferecendo um serviço de email onde mantinha todo o correio centralizado e disponivel atraves de paginas web. Durante algum tempo os utilizadores de correio electronico viveram felizes da vida, pois podiam enviar e consultao o seu email de qualquer lado desde que exista uma ligação à internet e um browser.

Mas depois as suas caixas de correio começaram a encher, a encher, a encher e tiveram que começar a descarregar o seu correio de novo, e mais uma vez lá estava o seu correio espalhado por duzias de maquinas diferentes.

E o pior é que se não tivessem ligados não conseguiam consultar nada.

E porque não juntar o melhor dos dois mundos, conseguir consultar o seu correio offline dispondo de uma cópia local, e e poder consultar em qualquer parte do mundo desde que tenha uma ligação à internet.







 

O serviço de Repositório de Dados



Para que seja possivel o modo de funcionamento offline é necessário que existam cópias locais dos dados.

Havendo várias cópias dos dados que podem ser alteradas quando o utilizador está offline surge o problema da sincronização destas varias cópias de modo a que estejam consistentes umas com as outras.


A ideia do serviço Repositório de Dados é tratar o conjunto de cópias existente como apenas uma, de forma a que seja o mais transparente possivel para o utilizador(botão de sync é aceitavel?).

Uma solução possivel é existir uma cópia central que todas as outras actualizam mal se encontrem online.

16 janeiro 2004

 

Qual é o problema?


Problema 1 - Ao se utilizarem multiplos dispositivos para armazenar dados da mesma aplicação (ex:email, agenda) ,faz com que exista dispersão nos dados.

Exemplo 1:uma pessoa com um pc em casa outro no trabalho e um portatil tem os seus emails distribuidos em tres sitios diferentes.

Exemplo :no mesmo cenário anterior mas com uma agenda, é impossivel saber quais os compromissos que estão guardados nos outros dispositivos.

Consequencia - é impossivel obter dados que estejam guardados noutra maquina caso esta esteja offline.

Objectivo 1 - unificar os dados de várias fontes nun unico sitio, e que este seja acessivel de qualquer lado e em qualquer altura. (Mais ambicioso ainda,acessivel por qualquer dispositivo em qualquer sistema operativo :D take that uncle bill :P)

Problema 2 - Multiplicidade de aplicações necessárias para estar "ligado" com os outros (ex: cliente de mail, cliente de messaging, agenda).

Objectivo 2 - Criar uma plataforma que disponibilize os serviços necessários para que facilite a criação de aplicações de comunicação all in one, que permitam integrar o maior número possivel de serviços de comunicação, tendo numa primeira fase concretização num cliente de email, agenda e serviço de messaging.







 
"What everyone wants: a single, easy-to-use app that combines email, calendaring, address book, instant messaging, and file-sharing - and works with any device running any major operating system. Oh, and it should be really cheap, if not free." in Wired, November 2003

Acho que esta frase descreve exactamente o que é que temos andado a tentar fazer, ou melhor aquilo que não conseguia-mos expressar em palavras.

06 janeiro 2004

 

O que � que andamos para aqui a fazer?????

Integrar varios servi�os de comunica��o pessoal(e-mail, instant messaging, agenda, blog), de modo a que os dados pessoais estejam disponiveis em qualquer dispositivo ligado.
Outro objectivo � que o modo ligado tenha os menores requisitos possiveis � infraestrutura de rede existente.
Como implementar o modo offline???
Como integrar o modo online com o offline???

This page is powered by Blogger. Isn't yours?