From Wikipedia (Pt) - Reading time: 7 min
Este artigo não cita fontes confiáveis. (Março de 2014) |
Mesmo dispondo de plataformas de comunicação Peer-to-Peer, como o Pastry e o JXTA, os desenvolvedores ainda precisam projetar suas aplicações considerando requisitos não-funcionais, tais como validação do usuário, operações de manutenção da rede Peer-to-Peer (criar grupo, localizar grupo, ingresso em grupo, localizar peer, localizar recursos), desenvolvimento baseado em componentes (locais ou remotos), interface gráfica com o usuário, entre outros. Portanto, tais funcionalidades precisam estar disponíveis, sobre a plataforma de rede Peer-to-Peer, de maneira reutilizável e adaptável. Este modelo de desenvolvimento é conhecido como framework de aplicações.
No entanto, para sistemas Peer-to-Peer, ainda não existe um modelo de desenvolvimento elaborado e consolidado, análogo aos frameworks para sistemas Cliente/Servidor. O J2EE, baseado em Java, é um bom exemplo. Seu modelo é tão elaborado que ultrapassa os domínios da computação distribuída, abrangendo também frameworks MVC, componentes de interface gráfica com o usuário, manipulação de documentos XML, mecanismos de persistência de objetos, entre outros.
Assim, diversas pesquisas estão em curso para o desenvolvimento de um "Peer-to-Peer Application Framework" sobre alguma plataforma de comunicação Peer-to-Peer. Sua definição deve compreender uma descrição conceitual e um conjunto de mecanismos de suporte que orientam como aplicações semelhantes podem ser arquitetadas e implementadas. Usualmente, um framework deste tipo incluiria: uma proposta de arquitetura básica, padrões de projeto, entre outros recursos para desenvolvimento. Entre os benefícios advindos da disponibilização de um framework, podemos citar:
Entre diferenças notáveis de domínio tecnológico a serem consideradas no desenvolvimento de um framework para aplicações Cliente/Servidor e um similar para aplicações Peer-to-Peer [Roussopoulos 2004], podemos destacar:
Exemplos de frameworks para desenvolvimento de aplicações Peer-to-Peer são o XNap, o Oog (Duke University), o Lancaster´s P2P Framework (University of Lancaster) e o COPPEER (UFRJ), sendo os dois últimos abstrações construídas sobre a plataforma JXTA.