Java Message Service (JMS) Martin Ptáček, KOMIX s.r.o.

Podobné dokumenty
Komunikace systémů pomocí Hradec Králové

UAI/612 - Cloudová Řešení. Technologie

messaging systémů Perfromance Analysis of Open Source Messaging Systems

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

1. Distribuce Javy. 2. Vlastnosti J2EE aplikace. 3. Fyzická architektura J2EE aplikace. Distribuce Javy se liší podle jejího zamýšleného použití:

Distribuované systémy a výpočty

RabbitMQ. Tomáš Jecha (MVP) jechtom Školení vývojářů Články a diskuzní fóra

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Obsah přednášky. Technologie. Enterprise Java Beans. Enterprise Java Beans. EJB kontejner. Enterprise Java Beans (EJB)

Využití JBoss Fuse ve skandinávské energetice

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU

Enterprise Java Beans 3.0

1. DATOVÉ SCHRÁNKY OBECNÝ PŘÍSTUP K DATOVÉ SCHRÁNCE DATOVÉ ZPRÁVY... 3

Tvorba informačních systémů

Ing. Michal Martin. MQTT na zařízeních Weintek

Platforma J2EE. Lukáš Zapletal liberix.cz. Platforma Java 2 Enterprise Edition

SIP Session Initiation Protocol

UAI/612 - Cloudová Řešení. Návrh aplikací pro cloud

X33EJA Enterprise Java

Příklad aplikace Klient/Server s Boss/Worker modelem (informativní)

Řešení integrace Profinit ESB. Michal Bureš

mbank.cz mtransfer Okamžitá notifikace o mtransferu Dokumentace pro externího partnera

Úvod do Web Services

Internet Information Services (IIS) 6.0

Tvorba informačních systémů

SIMATIC S GPRS. Micro Automation. Promoters Meeting October Aplikace pro GPRS. Vzdálená stanice. Server SINAUT MICRO SC.

Architektury informačních systémů

Architektury informačních systémů

Objektově orientované technologie Dynamický náhled Sekvenční diagram (Realizace UC) Daniela Szturcová

SOAP & REST služby. Rozdíly, architektury, použití

Požadavky pro výběrová řízení TerraBus ESB/G2x

Michal Krátký, Miroslav Beneš

Management procesu II Mgr. Josef Horálek

Tvorba informačních systémů

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

Uživatelská příručka

ové služby a IPv6

Zadání Vytvoříme jednoduchý multithread HTTP server v jazyce Java Spustíme si ho na lokálním počítači A otestujeme ho Zdrojový kód je v

PA165: Úvod do Java EE. Petr Adámek

Eurotel SMS Connector. SMS Connector - SMS Redirector Související změny. Verze 0.2

Platformy / technologie. Jaroslav Žáček

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

O Apache Derby detailněji. Hynek Mlnařík

Enterprise Service Bus (ESB)

Geis Point Plugin Map

ZABEZPEČENÍ PŘENOSU DAT MEZI KLIENTY A SERVEREM PŘES HESSIAN PROTOKOL

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy

Zabezpečení platformy SOA. Michal Opatřil Corinex Group

Tvorba informačních systémů na platformě J2EE Petr Hetmánek Masarykova Univerzita, Fakulta Informatiky, Botanická 68a, Brno

Turris:Sentinel. Nový systém pro sběr dat. Robin Obůrka

NAS 269 Seznámení s Mail Serverem A S U S T O R C O L L E G E

NOVINKY V JEE EJB 3.1. Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze

X33EJA Enterprise Java. Petr Šlechta Sun Microsystems

Tvorba informačních systémů

Session Beans. Petr Aubrecht CA. Vtipy budou tentokrát o krizi:

EXTRAKT z technické normy ISO

TwinCAT IoT Řešení pro průmysl 4.0

Apache Camel. Úvod do EIP a použití frameworku Apache Camel Prezentace pro CZJUG

