Ćwiczenie 1. Kolejki IBM Message Queue (MQ)



Podobne dokumenty
Instrukcja importu dokumentów z programu Fakt do programu Płatnik

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

BACKUP BAZ DANYCH FIREBIRD

PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl

Ćwiczenia 9 - Swing - część 1

Aplikacje WWW - laboratorium

Konfiguracja serwera druku w Windows Serwer 2008R2.

Zaawansowane aplikacje WWW - laboratorium

Instalacja Webroot SecureAnywhere przy użyciu GPO w Active Directory

Git, Bitbucket, IntelliJ IDEA

1. Tworzenie integracji

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

1. INSTALACJA I URUCHOMIENIE KOMUNIKATORA

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Tomasz Greszata - Koszalin

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Katalog książek cz. 2

Aplikacja wielowątkowa prosty komunikator

Przykładowa konfiguracja konta pocztowego w programie Thunderbird z wykorzystaniem MKS 2k7 (MS Windows Vista Busissnes)

Pracownia internetowa w szkole ZASTOSOWANIA

Programowanie Obiektowe GUI

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Estomed2. 1. Wstęp. 2. Instalacja Systemu Estomed Jak zainstalować Estomed2. Hakon Software sp. z o. o. Podręcznik instalacji

Udostępnianie drukarek za pomocą systemu Windows (serwer wydruku).

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

SKRÓCONA INSTRUKCJA INSTALACJI MODEMU I POŁĄCZENIA Z INTERNETEM NA WINDOWS 7 DLA AnyDATA ADU-510L

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Jak posługiwać się edytorem treści

5.4. Tworzymy formularze

Aplikacje internetowe i rozproszone - laboratorium

Replikacja kolejkowa (Q-replication) w IBM DB2

Instrukcja instalacji i konfiguracji Karty EDGE/GPRS SonyEricsson GC85

Informatyka II. Laboratorium Aplikacja okienkowa

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

Konfiguracja konta pocztowego w Thunderbird

Aplikacje WWW - laboratorium

Instalacja i konfiguracja serwera IIS z FTP

2) W wyświetlonym oknie należy zaznaczyć chęć utworzenia nowej aplikacji (wygląd okna może się różnić od powyższego); kliknąć OK

Opis konfiguracji i wysyłki wniosków EKW w aplikacji Komornik SQL-VAT

Instalacja aplikacji komunikacyjnej modułu pl.id

Instalacja rozwiązania Uruchomienie rozwiązania w systemie Sage Konfiguracja dodatku Ustawienia dodatkowe rozwiązania...

SKRÓCONA INSTRUKCJA INSTALACJI MODEMU I KONFIGURACJA POŁĄCZENIA Z INTERNETEM NA WINDOWS 8 DLA AnyDATA ADU-520L

PUE ZUS Wysyłka elektronicznych zapytan. Instrukcja wysyłki zapytań do ZUZ-PUE za pomocą aplikacji Komornik SQL

Windows W celu dostępu do i konfiguracji firewall idź do Panelu sterowania -> System i zabezpieczenia -> Zapora systemu Windows.

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych

Obsługa systemu OGNIVO w aplikacji Kancelaria Komornika

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Instrukcja obsługi certyfikatów w programie pocztowym MS Outlook Express 5.x/6.x

System Symfonia e-dokumenty

SimplySign logowanie i rejestracja na komputerze oraz dodanie certyfikatu do programu Płatnik

HOTSPOT. [ konfiguracja, rejestracja, użytkowanie ]

Współpraca Integry z programami zewnętrznymi

Instrukcja użytkownika aplikacji npodpis r.

Laboratorium - Użycie narzędzia Przywracanie systemu w systemie Windows 7

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Instrukcja instalacji Control Expert 3.0

Instrukcja instalacji programu SPSS Statistics 21

Instrukcja obsługi systemu Sky CMS

Kalipso wywiady środowiskowe

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

