A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Implementação Do JXTA Como Protocolo De Transporte Do JacORB

Apresentações semelhantes


Apresentação em tema: "Implementação Do JXTA Como Protocolo De Transporte Do JacORB"— Transcrição da apresentação:

1 Implementação Do JXTA Como Protocolo De Transporte Do JacORB
JacORB Sobre JXTA Implementação Do JXTA Como Protocolo De Transporte Do JacORB Ivan Bittencourt de A. e S. Neto

2 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. A idéia do JXTA é que ele seja independente de linguagens de programação, sistemas operacionais, tipo de rede, etc. Enfim, ele deve rodar em ambientes bastante heterogêneos (qualquer dispositivo pode ser um peer JXTA). Principal proposta do JXTA: * Encontrar peers e recursos na rede mesmo que estes estejam atrás de firewalls. E ele faz isso muito bem! Ivan Bittencourt de A. e S. Neto

3 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

4 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

5 Ivan Bittencourt de A. e S. Neto
Interfaces da ETF Connection Profile Listener Factories Handle (o JacORB já implementa) Como o JacORB implementa a interface Handle eu não sei muito sobre ela. Posso dizer que serve para se comunicar com o ORB (passagem de objetos Connection). Ivan Bittencourt de A. e S. Neto

6 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. A classe profile possui métodos para transformar um Profile em uma IOR e vice-versa. O objetivo é que com um profile na mão você sabe tudo o que precisa pra se comunicar com um objeto remoto. Ivan Bittencourt de A. e S. Neto

7 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. O Listener deve aceitar conexoes simultaneas (uma thread e disparada para tratar cada requisicao que chega). A Factories é uma fábrica (design pattern) – meio óbvio. É na connection que estão métodos como read, write, flush, etc. O ORB chama esses métodos. Ivan Bittencourt de A. e S. Neto

8 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. Para estabelecer uma primeira conexão a espera chegava a alguns minutos. Isso é inaceitável para várias aplicações. Ivan Bittencourt de A. e S. Neto

9 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. No começo eu ficava totalmente perdido. Não sabia direito nem por onde começar. Lia os documentos várias vezes e não entendia praticamente nada. O código fonte do JacORB não possui nenhum comentário. A biblioteca do IME não tem nenhum livro sobre JXTA. Peguei uns livros na net, mas não encontrei nenhum realmente bom. O JXTA não usa os conceitos de host e porta, e faz umas coisas meio “mágicas”. Ivan Bittencourt de A. e S. Neto

10 Ivan Bittencourt de A. e S. Neto
É isso... Mais informações em: Perguntas? Lá da pra baixar o meu “plug-in”, ver instruções de instalação e gráficos de desempenho (comparados com o IIOP). Ivan Bittencourt de A. e S. Neto

11 Travessia de firewall/NAT
Ivan Bittencourt de A. e S. Neto


Carregar ppt "Implementação Do JXTA Como Protocolo De Transporte Do JacORB"

Apresentações semelhantes


Anúncios Google