คิวและหัวข้อเป็นทั้งองค์ประกอบของ Java Message Service ซึ่งเป็นเทคโนโลยีมิดเดิลแวร์ Java ที่เชื่อมต่อส่วนประกอบซอฟต์แวร์และอนุญาตให้กระบวนการโต้ตอบซึ่งกันและกัน องค์ประกอบ JMS -- ผู้ให้บริการ ลูกค้า ข้อความ คิว หัวข้อ ผู้สมัครสมาชิกและผู้เผยแพร่ -- ทำงานร่วมกันเพื่อ จัดให้มีการสื่อสารที่เชื่อถือได้ระหว่างระบบภายในเครือข่ายคอมพิวเตอร์ กระจายข้อความไปยังผู้ที่เหมาะสม ผู้สมัคร คิวและหัวข้อมีความเหมือนและแตกต่าง
โมเดลการส่งข้อความ
โมเดลสองแบบสำหรับการส่งข้อความ JMS คือการเผยแพร่และสมัครรับข้อมูลและแบบจุดต่อจุด เผยแพร่และสมัครรับข้อมูล หรือ pub/sub ช่วยให้ผู้ผลิตสามารถส่งข้อความไปยังผู้ใช้จำนวนมากได้พร้อมกัน ผู้บริโภคสามารถสมัครรับข่าวสารเฉพาะหัวข้อหรือช่อง และรับข้อความทั้งหมดภายในหัวข้อที่เลือก โมเดลนี้เป็นแบบอะซิงโครนัส แบบจุดต่อจุดหรือ p2p อนุญาตให้ผู้ใช้ส่งข้อความทั้งแบบอะซิงโครนัสและแบบซิงโครนัสโดยใช้ช่องทางต่างๆ ที่เรียกว่าคิว โดยปกติ ในโมเดล p2p ผู้ใช้ร้องขอข้อความที่ผู้ผลิตส่งไปยังคิว แทนที่จะสมัครรับข้อมูลจากช่องและรับข้อความทั้งหมดที่ส่งในหัวข้อเฉพาะ
วิดีโอประจำวันนี้
หัวข้อช่อง
หัวข้อ JMS คือช่องทางที่ผู้ใช้สมัครรับข้อความเฉพาะจากผู้ผลิตในรูปแบบการเผยแพร่และสมัครรับข้อความ JMS โมเดลนี้เปรียบได้กับการสมัครรับข่าวสารจากหนังสือพิมพ์ ตัวอย่างเช่น ถ้า John Doe สมัครรับข้อมูลจาก "The New York Times" เขาจะได้รับหนังสือพิมพ์ทุกวันจากผู้จัดพิมพ์หนังสือพิมพ์ ในทำนองเดียวกัน หาก John Doe ใช้การส่งข้อความ JMS เพื่อสมัครรับข้อมูลหัวข้อใดหัวข้อหนึ่ง เขาจะได้รับข้อความที่ส่งทั้งหมดจากผู้ผลิตเกี่ยวกับหัวข้อนั้น
ระบบคิว
คิว JMS เป็นช่องทางที่ผู้ใช้ "ดึง" ข้อความที่ต้องการรับโดยใช้โมเดล p2p แทนที่จะรับข้อความในหัวข้อเฉพาะโดยอัตโนมัติ ผู้ผลิตส่งข้อความไปยังคิว และผู้รับสามารถเรียกดูคิวและตัดสินใจว่าต้องการรับข้อความใด ในโมเดล p2p ผู้ใช้สามารถดูเนื้อหาของข้อความที่อยู่ในคิวก่อนตัดสินใจว่าจะยอมรับการส่งหรือไม่
วัตถุประสงค์เดิม
JMS ใช้ในหลากหลายวิธี แต่ถูกสร้างขึ้นโดยเฉพาะเพื่อให้แอปพลิเคชันต่างๆ สามารถสื่อสารกันได้ เนื่องจากความก้าวหน้าทางเทคโนโลยีและแอปพลิเคชันคอมพิวเตอร์ใหม่ถูกสร้างขึ้น ระบบการส่งข้อความที่สามารถเชื่อมต่อแอปพลิเคชันและอนุญาตให้ทำงานร่วมกันได้จึงเป็นสิ่งจำเป็น โมเดลการสื่อสาร JMS ทั้งสองแบบคือ pub/sub และ p2p อนุญาตให้แอปพลิเคชันต่างๆ โต้ตอบกันได้อย่างง่ายดายและเชื่อถือได้