Pessoal estou com um problema em um projeto.
* Tenho aqui uma aplicacao rodando sobre objetos distribuidos RMI e JDBC .
O cliente necessita de acesso Internet, ou seja, uma aplicacao foi
convertida em applet (grande carga de dados). Para dificultar ainda mais, e
necessario o JVM Plugin da Sun, o que sobrecarrega o sistema local do
usuario. Do lado objeto remoto/servidor, temos a Intranet iniciando com um
firewall (200.251.XXX.XXX), um proxy aparentemente passivo e sem uso, e o
servidor IIS com um Oracle Client + JDBCDrivers (10.32.13.228) que tambem
mantem as aplicacoes Java para os clientes Intra+Internet.
No lado do firewall, as definicoes foram feitas da seguinte forma:
* host: maximo, com address>10.32.13.228
* http1099 e um protocolo criado com destination port = 1099 e protocol
base
= TCP
* #48 redirected service, criada para redirecionar requests ao endereco
200.251.136.206 para 10.32.13.228 em relacao a porta 1099 e #49 redirected
service, seguindo o mesmo redirecionamento anterior porem para a porta 80.
* gen. services: httpmaximo1099 foi criado com redirect req. para
10.32.13.228 e porta 1099
* rules: foi criada como source>Universe para host Maximo e incluindo
servicos httpmaximo1099 e http convencional
Agora, no lado do "servidor" RMI temos:
* rmiregistry rodando em 1099 sem classpath e com diretivas tais como :
* Djava.rmi.server.codebase=http://10.32.13.228/server/ e tambem
java.rmi.server.hostname=http://200.251.136.206/
Ainda do lado do servidor, a implementacao da classe remota conta com a
principal instrucao Naming.rebind("//200.251.136.206/JDBCServer",new
JDBCAdapter_bridge_impl). Para quem conhece, sabe o que ela faz... Ela
ainda implementa todas os metodos definidos em remote.
O problema: ele sempre diz a mesma mensagem "Connection
refused(200.251.136.206:XXXX)", onde XXXX e uma porta utilizada
aleatoriamente como "in". Mesmo havendo a definicao em TODAS as diretivas
de URLS para a porta 1099, ele nao consegue resolver o endereco da porta.
Talvez nao consiga resolver a rota ate o servidor.
Gostaria de saber que tipo de protocolos um socket RMI utiliza para que ele
nao seja filtrado, para ser liberado no firewall... pelo SystemArchiteture
do 1.1.8, percebi que ele usa algumas mensagens como Ping (remote VM
liveness), Call e Dgcack. Mas parece q pelo firewall, existe mais alguma
imposicao, ele nao retransmite, simplesmente os dados... mas manipula-os (e
talvez de aos pacotes ate novos overheads, talvez do ip localloop do
firewall).
Gostaria de melhorar tambem a performance para o lado cliente, que e
pessima, por nao utilizar html, xml... mas, pelo contrario, toda a
aplicacao, praticamente, vai para a maquina cliente (foi a empresa que
desejava assim).
Obrigado
=====================================================
MIPS Sistemas Ltda
=====================================================
Rogerio MINORU Mayeta (linux user #99200)
Gerente Fabrica de Software
=====================================================
www.mips-sistemas.com.br [EMAIL PROTECTED]
Phone: +55 11 574-8686 Fax: +55 11
573-5286
=====================================================
--------------------------- LISTA SOUJAVA ---------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
[dúvidas mais comuns: http://www.soujava.org.br/faq.htm]
[para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
---------------------------------------------------------------------