JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha...
Transcript of JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha...
![Page 1: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/1.jpg)
JMSJava message service
![Page 2: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/2.jpg)
Java EE
![Page 3: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/3.jpg)
Java EEKomponente unutar aplikacije
![Page 4: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/4.jpg)
Svrha i osobine
• Razmena poruka između Java EE komponenata
• Slabo spregnuta arhitektura koja omogućava olakšan i jednostavan način za komunikaciju, tj. razmenu poruka. Primalac i pošiljalac ne moraju postojati u isto vreme. Primalac ne mora čekati na poruku u trenutku kada je pošiljalac šalje kako bi je primio.
• Jednostavan i intuitivan API za ove svrhe
![Page 5: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/5.jpg)
PodešavanjaOsnovne putanje
![Page 6: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/6.jpg)
Podešavanja
Variable name Variable value
as-install C:\glassfish4\glassfish
as-install-parent C:\glassfish4
![Page 7: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/7.jpg)
Podešavanja
![Page 8: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/8.jpg)
Glassfish server• Aplikativni server – Java EE aplikacija radi na ovom serveru
• Domen je skup jedne ili više insanci Glassfish servera i domenom upravlja administratorski server. Podrazumevani postojeći domen je „domain1“. Elementi vezani za domen su:o Glassfish podrazumevani broj porta je 8080o Podrazumevani broj porta administratorskog servera je 4848o Podrazumevano administratorsko korisničko ime i lozinka su: „admin“, „“.
Pokretanje Glassfish-a iz komandne linije:
asadmin start-domain --verbose
Pokretanje administratorske konzole:
http://localhost:4848/
Zaustavljanje Glassfish-a iz komandne linije:
asadmin stop-domain domain1
Pokretanje JavaDB servera:asadmin start-database
Zaustavljanje JavaDB servera:asadmin stop-database
![Page 9: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/9.jpg)
Resource injection
• Administratorski server može definisati objekte koje će moći da koriste sve komponente jedne Java EE aplikacije (servlet, enterprise bean, managed bean, web component, java client component).
• Resursi bivaju kreirani unutar JNDI (Java Naming and Directory Interface) prostora imena
• Java komponente ih mogu koristiti koristeći sledeću anotaciju
@Resource(lookup = „jndiResourceName")
![Page 10: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/10.jpg)
JMS arhitektura
• JMS provider
• JMS clients
• Messages
• Administered objects
![Page 11: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/11.jpg)
JMS arhitektura
![Page 12: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/12.jpg)
Vrste komunikacije
• Point-to-point (PTP)
![Page 13: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/13.jpg)
Vrste komunikacije
• Publish/subscribe (pub/sub)
![Page 14: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/14.jpg)
Vrste prijava
Shared Not Shared
Non Durable
Durable
![Page 15: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/15.jpg)
Nondurable Subscription
![Page 16: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/16.jpg)
Durable Subscription
![Page 17: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/17.jpg)
Načini primanja poruka
• Sinhrono – klijent se blokira dok ne dobije poruku
• Asinhrono – klijent koristi osluškivača (MessageListener) kao dodatnu nit u kojoj prima poruku
![Page 18: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/18.jpg)
JMS API programski model
Bazični blokovi JMS aplikacije su:
• Administered objects: connection factories and destinations
• Connections
• Sessions
• JMSContext objects, which combine a connection and a session in one object
• Message producers
• Message consumers
• Messages
![Page 19: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/19.jpg)
JMS API programski model
![Page 20: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/20.jpg)
Poruke
Delovi poruke su:
• Headers (obavezni)
• Properties (opcioni) – mogu se dodavati na poruku
• Body (opcioni)
![Page 21: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/21.jpg)
Headers
![Page 22: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/22.jpg)
Body
![Page 23: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/23.jpg)
JMS Queue Browsers
JMS Queue Browsers objekti se koriste radi prolaska kroz sve poruke koje postoje u redu i čitanja informacija vezanih za svaku od njih.
JMS Queue Browsers objekte kreira JMSContext instanca.
![Page 24: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/24.jpg)
Dodatne komande
• Kreiranje JMS resursa
asadmin add-resources glassfish-resources.xml
asadmin create-jms-resource
• Pregled JMS resursa
asadmin list-jms-resources
• Brisanje JMS resursa
asadmin delete-jms-resource
• Pokretanje Entreprise Client Application
appclient -client jarFileInTargetFolderAfterBuild.jar
![Page 25: JMS - RTI Katedra · JMS Java message service. Java EE. Java EE Komponente unutar aplikacije. Svrha i osobine •Razmena poruka između Java EE komponenata •Slabo spregnuta arhitektura](https://reader034.fdocuments.net/reader034/viewer/2022042911/5f427696114e3e6e6f0fc53c/html5/thumbnails/25.jpg)
Okruženja, alati, serveri...
• NetBeans IDE (prilikom insaliranja ne instalirati Glassfish server koji je ponuđen prilikom instalacije)
• Glassfish Server – aplikativni server (instalirati ga zasebno sa matičnog sajta, a potom ga povezati u NetBeans)