IMBus: instant Messaging bus - Vicente, Carlos Filipe Figueira (2011)
Os principais sistemas de instant messaging, desenvolvidos pelos grandes produtores de software, têm protocolos proprietários e fechados, o que não permite que exista comunicação entre eles. Isto implica que um utilizador necessite de utilizar vários clientes de instant messaging, por forma a comunicar com os seus contactos em todas as redes. Este trabalho tem como principal objectivo o desenvolvimento de um bus de instant messaging, que seja capaz de integrar vários serviços deste tipo. O bus permitirá a um utilizador comunicar com os seus contactos, também ligados ao bus, independentemente do seu serviço, usando apenas um cliente. Foi realizado um estudo sobre os protocolos de instant messaging, tanto protocolos abertos, cujo objectivo assenta na interoperabilidade, como os serviços disponibilizados pelos grandes sistemas. Deste estudo destacou-se o protocolo aberto XMPP e o serviço de instant messaging da Yahoo, sendo estes os escolhidos para provar o objectivo do projecto. A solução proposta tem por base um servidor que implementa parcialmente o protocolo XMPP, escolhido como formato nativo do bus de instant messaging. A interoperabilidade entre serviços de instant messaging é conseguida através de Web Services (designados por módulos de tradução), sendo cada um capaz de comunicar com outro serviço de instant messaging. O servidor disponibiliza também um Web Service (Web Service Central) que expõe o bus aos módulos de tradução. As operações do Web Service Central fazem a tradução para o protocolo nativo do bus. Desta forma existe um ponto único de processamento de funcionalidades (o servidor, processando pedidos feitos ao Web Service Central, por parte dos módulos), sendo todas as mensagens redireccionadas para o módulo respectivo ao utilizador destinatário.