INSTRUKCJA OTWIERANIA PLIKU DPT (data point table)

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

7 Business Ship Control dla Wf-Mag Prestiż i Prestiż Plus

Db4o obiektowa baza danych wersja.net

Laboratorium A: Zarządzanie drukowaniem/klucz do odpowiedzi

Nowe notowania epromak Professional

Java Platform Micro Edition

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Rejestr transakcji GIIF - instrukcja

BACKUP BAZ DANYCH MS SQL

Kalipso wywiady środowiskowe

Instrukcja. Rejestracji i aktywacji konta w systemie so-open.pl DOTACJE NA INNOWACJE; SOFTWARE OPERATIONS SP. Z O. O.

Aplikacja wielow tkowa prosty komunikator

Nowe notowania epromak Professional

Instalacja PPPoE w systemie Windows XP za pomocą kreatora nowego połączenia sieciowego

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Bezpieczne uruchamianie apletów wg

Dokumentacja panelu Klienta

Instrukcja InPro BMS Siemens FC700A InPro Professional 4.1

Instrukcja użytkownika aplikacji npodpis r.

autor poradnika - KS Jak zamieszczać i edytować artykuły na szkolnej stronie internetowej

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Instrukcja. importu dokumentów. z programu Fakt do programu Płatnik. oraz. przesyłania danych do ZUS. przy pomocy programu Płatnik

Instrukcja instalacji certyfikatu kwalifikowanego w programie Płatnik. wersja 1.8

Podstawy i języki programowania

Konfiguracja programu pocztowego Mozilla Thunderbird do pracy w sieci NEO.pl

Tworzenie pliku źródłowego w aplikacji POLTAX2B.

Temat lekcji: Har a m r o m nogr g a r m a m za z d a ań a

Wczytywanie cenników z poziomu programu Norma EXPERT Tworzenie własnych cenników w programie Norma EXPERT... 4

podstawowa obsługa panelu administracyjnego

PUE ZUS Wysyłka elektronicznych zapytan. Instrukcja wysyłki zapytań do ZUZ-PUE za pomocą aplikacji Komornik SQL

Konfiguracja Połączenia

Laboratorium Badanie topologii i budowa małej sieci

Instrukcja dla programu Ocena.XP

Należy uruchomid program: Start-Wszystkie programy- Microsoft Office- Microsoft Office Access 2007

Transkrypt:

Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając "Uruchom IBM WebSphere MQ Explorer". 1

2. Tworzenie kolejek Aby rozpocząć pracę z kolejkami w pierwszej kolejności należy stworzyć menadżera naszej kolejki i pierwszą kolejkę. Klikamy prawym przyciskiem myszy na "Nowa", wybieramy "Menadżer kolejek...". Wpisujemy nazwę menadżera kolejek, np. "MQM1", zaznaczamy "Ustaw jako domyślny menadżer kolejek", klikamy "Zakończ". Aby zobaczyć, co kryje się pod menadżerem kolejki, klikamy na trójkątny przycisk po lewej stronie, rozwijając listę. Pierwszą pozycją jest "Kolejki". Klikamy na pozycję prawym przyciskiem myszy i wybieramy "Nowa", "Kolejka lokalna". Nadajemy jej nazwę np. "Q1" i klikamy "Zakończ". Stworzyliśmy pierwszą kolejkę lokalną. W niej przechowywane będą komunikaty, do momentu odebrania ich przez aplikację. Aby przetestować jej działanie klikamy na kolejce prawym przyciskiem myszy i wybieramy "Umieść komunikat testowy...". Po czym wprowadzamy komunikat. 2

Możemy zauważyć, że po chwili (po odświeżeniu) wartość "Bieżąca głębokość kolejki" zwiększy się. Komunikat możemy podejrzeć otwierając menu kontekstowe i wybierając "Przeglądaj komunikaty...". 3

