A
tecnologia P2P está presente em um número
razoavelmente grande de aplicações, como sistemas
de compartilhamento de arquivos, mensageiros instantâneos e
sistemas de computação distribuída.
Cada um desses sistemas possui uma arquitetura diferente, que opera
conforme um protocolo específico para uma dada arquitetura.
Temos, nesse ambiente, cada sistema P2P fornecendo um
serviço singular, único.
Os
serviços existentes em uma rede P2P, como
transferência de mensagens, procurar serviços,
procurar peers na rede, estabelecer conexão entre os peers,
dentre outros, são fornecidos através de
protocolos.
Protocolo
consiste em um conjunto de regras que permitem que dois ou mais
dispositivos troquem mensagens e serviços entre si.
Geralmente operam com sistemas semelhantes que precisam se comunicar
através de uma rede.
O
JXTA surgiu com o fim de quebrar o problema relacionado à
incompatibilidade de protocolos entre sistemas que fornecem
serviços semelhantes, principalmente devido ao
caráter proprietário dos protocolos. Isto acaba
por gerar redes isoladas.
A
plataforma JXTA foi especificada na arquitetura microkernel, isto
é, funções básicas de
sistemas P2P (semelhantes a todos) são implementadas em
módulos, restando ao JXTA funções
simples como a comunicação entre os
mídulos.
Esta
plataforma consiste em alguns tipos de peers que podem assumir papel,
ora de roteadores, ora de cache de informação,
ora de peers simples (proxy, por exemplo). Cada peer, grupo ou
serviço possui um advertisement, um arquivo XML bem
formatado contendo informações sobre a entidade a
qual ele trata. Possui um tempo de vida e só permanece ativo
enquanto a entidade a qual ele se refere estiver online.
Seus
principais objetivos são:
- ubiquidade: pode ser acessada por
qualquer tipo de dispositivo;
- uma
rede virtual acima dos
protocolos, implementando um protocolo de rede que mascara a
complexidade dos sistemas P2P, permitindo que peers de sistemas
diferentes se comuniquem;
- interoperabilidade: permite que
sistemas P2P de protocolos diferentes participem da rede, como uma
grande e única
comunidade.