Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

échanger des données entre process en java

11 réponses
Avatar
gg
Bonjour,

J'ai besoin d'échanger des données entre plusieurs process java. Quelle
méthode (ou pattern) utilise t-on généralement pour ce genre de besoin ?

Merci,

gg

10 réponses

1 2
Avatar
Alain
plein de solutions selon ce que tu veut échanger et comment (des
données, des commandes, synchrone ou asynchrone, rare ou fréquent)

-on peut utiliser un middleware orienté appel de méthodes, genre RMI,
SOAP, CORBA, ou même des vieux RPC type ONC/Sun RPC ou DCE/DCOM/ActiveX
-ont peut échanger des données via SGBD, soit en stockage relationnel
(mapping JDBC ou mapping objet-relationel hibernate), soit en stockage
objet (sérialisation java) ou même XML sur BLOB (mode document XML, ou
mapping objet-xml JAXB/castor)
- on peut échanger par des fichiers, format texte ou XML (mode document
ou mapping objet-xml)
- on peut même travailler avec des protocoles bas niveau genre TCP/UDP
et des messages, textes (type telnet/smtp/nntp...) plat, ou binaire
(ASN1, XDR...), ou XML,
- ou travailler avec des protocoles applicatifs détournés comme HTTP, ou
SMTP
- ou travailler avec des protocoles d'échange de message (compatble JMS
ou pas), comme MQSeries (commercial) ou jbossMQ (opensource)

plein de raisons peuvent orienter vers une solution ou l'autre


la question que tu pose est une branche entière de l'informatique...
choisir la stratégie de choix de méthode d'échange dans une entreprise
est un des boulot de l'architecte et de l'urbaniste... l'autre est
d'organiser les plans de masse des applications et les connexions...


Bonjour,

J'ai besoin d'échanger des données entre plusieurs process java. Quelle
méthode (ou pattern) utilise t-on généralement pour ce genre de besoin ?

Merci,

gg




Avatar
Johann Burkard
gg wrote:
J'ai besoin d'échanger des données entre plusieurs process java. Quelle
méthode (ou pattern) utilise t-on généralement pour ce genre de besoin ?


Pouquoi pas utiliser RMI? C'est facile and rapide.

Johann
--
Ich untersage Dir hiermit, mich in Deinen Postings zu zitieren. Sei es
als Signatur oder sonstwas. Es unterbleibt. Punkt.
(Detlef Bosau in <news:f1so3t$15d9$)

Avatar
gg
"Johann Burkard" a écrit dans le message de news:
467aa07b$0$6393$
gg wrote:
J'ai besoin d'échanger des données entre plusieurs process java. Quelle
méthode (ou pattern) utilise t-on généralement pour ce genre de besoin ?


Pouquoi pas utiliser RMI? C'est facile and rapide.

Johann
--
Ich untersage Dir hiermit, mich in Deinen Postings zu zitieren. Sei es
als Signatur oder sonstwas. Es unterbleibt. Punkt.
(Detlef Bosau in <news:f1so3t$15d9$)


Oui c'est vrai. Mais le protocole est trop dépendant de java.

gg


Avatar
Cenekemoi
"Johann Burkard" a écrit dans le message de
news: 467aa07b$0$6393$
gg wrote:
J'ai besoin d'échanger des données entre plusieurs process java.
Quelle méthode (ou pattern) utilise t-on généralement pour ce genre
de besoin ?


Pouquoi pas utiliser RMI? C'est facile and rapide.

Johann
--
Ich untersage Dir hiermit, mich in Deinen Postings zu zitieren. Sei
es als Signatur oder sonstwas. Es unterbleibt. Punkt.
(Detlef Bosau in <news:f1so3t$15d9$)


Oui c'est vrai. Mais le protocole est trop dépendant de java.

gg


Dans ce cas, tu pourrais te faire des "mini-webServices" ; je m'explique
:

* protocole HTTP: l'avantage est qu'il n'ya pas de problème de firewall
et très simple à implémenter
* langage: sous forme de question / réponse en XML (permet de s'ouvrir
un peu au monde extérieur)

