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:
- Mensagens Instantâneas
- Agenda Pessoal
Características comuns:
- Canal de comunicação
- Históricos de mensagens persistentes.
- Contactos.
- Envio e recepção de mensagens.
- Recepção de notificações.
Plataforma
Conjunto de serviços de suporte a serviços de comunicação pessoal.
Serviços Disponibilizados
- Repositório de Dados
- Notificação
- Contactos
- Presença
- Gestão de Perfil
- Autenticação
- Localização
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:
- Polling
Cliente executa pedidos ao servidor
Tempos condizentes com os serviços.
Desvantagem
Aumentar o tráfego na rede. - Espera passiva
O cliente bloqueado no servidor.
Realizado apenas um pedido por notificação.
Entidade na máquina cliente que efectua os pedidos.
Desvantagem
Suportar uma ligação permanente.
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:
- Notificação dos clientes
- 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.• 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.
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.