Corba + Web

0 respostas
G

Bom, tenho q desenvolver uma aplicação distribuída usando Corba, sendo que o cliente é um Applet

Configurei um servidor apache para que clientes externos possam acessar o applet do servidor. Coloquei o applet no servidor
nos parametros do cliente applet


Além de configurar o jre pra segurança java.policy

grant codeBase "http://meuservidor/..." {
permission java.security.AllPermission;
permission java.lang.RuntimePermission "modifyThread";
permission java.lang.RuntimePermission "modifyThreadGroup";
};

Quando acesso pela rede interna, o appler carrega e executa normalmente
Entretando, ao tentar acessar de usuário na rede externa ele carrega mas nao aparece nda.

Perdao pela ignorancia, mas primeira vez que mexo com isso.
No servidor, eu executo:

Iniciar o serviço nomeado como segue:

tnameserv -ORBInitialPort 1050

Agora rodar o servidor:

java labServer -ORBInitialPort 1050 -ORBInitialHost ipServidor

Jah configurei porta de acesso e verifiquei pelo log q a conexao é estabelecida por um usuário externo.

Gostaria de sabe o q fazer, ou se tenho q instalar um servidor tipo Jboss pra gerenciar isso...
Não achei nenhum tutorial na net sobre isso. todos possuem mesmos exemplos de outros livros.. olhei tutorias da sun
dentro alguns outros derivados, e livros.

Acho que o problema ta com o init() do applet ou da classe servidor

public void init()
  {
    try{

      // Cria e inicializa ORB

      ORB orb = ORB.init(this, null);
      
      // localiza o servico de nomes
      org.omg.CORBA.Object obj =
                     orb.resolve_initial_references("NameService");
      // localiza o objeto destino
      NamingContext ncontext = NamingContextHelper.narrow(obj);
      NameComponent ncomp = new NameComponent("Labirinto", "");
      NameComponent path[] = {ncomp};
	org.omg.CORBA.Object remoteRef=nContext.resolve(path);

Servidor

...

    try {
      // inicializa o ORB
      org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,null);
      // cria o objeto
      labImpl labimpl = new labImpl();
      // registra no ORB
      orb.connect(labimpl);
      // Registra no servico de nomes
      org.omg.CORBA.Object obj = orb.resolve_initial_references("NameService");
      NamingContext ncontext = NamingContextHelper.narrow(obj);
      NameComponent ncomp = new NameComponent("Labirinto", "");
      NameComponent path[] = {ncomp};
      ncontext.rebind(path,labimpl);
...
Criado 14 de julho de 2008
Respostas 0
Participantes 1