--
Cordialement, Thierry ;-)



Avatar
gg
merci bien pour cette réponse.
J'opterai personnellement pour quelque chose qui soit le moins dépendant
possible de Java, et qui soit quand même standardisé.
Concernant l'échange de messages XML, quels seraient les frameworks
existants et faciles à utiliser ?

merci,
gg


"Alain" a écrit dans le message de news:
467a4a61$0$25910$


plein de solutions selon ce que tu veut échanger et comment (des données,
des commandes, synchrone ou asynchrone, rare ou fréquent)

-on peut utiliser un middleware orienté appel de méthodes, genre RMI,
SOAP, CORBA, ou même des vieux RPC type ONC/Sun RPC ou DCE/DCOM/ActiveX
-ont peut échanger des données via SGBD, soit en stockage relationnel
(mapping JDBC ou mapping objet-relationel hibernate), soit en stockage
objet (sérialisation java) ou même XML sur BLOB (mode document XML, ou
mapping objet-xml JAXB/castor)
- on peut échanger par des fichiers, format texte ou XML (mode document ou
mapping objet-xml)
- on peut même travailler avec des protocoles bas niveau genre TCP/UDP et
des messages, textes (type telnet/smtp/nntp...) plat, ou binaire (ASN1,
XDR...), ou XML,
- ou travailler avec des protocoles applicatifs détournés comme HTTP, ou
SMTP
- ou travailler avec des protocoles d'échange de message (compatble JMS ou
pas), comme MQSeries (commercial) ou jbossMQ (opensource)

plein de raisons peuvent orienter vers une solution ou l'autre


la question que tu pose est une branche entière de l'informatique...
choisir la stratégie de choix de méthode d'échange dans une entreprise est
un des boulot de l'architecte et de l'urbaniste... l'autre est d'organiser
les plans de masse des applications et les connexions...


Bonjour,

J'ai besoin d'échanger des données entre plusieurs process java. Quelle
méthode (ou pattern) utilise t-on généralement pour ce genre de besoin ?

Merci,

gg




Avatar
gg
"Cenekemoi" a écrit dans le message de news:
467be3b1$0$24247$
"Johann Burkard" a écrit dans le message de
news: 467aa07b$0$6393$
gg wrote:
J'ai besoin d'échanger des données entre plusieurs process java.
Quelle méthode (ou pattern) utilise t-on généralement pour ce genre
de besoin ?


Pouquoi pas utiliser RMI? C'est facile and rapide.

Johann
--
Ich untersage Dir hiermit, mich in Deinen Postings zu zitieren. Sei
es als Signatur oder sonstwas. Es unterbleibt. Punkt.
(Detlef Bosau in <news:f1so3t$15d9$)


Oui c'est vrai. Mais le protocole est trop dépendant de java.

gg


Dans ce cas, tu pourrais te faire des "mini-webServices" ; je m'explique :

* protocole HTTP: l'avantage est qu'il n'ya pas de problème de firewall et
très simple à implémenter
* langage: sous forme de question / réponse en XML (permet de s'ouvrir un
peu au monde extérieur)

--
Cordialement, Thierry ;-)


Oui cela peut être une bonne solution.
Seulement y'a -t-il un framework qui éviterait de tout reprogrammer ?

D'autre part, connaissez-vous un framework pour transmettre des messages SIP
?

merci,
gg




Avatar
TestMan
"Cenekemoi" a écrit dans le message de news:
467be3b1$0$24247$
"Johann Burkard" a écrit dans le message de
news: 467aa07b$0$6393$
gg wrote:
J'ai besoin d'échanger des données entre plusieurs process java.
Quelle méthode (ou pattern) utilise t-on généralement pour ce genre
de besoin ?
Pouquoi pas utiliser RMI? C'est facile and rapide.


Johann
--
Ich untersage Dir hiermit, mich in Deinen Postings zu zitieren. Sei
es als Signatur oder sonstwas. Es unterbleibt. Punkt.
(Detlef Bosau in <news:f1so3t$15d9$)
Oui c'est vrai. Mais le protocole est trop dépendant de java.


gg
Dans ce cas, tu pourrais te faire des "mini-webServices" ; je m'explique :


* protocole HTTP: l'avantage est qu'il n'ya pas de problème de firewall et
très simple à implémenter
* langage: sous forme de question / réponse en XML (permet de s'ouvrir un
peu au monde extérieur)

--
Cordialement, Thierry ;-)


Oui cela peut être une bonne solution.
Seulement y'a -t-il un framework qui éviterait de tout reprogrammer ?

D'autre part, connaissez-vous un framework pour transmettre des messages SIP
?

merci,
gg
Bonjour,


En premier, je ne vois pas en quoi RMI-IIOP est spécifique à Java ...
mais bon, si tu préfères les services web, alors regarde JAX-WS, c'est
super simple :

http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/
http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2_pt2/

Pour ce qui est du SIP, tout dépend des tes besoins, on trouve du tout,
de la solution complète style Sip comminucator, en passant par les
librairies JAIN ... bref tout depend du besoin.

A+
TM





Avatar
Jocelyn LECOMTE
Ah bon, RMI n'est pas spécifique à Java ?
Tu peux développer, parce que je croyais le contraire moi !
Merci d'avance.

En premier, je ne vois pas en quoi RMI-IIOP est spécifique à Java ...


Avatar
TestMan
Ah bon, RMI n'est pas spécifique à Java ?
Tu peux développer, parce que je croyais le contraire moi !
Merci d'avance.

En premier, je ne vois pas en quoi RMI-IIOP est spécifique à Java ...



Bonjour,

En gros, RMI peut utiliser plusieurs technologies de support.

La première est JRMP, qui dispose de ses propres avantages (par exemple
le ramasse miette distribué) mais est effectivement spécifique à Java.
En clair, pas de possibilité d'interraction directe depuis une autre
techno sauf à passer par une VM embarquée.

La seconde utilise IIOP le protocole de communication de Corba. Ici,
rien n'est spécifique Java, des objets créés en Java peuvent être
appelés depuis n'importe quel couple technologie/language (c'est le but
de corba non ?).

http://java.sun.com/javase/6/docs/technotes/guides/rmi-iiop/

Si tu as besoin de performance et de fiabilité et de multilangage, c'est
un trés bon candidat.

Si tu n'as pas besoin de performance de folie, ni de fiabilité tip top,
alors tu peux te rabatre sur des services web :

http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/

Bon code ...

A+
TM


Avatar
gg
"TestMan" a écrit dans le message de news:
467f7a8e$0$27144$
Ah bon, RMI n'est pas spécifique à Java ?
Tu peux développer, parce que je croyais le contraire moi !
Merci d'avance.

En premier, je ne vois pas en quoi RMI-IIOP est spécifique à Java ...



Bonjour,

En gros, RMI peut utiliser plusieurs technologies de support.

La première est JRMP, qui dispose de ses propres avantages (par exemple le
ramasse miette distribué) mais est effectivement spécifique à Java. En
clair, pas de possibilité d'interraction directe depuis une autre techno
sauf à passer par une VM embarquée.

La seconde utilise IIOP le protocole de communication de Corba. Ici, rien
n'est spécifique Java, des objets créés en Java peuvent être appelés
depuis n'importe quel couple technologie/language (c'est le but de corba
non ?).

http://java.sun.com/javase/6/docs/technotes/guides/rmi-iiop/

Si tu as besoin de performance et de fiabilité et de multilangage, c'est
un trés bon candidat.

Si tu n'as pas besoin de performance de folie, ni de fiabilité tip top,
alors tu peux te rabatre sur des services web :

http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/

Bon code ...

A+
TM


Merci Testman pour tes explications.
Effectivement Corba peut être intéressant dans cette optique, mais on ne
m'en a pas dit du bien pour ce qui est de sa facilité d'utilisation (du
moins pour les autres langages). Peut-être vas-tu me remettre à ma place.
En tous les cas, vu je n'ai effectivement pas besoin de performances de
folies, je pense que je vais me rabattre sur de la techo web.

gg



1 2