Qual è il miglior ORB per l'interoperabilità Java / C ++ utilizzando CORBA?

StackOverflow https://stackoverflow.com/questions/439704

  •  22-07-2019
  •  | 
  •  

Domanda

Ho un'applicazione client-server scritta in Java usando CORBA per la comunicazione. L'ORB utilizzato è orbd, quello fornito dalla piattaforma Java6. Devo sostituire l'implementazione del server Java con un'altra scritta in C ++. Quindi la domanda è: delle implementazioni free source delle librerie CORBA, quale interoperare meglio con questo ORB? Devo sostituire l'ORB Java e utilizzare anche l'ORB fornito dalla libreria C ++?

L'obiettivo è avere una transizione semplice e regolare quando si sostituisce un server già funzionante con la nuova implementazione C ++. C'è qualcos'altro che dovrei prendere in considerazione?

È stato utile?

Soluzione

È da molto tempo che non utilizzo CORBA per l'interoperabilità Java e C ++, quindi forse la mia risposta sarà un po 'datata.

Quello che ho scoperto di lavorare molto bene insieme sono stati omniORB (C ++) e JacORB (Java). Puoi cercare quelle librerie su google e vedere se sono ancora supportate.

Ricordo anche di aver avuto grossi problemi con " native " Java CORBA (ci sono molti bug in Sun Bugs Parade, aperto da molti anni ...) ma era al momento JDK1.4, speriamo che le cose siano un po 'meglio ora ...

Altri suggerimenti

TAO è sicuramente l'ORB C ++ Open Source più utilizzato commercialmente. Funziona molto bene con JacORB come ORB Java, ma puoi usare anche l'ORB JDK. Se il software attualmente funziona con l'ORB JDK non c'è motivo per cui non funzionerebbe con TAO. Se si riscontrano problemi, è possibile inserire la sostituzione dell'ORB JDK con JacORB.

Oh e riguardo al post precedente l'ORB Java ZEN è morto e non è più sviluppato. Per Java dovresti usare JacORB se l'ORB JDK non è abbastanza buono per quello che fai.

Se hai bisogno di supporto commerciale è anche disponibile. Utilizziamo Remedy IT ( http://www.remedy.nl ) per le nostre esigenze di supporto (sia TAO che JacORB ).

Ho alcuni client Java che eseguono il push / pull di molti dati nei server C ++ scritti in Mico. Non avere mai problemi con loro.

Stiamo usando Visibroker anche per le sue funzioni di bilanciamento del carico, ma presto lo elimineremo.

C ++

Hai visto l'ORB ACE / TAO.
https://www.dre.vanderbilt.edu/~schmidt/TAO.html

ACE è fondamentalmente un livello di astrazione del sistema operativo.
E TAO è un ORB CORBA costruito sopra questa astrazione, quindi è multipiattaforma.

Java

La versione Java di TAO è ZEN:
http://www.zen.uci.edu/

Sebbene tecnicamente i tuoi ORB non debbano essere gli stessi. Finché conformi al protocollo / specifica CORBA devono essere interoperabili. Quindi, sebbene tu possa usare ZEN, è altrettanto facile usare JacORB.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top