3. Udostępnienie kolejki aplikacji. Aby udostępnić kolejkę musimy stworzyć odpowiedni kanał. Po rozwinięciu struktury pod naszym menadżerem kolejek znajdziemy element "Kanały". Klikamy na niego prawym przyciskiem myszy, wybieramy "Nowa" i "Kanał połączenia z serwerem..." Podajemy jego nazwę, np. "CQ1", klikamy "Dalej". Po prawej stronie okna wybieramy zakładkę "MCA". Tam wpisujemy nazwę użytkownika, na którego jesteśmy zalogowani (który docelowo będzie pobierał komunikaty z kolejki), np. "Student". Po wpisaniu nazwy użytkownika klikamy "Zakończ". 4

4. Pobieranie komunikatu z kolejki Do pobierania komunikatów z kolejki proszę stworzyć aplikację w języku Java. Poniżej przedstawiono przykładowy kod i kilka wskazówek. A) Do projektu należy dodać biblioteki IBM MQ, standardowo znajdujące się w katalogu: "C:\Program Files\IBM\WebSphere MQ\java\lib" B) Dokumentacja dotycząca bibliotek MQ znajduje się tutaj: http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic= %2Fcom.ibm.mq.javadoc.doc%2FWMQJMSClasses%2Findex.html Do napisania aplikacji odbierającej komunikaty może być przydatny poniższy kod: import java.io.bufferedreader; import java.io.file; import java.io.filenotfoundexception; import java.io.filereader; import java.io.ioexception; import com.ibm.mq.*; import com.ibm.mq.constants.cmqc; public class ReadMessage{ private String qmanager; private String QueueName; public static void main(string args[]) { MQEnvironment.hostname = "localhost"; MQEnvironment.port = 1414; MQEnvironment.channel = "CQ1"; ReadMessage gm = new ReadMessage(); gm.qmanager = "MQM1"; gm.queuename = "Q1"; gm.runnow(); public void runnow() { MQQueueManager qmgr = null; MQQueue queue = null; try { // Tworzenie połą czenia z menadż erem kolejek System.out.println("Łączenie z menadżerem kolejek: "+qmanager); qmgr = new MQQueueManager(qManager); int openoptions = CMQC.MQOO_INQUIRE + CMQC.MQOO_FAIL_IF_QUIESCING + CMQC.MQOO_INPUT_SHARED; System.out.println("Dostę p do kolejki: " + QueueName); queue = qmgr.accessqueue(queuename, openoptions); // Tworzenie obiektu kolejki String msgtext = ""; 5

MQMessage rcvmessage = new MQMessage(); queue.get(rcvmessage); byte[] b = new byte[rcvmessage.getmessagelength()]; rcvmessage.readfully(b); msgtext = new String(b); System.out.println("Read Request Message: " + msgtext); catch (MQException ex) { int MQRC_NO_MSG_AVAILABLE = 2033; if (ex.reasoncode == MQRC_NO_MSG_AVAILABLE) { System.out.println("No message on the specified queue: " + QueueName ); else { System.out.println("A WebSphere MQ Error occured : Completion Code " + ex.completioncode + " Reason Code " + ex.reasoncode); catch (java.io.ioexception ex) { System.out.println("An IOException occured while reading to the message buffer: " + ex); catch (Exception ex) { System.out.println("Some other exception!: " + ex); finally { try { System.out.println("Closing the queue"); queue.close(); System.out.println("Disconnecting from the Queue Manager"); qmgr.disconnect(); System.out.println("Done!"); catch(exception e) { System.out.println("Error in finally!"); Możliwe problemy: Zwracane błędy: Kody błędów wraz z opisem znajdują się na stronie: http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic= %2Fcom.ibm.mq.amqzao.doc%2Ffm12610_.htm Brak dostępu do kolejki: Należy wybrać właściwości menażera kolejki, w zakładce "Komunikacja" wybrać "Rekordy uwierzytelniania kanału" - Wyłączone 6

5. Wysyłanie komunikatów do kolejki Proszę stworzyć aplikację, która pobiera plik testowy z danego katalogu, następnie umieszcza jego treść w kolejce MQ. Poprawność wykonania zweryfikować pierwszą aplikacją. Przydatne metody: byte[] messageid = rcvmessage.messageid; // pobieranie ID odebranego komunikatu MQMessage msg = new MQMessage(); // Tworzenie nowej wiadomości msg.correlationid = messageid; // Ustawianie powiązania (przy odpowiadaniu na konkretn ą wiadomo ść) String qmessage = "Tre ść wiadomoś ci" ; msg.writestring(qmessage); // Dodawanie treści do komunikatu MQPutMessageOptions pmo = new MQPutMessageOptions(); queue.put(msg, pmo); queue.close(); qmgr.disconnect(); 7

6. Przesyłanie komunikatów między kolejkami (kanały) Aby przetestować przesyłanie komunikatów pomiędzy dwiema różnymi kolejkami należy analogicznie do punktu drugiego stworzyć nowego menażera kolejek. Uwaga! Przy tworzeniu drugiego menażera kolejek należy wybrać port 1415 - ponieważ 1414 jest już zajęty przez menadżera MQM1. Nowego menadżera możemy nazwać "MQM2". Po rozwinięciu listy "MQM2" klikamy na element "Kolejki", wybieramy "Nowa" i "Definicja kolejki zdalnej..." W kreatorze podajemy jej nazwę, np. "Q1", klikamy "Dalej". W nowym oknie musimy zdefiniować, do której kolejki będziemy przekazywać komunikaty, w polu "Kolejka zdalna" podajemy nazwę naszej kolejki z punktu drugiego (domyślnie "Q1") oraz w polu "Menadżer kolejek zdalnych" nazwę menadżera z punktu 2 ("MQM1"). Pole "Kolejka transmisji" pozostawiamy puste i klikamy "Zakończ". Następnie otwieramy kreator tworzenia kolejek lokalnych dla naszego nowego menadżera kolejek. Nową kolejką dla MQM2 nazywamy tak, jak pierwszy menadżer kolejek, czyli "MQM1" i w kreatorze klikamy "Dalej", w polu "Użycie" wybieramy wartość "Transmisja", następnie "Zakończ". W kolejnym kroku zapewniamy możliwość przekazywania komunikatów z zdalnej kolejki w MQM2 do lokalnej w MQM1. W tym celu musimy otworzyć kanał odbierający i wysyłający. Dla pierwszego menadżera tworzymy kanał odbierający. Rozwijamy listę pod MQM1 i klikamy prawym przyciskiem myszy na "Kanały". Wybieramy "Nowa", "Kanał odbierający...". Podajemy jego nazwę np. "C.MQM1.MQM2" i klikamy na "Zakończ". 8

Dla drugiego menadżera należy stworzyć kanał wysyłający. Analogicznie, w MQM2 wybieramy "Nowa" i "Kanał wysyłający". PodajemyPodajemy taką samą nazwę, tzn. "C. MQM1.MQM2" i naciskamy przycisk "Dalej", gdzie w polu "Nazwa połączenia" wpisujemy lokalizację komputera, na którym znajduje się kolejka odbierająca - w naszym przypadku jest to "localhost(1414)". W polu "Kolejka transmisji" proszę o podanie nazwy kolejki, która będzie odbierać komunikaty - w naszym przypadku domyślnie jest to "Q1". Po wpisaniu nazwy kolejki "Zakończ". Po stworzeniu kanału uruchamiamy go klikając na nim prawym przyciskiem myszy i wybierając "Uruchom". Aby przetestować połączenie pomiędzy kolejkami wstawiamy komunikat "ręcznie" za pomocą WebSphere MQ Explorer'a do kolejki Q1 w drugim menadżerze (MQM2). Wiadomość powinna zostać przesłana do kolejki w pierwszym menadżerze (MQM1). 9

7. Zadanie Napisać prosty komunikator komunikujący się za pośrednictwem kolejek. 10