Corba?

2 respostas
K

Olá pessoal do forúm.Bom tenho uma dúvida, para variar.

Quero fazer uma comparação entre RMI|CORBA sobre velocidade de transporte etc…porém já tenho um a aplicacao em JAVA pronta utilizando cliente/servidor em RMI.Para mim fazer essa mesma aplicacao em corba terei que aprender outra linguagem de programacao para implementar a mesma coisa, ou posso usar a mesma aplicacao com java, porém colocando algo mais para entender que é corba.Porque andei lendo que posso implementar corba em java.Queria fazer essa comparacao entre os dois RMI/corba.Obrigado. :oops:

2 Respostas

E

Olá,

Vc não irá precisar aprender outra linguagem de programação, claro vc terá que criar um arquivo IDL o qual será o acordo entre o cliente e o servidor, ou seja, é ali que vc vai dizer quais são os métodos que o servidor disponibilizará e quais são os métodos que o cliente poderá utilizar.

A linguagem utilizada nesta IDL é parecida com o C++…

Um ORB bão é o JacORB www.jacorb.com

[ ]'s
Emerson

claudio

Ola amigos,

bom cara, ja te adianto que corba eh uma carroca perto de rmi puro! Digo rmi puro porque vc pode usar um cliente rmi pra falar com corba, depende dos stubs que vc gerar!

O rmic tem um parametro que eh -idl que ja vai gerar o idl pro corba, depois vc compila o idl com o idlj para gerar as classes corba!

Bao, eh que a coisa toda eh assim:

Todos ja ouviram dizer que corba eh independente de sistema operacional e de linguagem de programacao, logo vc pode fazer um cliente java Corba para um servidor Corbal Cobol.

Parece meio louco mas eh possivel!

Como tudo isso funciona eh muito simples, existe um cara que se chama ORB (Object Request Broker), e ele faz o meio de caminho entre a determinada arquitetura da linguagem de programacao e o corba!

O jdk ja vem com um ORB eh soh vc executar tsnames e pronto, o servico ja esta no ar, outro bem conhecido td eh o Visisbroker da borland!

O protocolo usado para conectar os orb eh o iiop (internet inter-ORB protocol) o mesmo usado pelos ejbs, possibilitando uma integracao de ejbs com Corba.

Esses seriam os passos para se criar uma app Corba

1. Definir as interface dos objetos usando IDL.
2. Compilar o IDL e gerar o sources java
3. Escrever os Objetos remotos (servantes)
4. Escrever o codigo do servidor
5. Escrever o codigo do cliente
6. Colocar os arquivos nos diretorios corretos e rodar a app

aqui um exemplo de idl:
module corbafun {
      struct Message {
             string name;
             string greeting;
       };
      
       interface GoodDay {
             Message sayHello(in string name, out string greeting);
       };
 };

Agora uma curiosidade, quando vc se conecta a um j2ee server e faz lookup por um objeto, em seguida vc faz um narrow, e sabe porque? Isso eh feito para que vc possa manter a compatibilidade com corba. Facam um teste, apenas facam o cast, nao facam narrow, e vcs verao que ainda ira funcionar! Isso aconte porque o objeto na outra ponta tb eh java! Se no lookup vc recebe um objeto Corba vc teria que fazer o narrow!

Eu costumo chamar o narrow de cast de arquitetura! :)

Esse assunto eh um pouco complicado para estar aqui no java basico, na boa se vc precisa dessa solucao comercialmente faca o curso SL-301 da sun onde vc ve tudo isso, esse curso eh show, e vale a grana nele!

Abraco,

Criado 9 de março de 2003
Ultima resposta 16 de mai. de 2003
Respostas 2
Participantes 3