JacORB Sobre JXTA Implementação Do JXTA Como Protocolo De Transporte Do JacORB Ivan Bittencourt de A. e S. Neto O JacORB e o JXTA O JacORB: É um ORB Java; Um ORB permite a comunicação entre objetos CORBA; Open-source, etc. O JXTA: Protocolo P2P aberto; Escrito em Java e em C (mas pode ser implementado em outras linguagens); Independência de plataforma, rede, etc. Atravessa firewall/NAT com certa facilidade. Ivan Bittencourt de A. e S. Neto Objetivo do trabalho Fazer o JacORB rodar sobre o JXTA, de modo a permitir que aquele “atravesse” possíveis firewalls presentes em aplicações distribuídas usando CORBA. Ivan Bittencourt de A. e S. Neto A “ponte” entre o JacORB e o JXTA: a ETF A ETF (Extensible Transport Framework) é suportada pelo JacORB. Ela define (num arquivo IDL) uma série de interfaces que devem ser implementadas para adicionar um novo protocolo de transporte. Ivan Bittencourt de A. e S. Neto Interfaces da ETF Connection Profile Listener Factories Handle (o JacORB já implementa) Ivan Bittencourt de A. e S. Neto ETF Profile Contém toda informação relacionada a um endereço para um protocolo de transporte específico (host + porta). Profile <-> IOR. Representa o alvo de uma conexão. Ivan Bittencourt de A. e S. Neto ETF Listener, Connection e Factories Listener: Provê um “transport endpoint” que pode ser conectado a partir de um cliente (que possui um profile). Factories: usado pelo ORB para criar Listeners, Connections e Profiles. Connection: define uma interface entre o ORB e a camada de transporte. Ivan Bittencourt de A. e S. Neto Implementando tudo isso JacORB rodando sobre JXTA. Mas fica lento. O JXTA é lento mesmo. Afinal, ele é destinado a P2P, onde não respostas imediatas não são essenciais (ou possíveis). O que foi feito: configurado um rendezvous peer em comum. Ivan Bittencourt de A. e S. Neto Dificuldades Entender o funcionamento de dois projetos grandes ao mesmo tempo não é fácil – tudo parece absurdamente complexo. Falta de documentação. JXTA é bem diferente dos outros protocolos que eu conhecia. Ivan Bittencourt de A. e S. Neto É isso... Mais informações em: http://www.linux.ime.usp.br/~ivanneto/ mac499/ Perguntas? Ivan Bittencourt de A. e S. Neto Travessia de firewall/NAT Ivan Bittencourt de A. e S. Neto