Pregunta

Tengo una aplicación cliente-servidor escrita en Java usando CORBA para la comunicación. El ORB utilizado es orbd, el proporcionado por la plataforma Java6. Tengo que reemplazar la implementación del servidor Java con otra escrita en C ++. Entonces, la pregunta es, de las implementaciones de fuente libre de las bibliotecas CORBA, ¿cuál interactúa mejor con este ORB? ¿Debo reemplazar el ORB de Java y también usar el ORB proporcionado por la biblioteca C ++?

El objetivo es tener una transición fácil y sin problemas al reemplazar un servidor que ya funciona con la nueva implementación de C ++. ¿Hay algo más que deba tener en cuenta?

¿Fue útil?

Solución

Hace mucho tiempo que no usaba CORBA para la interoperabilidad de Java y C ++, por lo que tal vez mi respuesta esté un poco desactualizada.

Lo que encontré para trabajar muy bien juntos fue omniORB (C ++) y JacORB (Java). Puede buscar esas bibliotecas en Google y ver si aún son compatibles.

También recuerdo que he tenido grandes problemas con '' nativo '' Java CORBA (hay muchos errores en Sun Bugs Parade, abierto durante muchos años ...) pero eso fue en el momento JDK1.4, espero que las cosas estén un poco mejor ahora ...

Otros consejos

TAO es definitivamente el ORB C ++ de código abierto más utilizado comercialmente. Funciona muy bien con JacORB como un ORB de Java, pero también puede usar el ORB de JDK. Si el software actualmente funciona con JDK ORB, no hay razón para que no funcione con TAO. Si encuentra algún problema, puede colocarlo y reemplazar el ORD JDK con JacORB.

Ah, y sobre la publicación anterior, el ZEN Java ORB está muerto y ya no está desarrollado. Para Java, debe usar JacORB si JDK ORB no es lo suficientemente bueno para lo que hace.

Si necesita soporte comercial, también está disponible. Utilizamos Remedy IT ( http://www.remedy.nl ) para nuestras necesidades de soporte (TAO y JacORB ).

Tengo algunos clientes Java que empujan / extraen una gran cantidad de datos en servidores C ++ que están escritos en Mico. Nunca tenga problemas con ellos.

También estamos usando Visibroker por sus características de equilibrio de carga, pero pronto nos libraremos de eso.

C ++

¿Has mirado el ACE / TAO ORB.
https://www.dre.vanderbilt.edu/~schmidt/TAO.html

ACE es básicamente una capa de abstracción del sistema operativo.
Y TAO es una construcción CORBA ORB sobre esta abstracción, por lo que es multiplataforma.

Java

La versión Java de TAO es ZEN:
http://www.zen.uci.edu/

Aunque técnicamente sus ORBs no necesitan ser iguales. Siempre que se ajusten al protocolo / especificación CORBA, deben ser interoperables. Entonces, aunque puede usar ZEN, es tan fácil de usar JacORB.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top