Pergunta

Tenho uma aplicação cliente-servidor escrito em Java usando CORBA para a comunicação. O ORB utilizado é orbd, aquele fornecido pela plataforma Java6. Eu tenho que substituir a implementação de servidor Java com outro escrito em C ++. Então a questão é, das implementações livres de bibliotecas CORBA, que uma melhor interopera com este ORB? Devo substituir o Java ORB e também usar o ORB fornecido pela biblioteca C ++?

O objetivo é ter um fácil e suave transição ao substituir um servidor já em funcionamento com a nova aplicação C ++. Há mais alguma coisa que eu deveria ter em conta?

Foi útil?

Solução

É um longo tempo eu não utilizar CORBA para Java e C ++ interoperabilidade, talvez por isso a minha resposta vai ser um pouco desatualizado.

O que eu encontrei para trabalhar muito bem juntos foi omniORB (C ++) e JacORB (Java). Você pode buscar por essas bibliotecas no google e ver se eles ainda são suportadas.

Também me lembro, tive grandes problemas com "nativo" Java CORBA (há muitos erros no Sun erros Parade, aberto por muitos anos ...) mas isso foi no tempo JDK1.4, espero que as coisas são um pouco melhor agora ...

Outras dicas

TAO é definitivamente o Open Source C ++ ORB usou mais comercialmente. Ele funciona muito bem com JacORB como Java ORB, mas você pode usar o JDK ORB também. Se o software atualmente trabalha com o JDK ORB não há nenhuma razão pela qual não iria trabalhar com TAO. Se você encontrar quaisquer problemas que você pode cair em substituir o JDK ORB com JacORB.

Oh e sobre o post anterior o ZEN Java ORB está morto e não é mais desenvolvido. Para Java você deve usar JacORB se o JDK ORB não é bom o suficiente para o que você faz.

Se você precisar de suporte comercial está disponível também. Usamos Remedy IT ( http://www.remedy.nl ) para as nossas necessidades de apoio (tanto TAO e JacORB ).

Eu tenho alguns clientes Java que empurrar / puxar um monte de dados em servidores C ++ que são escritos em Mico. Nunca temos quaisquer problemas com eles.

Estamos usando Visibroker, bem como para suas características balanceamento de carga, mas vai ser se livrar do que em breve.

C ++

Você já olhou para o TAO ORB ACE /.
https://www.dre.vanderbilt.edu/~schmidt/TAO.html

ACE é basicamente uma camada OS abstração.
E TAO é uma compilação CORBA ORB on-top dessa abstração assim é multiplataforma.

Java

A versão Java do TAO é ZEN:
http://www.zen.uci.edu/

Apesar de tecnicamente seus ORBs não precisa ser o mesmo. Enquanto a estar de acordo com o CORBA protocolo / especificação que deve ser interoperável. Assim, embora você pode usar ZEN é tão fácil de usar JacORB.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top