Jakarta Messaging - Jakarta Messaging

Jakarta Messaging API (ent Java Message Service tai JMS API) on Java Application Programming Interface (API) ja sanoma-välitykseen . Se tarjoaa yleisiä viestintämalleja, jotka pystyvät käsittelemään tuottaja-kuluttaja-ongelman , joita voidaan käyttää viestien lähettämisen ja vastaanottamisen helpottamiseen ohjelmistojärjestelmien välillä . Jakarta Messaging on osa Jakarta EE: tä ja se määriteltiin alun perin Sun Microsystemsissä kehitetyllä eritelmällä ennen Java-yhteisöprosessin ohjaamista .

Yleinen ajatus viestinnästä

Viestintä on löyhästi kytketyn hajautetun viestinnän muoto, jossa tässä yhteydessä termi "viestintä" voidaan ymmärtää viestien vaihdoksi ohjelmistokomponenttien välillä. Viestin suuntautunut teknologioita yritä rentoutua tiukasti kytketty viestinnälle (kuten esimerkiksi TCP- verkko pistorasiat , CORBA tai RMI ) viemällä väliosan. Tämän lähestymistavan avulla ohjelmistokomponentit voivat kommunikoida keskenään epäsuorasti. Tämän edut sisältävät viestien lähettäjien, joiden ei tarvitse olla tarkkoja tietoja vastaanottimistaan.

Viestinnän etuihin kuuluu kyky integroida heterogeenisiä alustoja, vähentää järjestelmän pullonkauloja, lisätä skaalautuvuutta ja reagoida muutoksiin nopeammin.

Versiohistoria

  • JMS 1.0
  • JMS 1.0.1 (5. lokakuuta 1998)
  • JMS 1.0.1a (30. lokakuuta 1998)
  • JMS 1.0.2 (17. joulukuuta 1999)
  • JMS 1.0.2a (23. joulukuuta 1999)
  • JMS 1.0.2b (27. elokuuta 2001)
  • JMS 1.1 (12. huhtikuuta 2002)
  • JMS 2.0 (21. toukokuuta 2013)
  • JMS 2.0a (16. maaliskuuta 2015)

JMS 2.0: ta ylläpidetään tällä hetkellä Java-yhteisöprosessissa nimellä JSR 343.

JMS 3.0: ta kehitetään varhaisessa vaiheessa osana Jakarta EE: tä.

Elementit

Seuraavat ovat JMS-elementtejä:

JMS-palveluntarjoaja
JMS-käyttöliittymän toteutus viestikeskeiselle väliohjelmistolle (MOM). Palveluntarjoajat toteutetaan joko Java JMS -toteutuksena tai sovittimena muuhun kuin Java MOM: iin.
JMS-asiakas
Sovellus tai prosessi, joka tuottaa ja / tai vastaanottaa viestejä.
JMS-tuottaja / kustantaja
JMS-asiakas, joka luo ja lähettää viestejä.
JMS-kuluttaja / tilaaja
JMS-asiakas, joka vastaanottaa viestejä.
JMS-viesti
Objekti, joka sisältää JMS-asiakkaiden välillä siirrettävät tiedot.
JMS-jono
Vaihealue, joka sisältää lähetetyt viestit, jotka odottavat lukemista (vain yksi kuluttaja). Kuten nimijono ehdottaa, viestit toimitetaan lähetetyssä järjestyksessä. JMS-jono takaa, että kutakin viestiä käsitellään vain kerran.
JMS-aihe
Jakelumekanismi useille tilaajille toimitettujen viestien julkaisemiseen.

Mallit

JMS-sovellusliittymä tukee kahta erillistä mallia:

  • Pisteestä pisteeseen
  • Julkaise ja tilaa

Pisteestä pisteeseen malli

Pisteestä pisteeseen -viestijärjestelmässä viestit reititetään yksittäisille kuluttajille, jotka ylläpitävät saapuvien viestien jonoja. Tämä viestintätyyppi perustuu viestijonojen , lähettäjien ja vastaanottimien käsitteeseen . Jokainen viesti on osoitettu tietylle jonolle, ja vastaanottavat asiakkaat poimivat viestit jonoista, jotka on perustettu pitämään viestejä. Vaikka mikä tahansa määrä tuottajia voi lähettää viestejä jonoon, kukin viesti taataan toimitettavan ja kuluttavan yhden kuluttajan. Jonot säilyttävät kaikki heille lähetetyt viestit, kunnes viestit on käytetty loppuun tai kunnes viestit vanhenevat. Jos yhtään kuluttajaa ei ole rekisteröity kuluttamaan viestejä, jono pitää heidät kiinni, kunnes kuluttaja rekisteröi itsensä kuluttamaan niitä.

Julkaise ja tilaa -malli

Julkistaa-ja-merkintään malli tukee julkaista viestejä tietyn viestin "aihe". Tilaajat voivat rekisteröidä kiinnostusta vastaan viestejä julkaistaan tietystä viestin aihe. Tässä mallissa julkaisija ja tilaaja eivät tiedä toisistaan. Hyvä analogia tähän on tuntematon ilmoitustaulu.

  • Nolla tai useampi kuluttaja saa viestin.
  • Kustantajien ja tilaajien välillä on ajoitusriippuvuus. Julkaisijan on luotava viesti-aihe, jonka asiakkaat voivat tilata. Tilaajan on pysyttävä jatkuvasti aktiivisena viestien vastaanottamiseksi, ellei se ole perustanut kestävää tilausta. Siinä tapauksessa viestit, jotka on julkaistu, kun tilaajaa ei ole yhdistetty, jaetaan uudelleen aina, kun se muodostaa yhteyden uudelleen.

JMS tarjoaa tavan erottaa sovelluksen siirtokerroksen datan tarjoamiseksi. Samoja Java- luokkia voidaan käyttää viestintään eri JMS-palveluntarjoajien kanssa käyttämällä Java Naming and Directory Interface (JNDI) -tietoja haluamallesi palveluntarjoajalle. Luokat muodostavat yhteyden jonoon tai aiheeseen ensin yhteystehtaalla ja käyttävät sitten viestejä täytetään ja lähetetään tai julkaistaan. Vastaanottopuolella asiakkaat sitten vastaanottavat tai tilaavat viestit.

URI-järjestelmä

RFC 6167 määrittelee jms: URI-mallin Java-viestipalvelulle.

Palveluntarjoajan toteutukset

JMS: n käyttämiseen tarvitaan JMS-palveluntarjoaja, joka voi hallita istuntoja, jonoja ja aiheita. Java EE -versiosta 1.4 alkaen JMS-palveluntarjoajan on oltava kaikissa Java EE -sovelluspalvelimissa. Tämä voidaan toteuttaa käyttämällä Java EE Connector -arkkitehtuurin viestien sisäänvirtauksen hallintaa , joka saatettiin ensin saataville kyseisessä versiossa.

Seuraava on luettelo tavallisista JMS-palveluntarjoajista:

Katso myös

Viitteet

Lisälukemista

  • Richards, Mark; Richard Monson-Haefel; David A.Chappell (2009). Java Message Service, toinen painos . O'Reilly. ISBN 978-0 596 52204-9.

Ulkoiset linkit