Newsgroup: it.comp.java
Titolo: IPC tra Java e C++

Un saluto a tutto il NG.
Pochi giorni fa ho proposto una domanda riguardo la possibilita' di
utilizzare un oggetto COM all'interno di un applicativo Java; mi e' stato
risposto di utilizzare un apposito "bridge" sviluppato per tale scopo.
Vorrei approfondire l'argomento cercando di capire come, piu' in generale,
possa avvenire la comunicazione fra due processi (IPC) sviluppati con
linguaggi (ed ambienti di sviluppo) diversi (Java e C++ appunto) su
piattaforma Windows o Linux.
Utilizzo di socket?
IPC tramite un contenitore intermedio (un database ad esempio)?
Grazie in anticipo.
Massimiliano

Sulla stessa macchina ti consiglio vivamente la socket UDP, e anche su
macchine
diverse poste sulla stessa sottorete, se la sottorete e' costruita
decentemente, non
come una sottorete che ho visto in cui su una Ethernet a bus, SU UN UNICO
SPEZZONE, erano collegate 100 macchine.
Su altre situazioni socket TCP, e se c'e' la disponibilita' di qualche lira
suggerirei un
sw di messaggistica, piuttosto che doverti scrivere tu tutto quel che serve
per una
comunicazione 'seria'.
Lascia perder il motore di DB per i seguenti motivi:
1) licenza da pagare per una cosa che sarebbe enormemente sottoutilizzata
2) non tutti i db consentono l'uso eventi notificati ai client. Oracle lo fa,
puoi meterti in
    attesa di un evento e rimani bloccato li fino a quando l dbnon ti fa la
signal, ma non
    mi risulta che lo faccia Access o SQL Server (se lo fa ditemelo che
potebbe servirmi!!)
3) se vale il 2) che fai, piazzi il tuo programma a fare un ciclo infinito di
select fino a quando
    non cambia qualcosa?
hope this helps
Carlo
Massimiliano Pontarollo wrote:

--
"Science is like sex: sometimes something useful comes out,
                      but that is not the reason we are doing it"
                                                -- Richard Feynman

IPC tramite un contenitore intermedio (un database ad esempio)?
Se la cosa non e' complessa, socket - che nascono proprio per IPC su Unix.
Se ti serve un livello di astrazione maggiore, CORBA (o, lato java, RMI-IIOP).
-- 
God is Real, unless declared Integer.
ObjectZone - 
http://space.tin.it/computer/csadun

 wrote in message
news:8FEB7C11Dc...@194.19.1.61...


Sarebbe interessante un rapporto di quello che stai facendo.
Anche io sto sviluppando una cosa simile (C++/OS2-->Java/Unix) E vorrei
sapere come funziona questo Jini.
Ora come ora sto implementando una comunicazione con le socket, ma devo
protocollare la comunicazione, devo fare delle prove, insomma una rottura!
Giuseppe
PS ho letto in un post il consiglio ti utilizzare una socket UDP...come si
apre con Java? Io utilizzo ServerSocket, ma la apro utlilizzando TCP...
Massimiliano Pontarollo <pmas...@REMOVElibero.it> wrote in message
8up7c8$les$1...@fe2.cs.interbusiness.it...


 sapere come funziona questo Jini.
Okkio.
Non ho scritto
Jini
ma bensi'
JNI
ossia
Java Native Interface
Sul sito della SUN trovi parecchia doc a riguardo; guarda questo
http://developer.java.sun.com/developer/onlineTraining/Programming/JDCBook/j
niexamp.html
Ciao
Max

 Mi sto riferendo a JNI.
quanto e` portabile il codice java cosi` sviluppato?
voglio dire: se sei sicuro di non dover mai lasciare la piattaforma win
e` ok.
-- 
Ciao,  |  I play Russian roulette everyday, a man's sport,
Matteo |  With a bullet called life, yeah called life, (SUGAR)


Poco.
Ma avendo a disposizione una tecnica per accedere ad un oggetto su una
macchina Windows, una DLL ad esempio, posso facilmente costruire un
oggettino Java che mi faccia da interfaccia con questa DLL per gli altri
processi Java presenti in rete.
Se hai qualche altra alternativa ... posta pure.
Max

 
il metodo da te esposto e` sicuramente il piu` semplice da realizzare e
"non ho nulla in contrario", anche se l'idea di Cristiano, di usare
cioe` CORBA/IIOP, mi sembra piu` interessante (si parla in generale
ovvio, non del caso specifico che solo tu puoi valutare).