Osnova. GIOP a IIOP IDL IOR POA. IDL Klient Server. 2 Historie. 3 Princip a základní pojmy. 4 Implementace. 5 Aplikace CORBA

Pokročilé Webové služby a Caché security. Š. Havlíček

WCF. IW5 - Programování v.net a C# WCF

Implementace dávkových operací

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz

Základní komunikační operace

Spring framework 2.0. Roman Pichlík CZJUG

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu

Příručka pro potvrzování zůstatku vydavatelům karetních platebních prostředků

MQTT

Vybrané partie z jazyka Java Spring a Enterprise JavaBeans (EJB)

Sem vložte zadání Vaší práce.

Newtonova teorie velkého ehealth

EXTRAKT z české technické normy

DATOVÉ SCHRÁNKY Petr Stiegler

Návrhové vzory pro J2EE. Miroslav Beneš

Platební systém XPAY [

Komponentní technologie

Technologie Java. Jaroslav Žáček

Server-side technologie pro webové aplikace

SOA Enterprise Service Bus

Datové schránky konec obálek s pruhy

Ing. Jitka Dařbujanová. , SSL, News, elektronické konference

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek

Návod k používání služeb na portálu SMSbrána.cz.

JAVA EE ORGANIZÉR - SOFTWAROVÁ ARCHITEKTURA

CAL (CAN Application Layer) a CANopen

Komunikace. Úrovová architektura protokol. Úrovová architektura protokol (2) Pednášky z distribuovaných systém

API pro volání služby kurzovního lístku KB

Inovace a zkvalitnění výuky prostřednictvím ICT Počítačové sítě

Java a J2EE. Cleverlance. Lukáš Marek lukas.marek@cleverlance.com

Propojení elektronických systémů spravujících dokumenty. Tomáš Lechner Vysoká škola ekonomická v Praze Národohospodářská fakulta Katedra práva

ATS Global B.V. ATS Bus.

(Enterprise) JavaBeans. Lekce 7

JSON API pro zjišťování cen MtG karet

Ústav technické matematiky FS ( Ústav technické matematiky FS ) / 35

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Chain of responsibility

eneschopenka technické řešení Pavel Borkovec ČSSZ, Křížová 25, Praha Architekt, Asseco Central Europe

Transkript:

Martin Ptáček, KOMIX s.r.o. ptacek@komix.cz Copyright 2007 KOMIX Copyright s.r.o. 2007 KOMIX s.r.o. 1.

Obsah Co je Messaging? Specifikace a architektura JMS Použití JMS API Závěrečné shrnutí Otázky a odpovědi, Diskuse 2.

Co je Messaging (zasílání zpráv)? 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. 3.

Specifikace JMS 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 4.

Architektura JMS 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. 5.

Modely komunikace 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 6.

Model Point-to-Point Sends Delivers Client 1 Msg Msg Subscribes Queue Client 2 7.

Model Publish/Subscribe Subscribes Publishes Client 2 Delivers Client 1 Msg Topic Msg Subscribes Delivers Client 3 8.

Použití JMS API Dohledáno v JNDI Dohledáno v JNDI 9.

Způsoby příjmu zprávy Synchronní Použití metody receive() Blokující thread Asynchronní Registrování posluchače, který implementuje MessageListener MDB specifikace JavaEE 10.

JMS Message 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 11.

Režimy doručování (Delivery Mode) 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 12.

Potvrzování příjmu (Acknowledge) 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 13.

Redelivery 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 14.

Message Selector 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í 15.

Request-Reply Pattern 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 16.

Závěrečné shrnutí Java Message Service 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ů 17.

Závěrečné shrnutí Odkazy http://download.oracle.com/javaee/1.3/jms/tutorial/ http://knol.google.com/k/lukas-zapletal/java-messageservice-1-1/1as80wv4bdzca/6# 18.

Otázky a odpovědi Otázky? 19.

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 20.