Køer og emner er begge elementer i Java Message Service, en Java-mellomvareteknologi som kobler sammen programvarekomponenter og lar prosesser samhandle med hverandre. JMS-elementene – leverandør, klient, melding, kø, emne, abonnent og utgiver – jobber sammen for å gi pålitelig kommunikasjon mellom systemer innenfor et datanettverk, distribuere meldinger til riktig søkere. Kø og emne har likheter og forskjeller.
Meldingsmodeller
De to modellene for JMS-meldinger er publiser-og-abonner og punkt-til-punkt. Publiser-og-abonner, eller pub/sub, lar produsenten sende meldinger til mange brukere samtidig. Forbrukere kan abonnere på et bestemt emne, eller kanal, og motta alle meldinger innenfor det valgte emnet. Denne modellen er asynkron. Punkt-til-punkt, eller p2p, lar brukere sende meldinger både asynkront og synkront ved å bruke forskjellige kanaler kalt køer. Vanligvis, i p2p-modellen, ber en bruker om en melding som en produsent sender til køen, i stedet for å abonnere på en kanal og motta alle meldinger som sendes om et bestemt emne.
Dagens video
Emnekanal
Et JMS-emne er kanalen der brukere abonnerer på å motta spesifikke meldinger fra en produsent i publiser-og-abonner-modellen for JMS-meldinger. Modellen kan sammenlignes med å abonnere på en avis; for eksempel, hvis John Doe abonnerte på «The New York Times», ville han motta avisen hver dag fra avisutgiveren. Tilsvarende, hvis John Doe brukte JMS-meldinger for å abonnere på et bestemt emne, ville han motta alle sendte meldinger fra en produsent angående dette emnet.
Køsystem
En JMS-kø er en kanal der brukere "trekker" meldinger de ønsker å motta ved å bruke p2p-modellen, i stedet for automatisk å motta meldinger om et bestemt emne. Produsenten sender meldinger til køen, og mottakerne kan bla gjennom køen og bestemme hvilke meldinger de ønsker å motta. I p2p-modellen kan brukere se innholdet i meldingene som ligger i køen før de bestemmer seg for om de vil akseptere leveringen eller ikke.
Opprinnelig formål
JMS brukes på en rekke måter, men det ble laget spesielt for å tillate forskjellige applikasjoner å kommunisere med hverandre. Etter hvert som teknologien skrider frem og nye dataapplikasjoner opprettes, er et meldingssystem som kan koble sammen applikasjoner og tillate dem å fungere sammen, avgjørende. De to JMS-kommunikasjonsmodellene, pub/sub og p2p, tillater ulike applikasjoner å samhandle med hverandre enkelt og pålitelig.