Submit Search
Upload
2010 X33EJA Java Message Service
•
1 like
•
370 views
M
Martin Ptáček
Follow
2010 X33EJA Java Message Service
Read less
Read more
Technology
News & Politics
Report
Share
Report
Share
1 of 20
Recommended
Spring Web Services
Spring Web Services
Roman Pichlík
2011 X33EJA Výkonové Aspekty JEE Monitoring a optimalizace
2011 X33EJA Výkonové Aspekty JEE Monitoring a optimalizace
Martin Ptáček
2011 Unit Testy
2011 Unit Testy
Martin Ptáček
2010 Web Technologie 1
2010 Web Technologie 1
Martin Ptáček
2009 JEE Overview
2009 JEE Overview
Martin Ptáček
2009 CA Wily Introscope
2009 CA Wily Introscope
Martin Ptáček
2010 Identifikace a optimalizace výkonu JEE aplikací
2010 Identifikace a optimalizace výkonu JEE aplikací
Martin Ptáček
2010 X33EJA Web Services
2010 X33EJA Web Services
Martin Ptáček
More Related Content
More from Martin Ptáček
2010 JBoss Application Server
2010 JBoss Application Server
Martin Ptáček
2007 Technologie Pro Tvorbu Java Enterprise Aplikací
2007 Technologie Pro Tvorbu Java Enterprise Aplikací
Martin Ptáček
2009 Uživatelské rozhraní webových aplikací
2009 Uživatelské rozhraní webových aplikací
Martin Ptáček
2009 X33EJA Moderní Technologie Pro Vývoj JEE
2009 X33EJA Moderní Technologie Pro Vývoj JEE
Martin Ptáček
2009 X33EJA Výkonové Aspekty JEE
2009 X33EJA Výkonové Aspekty JEE
Martin Ptáček
2010 X33EJA Vysoká Dostupnost JEE Systémů
2010 X33EJA Vysoká Dostupnost JEE Systémů
Martin Ptáček
More from Martin Ptáček
(6)
2010 JBoss Application Server
2010 JBoss Application Server
2007 Technologie Pro Tvorbu Java Enterprise Aplikací
2007 Technologie Pro Tvorbu Java Enterprise Aplikací
2009 Uživatelské rozhraní webových aplikací
2009 Uživatelské rozhraní webových aplikací
2009 X33EJA Moderní Technologie Pro Vývoj JEE
2009 X33EJA Moderní Technologie Pro Vývoj JEE
2009 X33EJA Výkonové Aspekty JEE
2009 X33EJA Výkonové Aspekty JEE
2010 X33EJA Vysoká Dostupnost JEE Systémů
2010 X33EJA Vysoká Dostupnost JEE Systémů
2010 X33EJA Java Message Service
1.
Copyright©2007KOMIXs.r.o. 1. Copyright©2007KOMIXs.r.o. Martin Ptáček, KOMIX
s.r.o. ptacek@komix.cz Java Message Service (JMS)
2.
Copyright©2007KOMIXs.r.o. 2. Co je Messaging? Specifikace
a architektura JMS Použití JMS API Závěrečné shrnutí Otázky a odpovědi, Diskuse Obsah
3.
Copyright©2007KOMIXs.r.o. 3. • Způsob komunikace
mezi komponentami a aplikacemi. • Specifikace, která popisuje jakým způsobem programy mohou vytvářet, odesílat, přijímat a číst distribuované zprávy. • Loosely coupled communication – Destination, Message format • Email je pro člověka to samé co Messaging pro aplikace. Java Message Service (JMS) Co je Messaging (zasílání zpráv)?
4.
Copyright©2007KOMIXs.r.o. 4. • Vznikla na
základě již existujících implementací. • Umožňuje aplikacím vytvářet, odesílat, přijímat a číst zprávy. • Definuje: – Modely komunikace – Spolehlivost (Reliable) – Podporu transakcí – Distribuovatelnost – Bezpečnost Java Message Service (JMS) Specifikace JMS
5.
Copyright©2007KOMIXs.r.o. 5. • JMS provider –
Implementace JMS API – Apache ActiveMQ, JBoss Messaging, BEA Weblogic, OpenJMS, WebSphereMQ atd. • JMS clients – Aplikace nebo proces, který odesílá a/nebo přijímá zprávy. • JMS Message – Objekt obsahující data, která jsou posílána mezi klienty. Java Message Service (JMS) Architektura JMS
6.
Copyright©2007KOMIXs.r.o. 6. • Model Point
to point – Queues (fronty) – Od jednoho odesílatele k jednomu příjemci • Model Publish/Subscribe – Topics (témata) – Od jednoho odesílatele více příjemcům Java Message Service (JMS) Modely komunikace
7.
Copyright©2007KOMIXs.r.o. 7. Java Message Service
(JMS) Model Point-to-Point Client 1 Sends Queue Client 2 Msg Msg Delivers Subscribes
8.
Copyright©2007KOMIXs.r.o. 8. Java Message Service
(JMS) Model Publish/Subscribe Client 1 Publishes Client 2 Msg Msg Topic Delivers Subscribes Client 3 Delivers Subscribes
9.
Copyright©2007KOMIXs.r.o. 9. Java Message Service
(JMS) Použití JMS API Dohledáno v JNDI Dohledáno v JNDI
10.
Copyright©2007KOMIXs.r.o. 10. • Synchronní – Použití
metody receive() – Blokující thread • Asynchronní – Registrování posluchače, který implementuje MessageListener – MDB specifikace JavaEE Java Message Service (JMS) Způsoby příjmu zprávy
11.
Copyright©2007KOMIXs.r.o. 11. • Header – JMSMessageID,
JMSDestination, JMSExpiration, JMSPriority, JMSCorrelationID, JMSReplyTo, JMSDeliveryMode • Properties (nepovinný) – Jméno-Hodnota • Body (nepovinný) – JMS API definuje několik typů zpráv • TextMessage, MapMessage, BytesMessage, StreamMessage, ObjectMessage Java Message Service (JMS) JMS Message
12.
Copyright©2007KOMIXs.r.o. 12. • PERSISTENT – Dochází
k ukládání zpráv dokud není zpráva bezpečně doručena příjemci či příjemcům. – Nesmí dojít ke ztrátě zprávy při výpadku serveru (JMS Provider) • NON_PERSISTENT – Není zajištěna persistence zprávy Java Message Service (JMS) Režimy doručování (Delivery Mode)
13.
Copyright©2007KOMIXs.r.o. 13. • CLIENT_ACKNOWLEDGE – Konzument
sám pošle potvrzení přijetí zprávy voláním metody acknowledge() • AUTO_ACKNOWLEDGE – Automatické potvrzení po příjmu – Po korektním opuštění metody receive() nebo onMessage() • DUPS_OK_ACKNOWLEDGE – Postupné (Lazy) potvrzování přijetí – Konzument musí být schopen přijímat duplicity Java Message Service (JMS) Potvrzování příjmu (Acknowledge)
14.
Copyright©2007KOMIXs.r.o. 14. • Redelivery – Opakované
doručení zprávy • Nastává při nepotvrzení přijetí z důvodu neočekávané chyby – Vlastnost JMS implementace – Možno nastavit • Počet opakování • Časový interval (timeout) mezi jednotlivými opakováními • Dead Letter Queue (DLQ) – Fronta pro zprávy, které nebyly úspěšně doručeny Java Message Service (JMS) Redelivery
15.
Copyright©2007KOMIXs.r.o. 15. • Filtrování zpráv
pro zpracovatele – Definuje zpracovatel – Možno filtrovat na základě údajů v Header a Properties • SQL 92 subset – Example: JMSPriority > 5 AND JMSType = ‘???’ • POZOR!!! – Specifikace nedefinuje, jak a kde se provádí Java Message Service (JMS) Message Selector
16.
Copyright©2007KOMIXs.r.o. 16. • Implementace servisního
synchronního volání • Odesílatel čeká na odpověď – Simulace remote volání • Několik způsobů implementace – javax.jms.QueueRequestor • Jednoduchá implementace součástí JMS API – Použití Temporary Queue – Použití Message Selector Java Message Service (JMS) Request-Reply Pattern
17.
Copyright©2007KOMIXs.r.o. 17. • Výhody – Velice
robustní a škálovatelné řešení – Vysoká spolehlivost – Snadná implementace – Podpora ve standardu JEE • Nevýhody – Java API, pouze některé komerční implementace nabízejí možnost využití z jiných jazyků Závěrečné shrnutí Java Message Service
18.
Copyright©2007KOMIXs.r.o. 18. • http://download.oracle.com/javaee/1.3/jms/tutorial/ • http://knol.google.com/k/lukas-zapletal/java-message- service-1-1/1as80wv4bdzca/6# Závěrečné
shrnutí Odkazy
19.
Copyright©2007KOMIXs.r.o. 19. Otázky a odpovědi Otázky?
20.
Copyright©2007KOMIXs.r.o. 20. Děkuji za vaši
pozornost Martin Ptáček ptacek@komix.cz +420 225 989 981 KOMIX s.r.o. Holubova 1, 150 00 Praha 5 www.komix.cz