Extras din proiect
1. Schimbul de mesaje
Schimbul de mesaje este o formă de comunicare între aplicaţii şi între componente software. În modul în care schimbul de mesaje este implementat în API-ul JMS, părţile care participă la schimb sunt entităţi egale între ele, adică oricare dintre părţi poate să trimită mesaje către oricare altă parte şi să recepţioneze mesaje de la orice altă parte. Fiecare dintre părţi se conectează iniţial la un agend de schimb de mesaje care îi oferă modalităţi de a crea, trimite, recepţiona şi citi mesaje.
Schimbul de mesaje nu presupune cuplarea părţilor. O componentă trimite un mesaj către o destinaţie, iar receptorul va putea să preia acel mesaj de la destinaţie, fără a trebui ca emioţătorul şi receptorul să fie disponibili în acelaşi timp, pentru ca comunicarea dintre ei să aibă success. Mai mult chiar, emiţătorul nu trebuie să ştie nimic despre receptor şi nici receptorul nu trebuie să aibă bvreo dată despre emiţător. Singurele lucruri pe care cei doi trebuie să le cunoască sunt formatul mesajului folosit şi destinaţia. Aceste caracteristici diferenţiază schimbul de mesaje de tehnologiile apropiate, cum ar fi RMI (Remote Method Invocation), în care o aplicaţie trebuie să cunoască funcţiile celeilate aplicaţii.
O altă caracteristică a schimbului de mesaje este că acesta are loc asincron: componenta nu trebuie să ceară mesaje pentru a le primi, adică un furnizor JMS va pasa mesaje unui client pe măsură ce acestea sosesc.
Schimbul de mesaje este si sigur, API-ul JMS asigurând faptul ca un mesaj este livrat o singură dată şi numai una. Pentru aplicaţiile în care pierderea unui mesaj sau primirea de duplicate nu este o problemă, se poate asigura şi un nivel de siguranţă mai scăzut.
2. API-ul JMS
Java Message Service este un API Java care constă dintr-o serie de interfeţe şi semantica asociată şi permite aplicaţiilor scrise în Java să comunice cu alte implementări ale schimbului de mesaje.
Specificaţiile JMS au fost publicate prima dată în august 1998, ultima versiune datând însă din august 2001 (versiunea 1.0.2b).
Conceptele JMS
1. Arhitectura API-ului JMS
O aplicaţie JMS cuprinde următoarele componente:
1. furnizorul JMS: este un system de schimb de mesaje care implementează interfeţele JMS şi oferă posibilităţi de administrare şi control.
2. clienţii JMS: sunt programe sau componente scrise în limbajul de programare Java, care produc şi consumă mesaje.
3. mesajele: sunt obiectele prin care se comunică informaţii între clienţii JMS.
4. obiectele administrate: sunt obiecte JMS preconfigurate create de către un administrator pentru a fi utilizate de către clienţi. Obiectele administrate pot fii de două feluri: destinaţii şi fabrici de conexiune.
5. clienţii nativi: sunt programe care folosesc un alt API de schimb de mesaje, decât JMS-ul.
Figura 1 Interacţiunea dintre componentele JMS
După cum se poate observa din Figura 1 uneltele de administrare permit legarea destinaţiilor şi a fabricilor de conexiune într-un spaţiu de nume JNDI (Java Naming and Directory Interface). Ulterior, un client JMS va putea să caute obiectele administrate în acest spaţiu de nume, iar apoi să stabilească o conexiune logică că ele folosind un furnizor JMS.
2. Domeniile de schimb de mesaje
În mod clasic, schimbul de mesaje se poate face în două moduri: punct-la-punct sau publicant/abonat. De aceea JMS a fost creat astfel încât să ofere un domeniu separat pentru fiecare astfel de abordare. Un furnizor JMS are voie să implementeze unul sau ambele domenii astfel rezultate. În schimb, un furnizor J2EE este obligat să implementeze ambele domenii.
2.1. Domeniile de schimb de mesaje de tip punct-la-punct
Legătură punct-la-punct se bazează pe conceptele de coadă de mesaje, emiţător şi receptor. Emiţătorul trimite fiecare mesaj către o anumită coadă de mesaje, iar receptorul extrage de aici mesajele. O coadă de mesaje este o structură de date creată pentru a reţine mesaje până la citirea acestora sau până la expirarea lor.
Preview document
Conținut arhivă zip
- Java Message Service
- JMS.doc
- JMS.ppt