Jakarta xabar almasıw

Jakarta xabar almasıw API (burın Java Message Service yamasa JMS API) ‒ xabarǵa baǵdarlanǵan aralıq programmalıq támiynat ushın Java qosımshaların programmalastırıw interfeysi (API) bolıp tabıladı. Ol programmalıq támiynat sistemaları arasında xabarlardı jiberiw hám qabıl etiwdi ańsatlastırıw ushın paydalanıw múmkin bolǵan, islep shıǵarıwshı-tutınıwshı máselesin sheshe alatuǵın ulıwma xabar almasıw úlgilerin támiyinleydi. Jakarta xabar almasıwı Jakarta EE bólimi bolıp tabıladı hám dáslepki Sun Microsystems tárepinen islep shıǵarılǵan specifikaciya menen belgilengen, keyin Java Community Process tárepinen basqarılǵan.

 Xabar almasıwdıń ulıwma ideyası 
Xabar almasıw programmalıq támiynat komponentleri arasında xabar almasıw retinde túsiniwge bolatuǵın, erkin baylanıslı bólistirilgen kommunikaciya forması bolıp tabıladı. Xabarǵa baǵdarlanǵan texnologiyalar aralıq komponentti engiziw arqalı tıǵız baylanıslı kommunikaciyanı (mısalı, TCP tarmaq soketleri, CORBA yaki RMI) bosatıwǵa umtıladı. Bul usıl programmalıq támiynat komponentlerine bir-biri menen tikkeley emes túrde baylanısıwǵa imkaniyat beredi. Onıń artıqmashılıqlarına xabar jiberiwshilerdiń óz qabıl etiwshileri haqqında anıq maǵlıwmatqa iye bolıwı shárt emesligi kiredi.

Xabar almasıwdıń artıqmashılıqlarına túrli platformalardı birlestiriw, sistemanıń tar jerlerin azaytıw, masshtablanıwdı arttırıw hám ózgerislerge tez jawap beriw qabileti kiredi.

 Versiya tariyxı 

 JMS 1.0
 JMS 1.0.1 (1998-jıl, 5-oktyabr)
 JMS 1.0.1a (1998-jıl, 30-oktyabr)
 JMS 1.0.2 (1999-jıl, 17-dekabr)
 JMS 1.0.2a (1999-jıl, 23-dekabr)
 JMS 1.0.2b (2001-jıl, 27-avgust)
 JMS 1.1 (2002-jıl, 12-aprel)
 JMS 2.0 (2013-jıl, 21-may)
 JMS 2.0a (2015-jıl, 16-mart)

JMS 2.0 házirgi waqıtta Java Community Process negizinde JSR 343 retinde ámelge asırıladı.

JMS 3.0 Jakarta EE quramında erte rawajlanıw stadiyasında.

 Elementler 
Tómendegiler JMS elementleri bolıp tabıladı:

 JMS provayderi
 Xabarǵa baǵdarlanǵan aralıq programmalıq támiynat (MOM) ushın JMS interfeysiniń ámelge asırılıwı. Provayderler ya Java JMS ámelge asırılıwı yaki Java-ǵa tiyisli bolmaǵan MOM-ǵa adapter retinde ámelge asırıladı.
 JMS klienti
 Xabarlardı islep shıǵaratuǵın hám/yamasa qabıl etetuǵın qosımsha yaki process.
 JMS óndiriwshi/járiyalawshı
 Xabarlardı jaratıwshı hám jiberiwshi JMS klienti.
 JMS tutınıwshı/jazılıwshı
 Xabarlardı qabıllawshı JMS klienti.
 JMS xabarı
 JMS klientleri arasında jiberiletuǵın maǵlıwmatlardı óz ishine alǵan obekt.
 JMS gezegi
 Jiberilgen hám oqılıwın kútip turǵan xabarlardı óz ishine alǵan aralıq orın (tek bir tutınıwshı tárepinen oqıladı). Gezek ataması kórsetip turǵanınday, xabarlar jiberilgen tártipte jetkiziledi. JMS gezegi hárbir xabardıń tek bir márte qayta isleniwine kepillik beredi.
 JMS teması
 Bir neshe jazılıwshılarǵa jetkiziletuǵın xabarlardı járiyalaw ushın tarqatıw mexanizmi.

 Modeller 
JMS API eki túrli modeldi qollap-quwatlaydı:

 Noqattan-noqatqa
 Járiyalaw hám jazılıw

 Noqattan-noqatqa modeli 
Noqattan-noqatqa xabar almasıw sistemasında xabarlar kiriwshi xabarlardıń gezeklerin ámelge asıratuǵın ayırım tutınıwshılarǵa baǵdarlanadı. Bul xabar almasıw túri xabar gezekleri, jiberiwshiler hám qabıl etiwshiler koncepciyasına tiykarlanǵan. Hárbir xabar belgili bir gezekke adreslenip, qabıl etiwshi klientler óz xabarların saqlaw ushın dúzilgen gezeklerden xabarlardı aladı. Gezekke qansha islep shıǵarıwshı xabar jiberiwi múmkin bolsa da, hárbir xabardıń jetkiziliwine hám bir tutınıwshı tárepinen tutınılıwına kepillik beriledi. Gezekler ózlerine jiberilgen barlıq xabarlardı xabarlar tutınılǵansha yaki xabarlardıń múddeti ótkenshe saqlaydı. Eger xabarlardı tutınıw ushın tutınıwshılar dizimge alınbaǵan bolsa, gezek olardı tutınıwshı dizimge alınǵansha saqlaydı.

 Járiyalaw hám jazılıw modeli 
Járiyalaw hám jazılıw modeli belgili bir xabar "temasına" xabarlardı járiyalawdı qollap-quwatlaydı. Jazılıwshılar belgili bir xabar temasında járiyalanǵan xabarlardı alıwǵa qızıǵıwshılıq bildiriwi múmkin. Bul modelde járiyalawshı da, jazılıwshı da bir-biri haqqında bilmeydi. Buǵan jaqsı uqsatıw anonim bildiriwler taqtası bolıp tabıladı.

 Nol yaki onnan kóp tutınıwshı xabardı aladı.
 Járiyalawshılar menen jazılıwshılar arasında waqıtqa baylanıslılıq bar. Járiyalawshı klientler jazılıwı ushın xabar temasın jaratıwı kerek. Jazılıwshı turaqlı jazılıwdı ornatpaǵan bolsa, xabarlardı alıw ushın úziliksiz aktiv bolıwı kerek. Bunday jaǵdayda jazılıwshı baylanısta bolmaǵan waqıtta járiyalanǵan xabarlar qayta baylanısqanda qayta tarqatıladı.

JMS qosımshanı maǵlıwmat beriwdiń transport qabatınan ajıratıw usılın támiyinleydi. Kerekli provayder ushın Java Naming and Directory Interface (JNDI) informaciyasın paydalanıw arqalı túrli JMS provayderleri menen baylanısıw ushın birdey Java klasslarınan paydalanıw múmkin. Klasslar dáslep gezek yamasa temaǵa baylanısıw ushın baylanıs fabrikasın paydalanadı, sońınan xabarlardı toltırıw hám jiberiw yaki járiyalaw ushın paydalanadı. Qabıl etiw tárepinde klientler sońınan xabarlardı qabıl etedi yamasa olarǵa jazıladı.

 URI sxeması 
RFC 6167 Java Message Service ushın jms: URI sxemasın belgileydi.

 Provayderlerdi ámelge asırıw 

JMS-ten paydalanıw ushın sessiyalardı, gezeklerdi hám temalardı basqara alatuǵın JMS provayderi bolıwı kerek. Java EE versiyası 1.4-ten baslap, barlıq Java EE qosımsha serverlerinde JMS támiynatshısı bolıwı kerek. Bul dáslep sol versiyada bar bolǵan Java EE Connector Architecture-nıń xabar kiriwin basqarıwın paydalanıw arqalı ámelge asırılıwı múmkin.

 Derekler 

Kategoriya:Programmalıq támiynat arxitekturası
__BÖLİDİMÖNDEMEW__