J'essaie d'enrouler mon cerveau autour de JMS et ai lu sur quelques très utiles sources et examples. J'essaie maintenant de voir la «grande image» ici et de mettre toute la théorie derrière JMS dans un contexte pratique où les vraies technologies d'entreprise sont utilisées.Comment JMS se relie aux bus de service
Nous avons donc ici quatre éléments: (1) JMS - une API Java pour MOM, (2) ActiveMQ - l'une des nombreuses implémentations JMS, (3) EIP - une bête intrigante et mystérieuse je commence seulement à comprendre, et finalement, (4) Apache Camel, une implémentation open source de cette bête.
J'essaye maintenant de relier ces composants ensemble pour voir le JMS (et, en général, la messagerie de classe d'entreprise) dans l'action.
Je suppose que la première chose que je cherche est une définition simple et concise pour ce que sont les EIP. Ils semblent être un ensemble de modèles de conception pour la façon dont les MOM devraient se comporter, mais puisque je suis déjà flou sur le concept de la messagerie pour commencer, c'est juste une définition plus floue qui s'ajoute à une compréhension déjà floue de certains concepts assez hardcore. Même si je ne comprends pas ce que sont les EIP, je comprends que des frameworks tels que Camel, Mule et ServiceMix les implémentent et permettent aux composants côté serveur («points de terminaison») de se contacter efficacement.
Le plus important à cette question est ma compréhension de la façon dont ces quatre composants se rapportent les uns aux autres. Je pense que comprendre cela m'aidera à relier la plupart des points; Eh bien, les plus importants de toute façon.
donc dans le schéma ci-dessus, j'étiquetée les 6 relations possibles et de s'y référer ci-dessous:
- JMS: ActiveMQ - Je comprends ActiveMQ être une implémentation de JMS, tout comme Hibernate est une implémentation de JPA. Est-ce correct?
- ActiveMQ: Camel - Camel a la capacité de transmettre des messages à n'importe quelle implémentation JMS, telle qu'ActiveMQ. Dans ce cas, ActiveMQ est un point de terminaison camel. Correct?
- EIP: Camel - Camel est une implémentation de EIP. Comprendre ce que sont les EIP en premier lieu est également important pour ma compréhension de l'ensemble de cette configuration.
- EIP: JMS - Bien qu'il n'y ait peut-être pas de connexion directe entre ces deux éléments, il semble que la messagerie soit au cœur d'EIP et que JMS soit la base de Java pour la messagerie. Est-ce une évaluation juste?
- J'ai quitté les relations entre EIP: ActiveMQ et JMS: Camel au cas où il y aurait des «grands concepts» dont je devrais être conscient entre ces systèmes.
Toute aide pour mettre une définition simple à comprendre en EIP et pour comprendre comment tous ces composants sont liés les uns aux autres est grandement appréciée. Merci d'avance!
Génial, c'est clair et net. Merci Jake! – IAmYourFaja