Aide JMS / Broker / quelle différence

Aide JMS / Broker / quelle différence - Java - Programmation

Marsh Posté le 23-09-2013 à 16:25:10    

Salut à tous  :hello:  
 
j'ai un test d'embauche basique sur JMS dans 3 jours, je dois en savoir un maximum (on me laisse exprès 72h)  
je viens de commencer à lire ceci : http://www.jmdoudoux.fr/java/dej/chap-jms.htm
 
ou c'est écrit :  
 
JMS définit plusieurs entités :
 
    Un provider JMS : outil qui implémente l'API JMS pour échanger les messages : ce sont les brokers de messages
    Un client JMS : composant écrit en java qui utilise JMS pour émettre et/ou recevoir des messages.
 
je ne suis pas certain de bien faire la différence du coup, le provider c'est celui qui delivre le service c'est ça ? et le client c'est le bout de code qui envoie/reçois les msg ?
 
et le broker & provider JMS (c'est la même choses ou ya une subtilité ?
 
 
ps : je viens de lire plus bas :  
Les deux clients n'échangent pas directement des messages : un client envoi un message et le client destinataire doit demander la réception du message. Le transfert du message et sa persistance sont assurés par le broker.
 
ça sert donc à ça un broker/provider ? à faire le lien entre celui qui émet et celui qui consomme ?
si oui, ya combien de broker si 2 appli veulent communiquer par JMS ?
 
merci à ceux qui pourront m'aider  
 
 [:americas]


Message édité par Sndk le 23-09-2013 à 16:31:00

---------------
Mon topic - Mon Feed-Back
Reply

Marsh Posté le 23-09-2013 à 16:25:10   

Reply

Marsh Posté le 24-09-2013 à 07:32:05    

autre question : où est situé le broker, c'est un composant de JMS ou c'est un truc externe ?
la réponse ici j'imagine ?  --> http://www.sebastien-alves.fr/inde [...] -activemq/
je cite : JMS est une API Standart de Java(J2EE). Elle permet de fournir à Java une implémentation de MOM(Message oriented Middleware) ou intergiciel de communication par messages. Toutefois, pour pouvoir utiliser JMS, il faut disposer d’un implémentation externe à Java
 
 
et la queue elle est où ? dans le jndi du MOM c'est ça ?
si le point du dessus est bien le bon, la queue est dans cet applicatif j'imagine
 
je cherche un graphique qui découperait tout ça en composant que je puisse bien comprendre
 
 
est ce que ça fait <application> ---> <MOM> <---> <application> ( les <> étant la représentation physique d'un composant) ou bien
<application MOM> <----> <application>
 
je ne suis pas certain d'avoir tout bien saisi
 
merci de vos retours


Message édité par Sndk le 24-09-2013 à 07:52:40

---------------
Mon topic - Mon Feed-Back
Reply

Marsh Posté le 25-09-2013 à 18:49:32    

Le MOM sert à la communication des messages.
Supposons une appli expéditeur, une appli destinataire, et un mom (activeMq).
 
Avantages en vrac :
- asynchrone, l'expéditeur donne les messages au mom, le mom stocke les messages (dans les limites des capacités du serveur) jusqu'à ce que le destinataire les récupére
- sûr, le mom peut persister les messages sur disque et les efface quand ils ont été acquittés (on est sûr que le message a été délivré)
- l'expéditeur peut délivrer au mom même si le destinataire est arrêté.
- le destinataire peut lire les messages du mom même si l'expéditeur est arrêté.
 
Le top serait de te faire des petites applis de test pour te rendre compte, deux applis java dans Eclipse et un activeMq tournant pour la communication ... la montre est contre toi malheureusement.
 
Cette technologie est si efficace que certaines applis se servent de files JMS pour transmettre les données entre couches applicatives (parce que le MOM fait tampon et permet de lisser le traitement dans le temps, parce que les données sont sauvegardées si plante de l'appli...)
 
Bonne chance
 

Reply

Marsh Posté le 25-09-2013 à 19:42:13    

merci pour ta réponse, concernant le test pas besoin je comprends tout à fait, ce que j'avais du mal à comprendre en lisant les sites c'est est ce que c'était un programme livré avec JAVA ou pas, mais la réponse c'est non, il n'y a 'que' l'API et à toi de coder pour le relier à un broker qui fait tout ce que tu écris :)
 
je pense presque avoir tout compris
 
merci encore


---------------
Mon topic - Mon Feed-Back
Reply

Marsh Posté le 25-09-2013 à 21:50:26    

JMS c'est l'interface, la norme, et il y a plusieurs implémentations.
Attention, quand tu codes du côté des applis, tu utilises l'API du mom.
Exemple :
http://www.javablogging.com/simple [...] -activemq/
Donc quelques jars à embarquer dans les deux applis.
 

Reply

Marsh Posté le 25-09-2013 à 22:01:23    

willy le kid a écrit :

JMS c'est l'interface, la norme, et il y a plusieurs implémentations.
Attention, quand tu codes du côté des applis, tu utilises l'API du mom.
Exemple :
http://www.javablogging.com/simple [...] -activemq/
Donc quelques jars à embarquer dans les deux applis.
 


 
ici il dit que c'est une API en plus d'une norme, vrai ?  
 
http://www.jmdoudoux.fr/java/dej/chap-jms.htm
 
merci de ton retour


---------------
Mon topic - Mon Feed-Back
Reply

Marsh Posté le 25-09-2013 à 23:37:45    

ok vu sur d'autres site c'est bien une API (ouf !)


---------------
Mon topic - Mon Feed-Back
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed