IBM WebSphere. WebSphere Message Broker



Podobne dokumenty
Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

ZAŁĄCZNIK Nr 2 do CZĘŚCI II SIWZ WYCIĄG ZE STANDARDÓW, ZASAD I WZORCÓW INTEGRACYJNYCH OBOWIĄZUJĄCYCH W PSE S.A.

IBM WebSphere Rodzina WebSphere MQ

Wdrożenie technologii procesowej IBM BPM w EFL

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

OfficeObjects e-forms

EXSO-CORE - specyfikacja

JBoss: MetaMatrix, Mobicents, Seam, Rools, ESB

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ

Korporacyjna Magistrala Usług na przykładzie Mule ESB

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Release Notes Process Data Flow ("PDF" )

1 Wprowadzenie do J2EE

1. Wymagania dla lokalnej szyny ESB

HP e-health Broker. Wersja 4.0. Opis produktu

Dobre praktyki w doborze technologii rozwiązań informatycznych realizujących usługi publiczne

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

Programowanie współbieżne i rozproszone

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

Forum Client - Spring in Swing

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

The Binder Consulting

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

ActiveXperts SMS Messaging Server

OPERATOR SYSTEMU PRZESYŁOWEGO

Programowanie Komponentowe WebAPI

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

Oracle Log Analytics Cloud Service

Wybrane działy Informatyki Stosowanej

Zadanie nr 4.5: Oprogramowanie bazodanowe. Lp. Zwartość karty Opis 1 Specyfikacja techniczna / funkcjonalna przedmiotu zamówienia

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Wybrane działy Informatyki Stosowanej

System Kontroli Bazy Danych Topograficznych (SKBDT) zawód kartografa?

KARTA KURSU. Przetwarzanie dokumentów XML i zaawansowane techniki WWW

EJB 3.0 (Enterprise JavaBeans 3.0)

Tworzenie oprogramowania

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI

SiR_13 Systemy SCADA: sterowanie nadrzędne; wizualizacja procesów. MES - Manufacturing Execution System System Realizacji Produkcji

Plan. Aplikacja. Architektura aplikacji. Architektura aplikacji Tworzenie aplikacji Application Builder podstawy

OfficeObjects e-forms

dlibra 3.0 Marcin Heliński

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007)

Podstawy programowania. Wprowadzenie

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

Systemy obiegu informacji i Protokół SWAP "CC"

Audyt oprogramowania systemu B2B oprogramowanie umożliwiające zarządzanie informacjami o produktach:

System generacji raportów

Instrukcja użytkownika

REFERAT PRACY DYPLOMOWEJ

Koncepcja systemu informatycznego realizującego w środowisku Oracle Spatial proces generalizacji modelu BDOT10 do postaci BDOT50

Rozwiązanie Compuware Data Center - Real User Monitoring

INFORMATYKA Pytania ogólne na egzamin dyplomowy

OPIS i SPECYFIKACJA TECHNICZNA

O nas. Usługi. jpbs realizuje następujące rodzaje projektów usługowych:

Dokumentacja SMS przez FTP

Funkcje systemu infokadra

MONITOROWANIE DOSTĘPNOŚCI USŁUG IT

Hurtownie danych - przegląd technologii

Instrukcja obsługi Multiconverter 2.0

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Zaawansowane aplikacje internetowe

IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania

podstawowa obsługa panelu administracyjnego

Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Ministerstwo Finansów

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Bezpieczne miasto. koncepcja i rozwiązania w projekcie Mayday Euro 2012

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Ekspert MS SQL Server Oferta nr 00/08

Aplikacje WWW Wprowadzenie

Usługa: Testowanie wydajności oprogramowania

Dodatkowo, w przypadku modułu dotyczącego integracji z systemami partnerów, Wykonawca będzie przeprowadzał testy integracyjne.

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

DESIGNER APPLICATION. powered by

Tytuły Wykonawcze. Opis systemu tworzenia dokumentacji TW-1

Płatniku rozlicz PIT-11 przez internet!

Instrukcja integratora - obsługa dużych plików w epuap2

Import zleceń / Integracja klienta K-Ex

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Wykaz zmian w programie SysLoger

Bazy danych 2. Wykład 1

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Szczegółowy opis zamówienia:

System zarządzający grami programistycznymi Meridius

podstawowa obsługa panelu administracyjnego

Aplikacja serwerowa Platformy Prezentacyjnej Opis produktu

Korporacyjna Magistrala Usług na przykładzie Oracle Service Bus

Programowanie obiektowe

Replikacja kolejkowa (Q-replication) w IBM DB2

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i

Zmienne i stałe w PHP

Transkrypt:

IBM WebSphere WebSphere Message Broker

Rodzina WebSphere MQ 2 Ogólne informacje o produkcie IBM WebSphere Message Broker jest produktem z grupy brokerów komunikatów, który ułatwia firmie osiągnięcie architektury bazującej na koncepcji SOA. Oparty na mechanizmach przesyłania komunikatów WMQ oraz wywoływania WebServices ów jest inteligentnym narzędziem pozwalającym w trybie czasu rzeczywistego na zmianę zawartości komunikatów i ich dystrybucję w oparciu o zdefiniowane reguły przetwarzania. Funkcjonalność ta pozwala stworzyć wspólną, jednolitą i elastyczną infrastrukturę do integracji każdego rodzaju aplikacji oraz realizację funkcji koordynacji komunikacji na poziomie warstwy integracyjnej. Poprzez architekturę centralną, która pozwala na zarządzanie integrowanymi aplikacjami w jednym miejscu, Message Broker ułatwia integrację nowych aplikacji i upraszcza zarządzanie całym środowiskiem integracyjnym. Message Broker to usługa w systemie operacyjnym, która kontroluje wykonywanie zamodelowanych przepływów komunikatów. Aplikacja ta odpowiada za realizację logiki w równoległych wątkach, zapewniając stabilną i nieprzerwaną pracę całego systemu. Aplikacje wysyłają komunikaty do brokera używając kolejek i połączeń WebSphere MQ a także wywołań usług sieciowych (WebServices). Broker przetwarza każdy komunikat w oparciu o reguły transformacji i zdefiniowane formaty danych (Message Sets) wysyłając do aplikacji docelowych dane w formatach akceptowalnych przez nie. Broker przechowuje reguły przetwarzania w kolejkach WMQ, wykorzystując serwer kolejkowy jako repozytorium. Każdy administrator i programista na swojej maszynie definiuje logikę w konsoli Message Broker Toolkit, a następnie może wykonać automatyczne uaktualnienie na brokerze. Narzędzie pozwala na współdzielenie i wersjonowanie projektów. Wszystko to dzięki implementacji w otwartym środowisku Eclipse. Dane mogą być routowane przez brokera na podstawie ich zawartości. Można postawić niemal dowolny warunek na odpowiednie pole w danych po spełnieniu, którego komunikat zostanie przesłany do właściwej aplikacji lub do innego przepływu wykonywanego na brokerze. Przepływ zawiera sekwencję operacji jakimi ma zostać poddany każdy komunikat, który trafi do kolejki wejściowej. MATCHES & ROUTES communications between services CONVERTS between different transport protocols TRANSFORMS between different data formats IDENTIFIES & DISTRIBUTES business events

Rodzina WebSphere MQ 3 Przepływy składają się z komponentów zwanych węzłami oraz połączeń pomiędzy nimi. Wraz z narzędziem dostępnych jest około 20 gotowych węzłów, które zwykle wymagają parametryzacji lub dopisania kodu w języku ESQL, Java czy PHP (ten ostatni język pozwala generować kod dynamicznie na podstawie danych wejściowych), aby sprostać wymaganiom konkretnego przetwarzania. Możliwe jest również napisanie własnego węzła w Javie lub w C, który będzie wykonywał określoną operację na paczkach danych. Przepływy tworzone są w graficznym środowisku, co znacznie ułatwia definiowanie logiki, zrozumienie zastanych przepływów oraz dokonywanie ewentualnych zmian. WebSphere Message Broker to również doskonałe narzędzie do zmiany formatów przesyłanych danych. Nie wymuszając na wszystkich adapterach unifikacji formatów komunikatów można wykonywać operacje na poszczególnych polach danych. Możliwe jest dowolne łączenie, dzielenie, dokonywanie operacji arytmetycznych i logicznych na kilku polach, a także zapisywanie oraz odczytywanie danych z zewnętrznej bazy danych potrzebnych do właściwej walidacji lub transformacji komunikatów. W przypadku użycia formatu XML WebSphere Message Broker automatycznie rozpoznaje strukturę danych i jest w stanie poprawnie operować na jej polach. Gdy wykorzystany jest inny format konieczne jest zdefiniowanie go w narzędziu. Służy do tego graficzne środowisko lub zestaw funkcji pozwalających na import tych struktur z plików języka C, Javy, DTD lub XML Schema. Implementacja logiki z konsoli administratora może odbywać się na kilku brokerach. W konsoli konieczne jest zdefiniowanie połączeń do brokerów, po czym narzędzie automatycznie wykona implementacji po wskazaniu konkretnych brokerów. Operację tą można wykonać ze środowiska graficznego lub ze skryptu. Druga opcja umożliwia przenoszenie logiki na większą ilość maszyn równolegle lub zmianę zasada przetwarzania o określonych porach poprzez wykonywanie skryptów. W konsoli w prosty sposób programista może przełączyć się w tryb debuggowania. Funkcja ta pozwala sprawdzać krok po kroku strukturę danych w trakcie wykonywania przepływu. Umożliwia to wychwytywanie wszelkich błędów i nieprawidłowości w przetwarzaniu i szybkie ich poprawienie. Na graficznym obrazie przepływu możliwe jest stawianie znaczników, w których broker ma wstrzymać wykonywanie przepływu. Następnie, np. w kodzie ESQL, w węzłach programista może linia po linii sprawdzać efekty realizacji. Podstawowe cechy WebSphere Message Broker to: Elastyczność wsparcie dla różnych formatów dokumentów (XML, formaty płaskie i inne); narzędzia do importu i eksportu formatów; możliwość tworzenia skomplikowanych przepływów komunikatów (zagnieżdżanie komponentów), Pewność gwarantowane doręczenie komunikatów, Skalowalność możliwość tworzenia domen brokerów w celu zwiększenia wydajności; wykorzystanie wielowątkowości w ramach brokera; opatentowany algorytm przetwarzania reguł przekazywania i przeformatowywania komunikatów. Zakres funkcjonalny produktu Message Broker realizuje następujące funkcje: Koordynacja przepływu danych pomiędzy różnymi aplikacjami Transformacja, uzupełnianie komunikatów Dystrybucja komunikatów w oparciu o zdefiniowane w węźle reguły wykorzystujące dane z nagłówka i treści komunikatu Integracja aplikacji z danymi biznesowymi poprzez mechanizmy publish-subscribe Zarządzanie środowiskiem, w tym automatyczne zapewnienie mechanizmów alokacji zasobów do przetwarzania przepływów w sytuacji dużych obciążeń. Gwarancja dostarczenie komunikatów przez WebSphere MQ (WMQ) Gwarancja dostarczenie komunikatu raz i tylko raz WMQ Transakcyjność przetwarzania komunikatów Przechowywanie komunikatów wewnętrzna struktura WMQ Kontrola oraz realizowanie transakcji XA na wielu źródłach danych kolejki oraz bazy danych. Architektura produktu W ramach architektury WebSphere Message Broker można wyróżnić następujące elementy składowe: WebSphere Message Broker Toolkit Menedżer kolejek WebSphere MQ, zapewniający mechanizmy transportowe Brokera komunikatów, odpowiedzialne za przetwarzanie (wykonywanie przepływów) Przepływy, czyli zdefiniowane jednostki przetwarzane przez broker

Rodzina WebSphere MQ 4 WebSphere Message Broker Toolkit WebSphere Message Broker Toolkit stanowi zintegrowane środowisko do tworzenia i zarządzania logiką integracji. Bazuje na platformie Eclipse i stanowi narzędzie uzupełniające dla podstawowego pakietu WebSphere Studio Application Developer. Programiści definiujący logikę przetwarzania dla Message Broker a pracują niezależnie od siebie, korzystają jednak ze wspólnego repozytorium obiektów wykorzystywanych do integracji (zdefiniowane przepływy, węzły, reguły itp.). Funkcjonalność WMB Toolkit dostępna jest również dla administratorów, można podłączyć się do brokerów i wykonywać deployment stworzonych przepływów, dostęp jest kontrolowany na poziomie brokera oraz logicznych części brokera tzw. execution group odpowiadających procesowi systemowemu. Dodatkowo można wykonywać graficzny debugging przepływów, ustawiać punkty kontrolne czy edytować obserwowane wartości zmiennych. Narzędzie posiada możliwość współpracy i obsługi produktów WebSphere Adapters, dostępne kreatory pozwalają w prosty sposób podpiąć adaptery aplikacyjne do systemów docelowych, wykryć dostępne interfejsy oraz zaimportować definicje struktur danych, które mogą być bezpośrednio użyte w przepływach. Dostępne są gotowe węzły graficzne do współpracy z systemami SAP, PeopleSoft Wraz z nową edycją WMBToolkit dostarcza zestaw gotowych wzorców projektowych i skojarzonych z nim odpowiednio zestaw kreatorów (wizards), które ułatwiają i bardzo przyspieszają tworzenie logiki, jednoczenie powodując ograniczenie możliwych błędów do popełnienia. WMBToolkit dostarcza również gotowe struktury danych wspierające przemysłowe standardy dla służby zdrowia (Heathcare) oraz handlu detalicznego (Retail), dzięki takiemu podejściu projektanci oszczędzają czas przygotowania projektu dodatkowe oszczędności w kosztach to nieodpłatność gotowych struktur. Wspierane formaty to TLOG dla detalicznego handlu oraz HL7 dla służby zdrowia. Obie nowe funkcjonalności jak wsparcie dla wzorców i dostarczane struktury danych WMBToolkit dostępne jest na platformy Windows i Linux (x86). Interfejsy komunikacji i integracji Wspierane mechanizmy integracji Standardowo WMB wspiera integrację za pomocą następujących interfejsów: HTTP, HTTPS, JMS, WMQ, ODBC (JDBC) oraz WebServices. Do WMB możliwe jest podłączenie w prosty sposób adapterów, które komunikują się z brokerem za pomocą kolejek WMQ a z aplikacjami biznesowymi protokołem przez nieudostępnianym, innym typem adapterów są adaptery technologiczne, które łączą komunikację z WMQ z innymi technologiami (RMI, CORBA itp.). Istniej dodatkowe rozszerzenie pozwalające korzystać z protokołów Tibco RV. WebSphere Message Broker pozwala w prosty sposób zmieniać protokoły pomiędzy wejściem a wyjściem. Obsługiwane są następujące protokoły: SOAP WMQ HTTP HTTPS JMS ODBC JDBC Pliki płaskie FTP SFTP TCP/IP Email W prosty sposób można transformować wywołanie WebServices u poprzez HTTP na komunikację poprzez WMQ czy dodać dodatkowy protokół wejściowy czy wyjściowy dla przepływu np: JMS, HTTP. Istnieją gotowe węzły wspierające obsługę protokołu SOAP, dzięki czemu programista nie musi pamiętać struktury komunikatu. WMB stanowi również środowisko uruchomieniowe dla WebSphere Adapters, wykonanych w technologii JCA 1.5, w ramach WMBToolkit dostępne są gotowe węzły do podłączenia się do systemów.

Rodzina WebSphere MQ 5 W ramach możliwości inicjacji przetwarzania rozszerzono funkcjonalność o konieczność zaistnienia odpowiednich zdarzeń np.: pojawienie się komunikatu w kolejce oraz pliku w odpowiednim katalogu. Funkcjonalność implementowana jest za pomocą węzła Collector i pozwala wykrywać zdarzenia takie jak: Liczba komunikatów Liczba komunikatów w jednostce czasu / ewentualnie timeout Wg zadanego wzorca przesyłanej treści WMB posiada wbudowane wsparcie dla obsługi standardów z rodziny WS-* takich jak: WS-Addressing pozwala na asynchroniczne wywoływanie WebService;sów po HTTP, WS-Security pozwalający szyfrować, deszyfrować komunikaty czy je podpisywać lub sprawdzać poprawność podpisów. Wykorzystanie standardu X.509 Transformacje danych Możliwości w kwestii i transformacji danych są bardzo szerokie, nie obejmują tylko wsparcia dla XML, ale pozwalają przeprowadzać dowolne transformacje. WMB pozwala tworzyć transformacje w następujący sposób: za pomocą języków: ESQL (wbudowany) oraz JAVA. Obsługiwać transformacje arkuszami XSLT. Istnieje również możliwość przeprowadzenia transformacji w sposób graficzny za pomocą węzła Mapping (any-to-any). Transformacje w WebSphere Message Broker mogą odbywać się na dowolnym formacie wejściowym i nie muszą być tylko w formacie XML. WebSphere Message Broker pozwala definiować dowolne struktury danych, umożliwia w prosty sposób import struktur danych opisanych plikami XSD, DTD czy plikami nagłówkowymi dla języków C, C++, COBOL. Wykorzystując język ESQL, PHP czy JAVA dostępny jest zawsze bogaty zestaw funkcji operujących na łańcuchach znaków, liczbach, datach czy bajtach (dla typu BLOB). Translacje danych wykonywane w węzłach graficznych też wykorzystują bogaty zestaw funkcji XPATH i ESQL i mogą być używane wymiennie i mieszane ze sobą. Jako rozszerzenie WMB do transformacji danych istnieje możliwość użycia WTX. WTX jest całkowicie zintegrowany z WMB, co oznacza, że broker może wywoływać transformacje z wnętrza przepływu poprzez użycie dedykowanego węzła. Dodatkową zaletą korzystania z tego rozszerzenia jest możliwość skorzystania z wielu adapterów technologicznych niedostępnych standardowo z WMB. Wspierane interfejsy programistyczne (API) Wszelkie rozszerzenia WMB można dokonywać poprzez stworzenie własnych węzłów, które mogą realizować komunikację poprzez specjalizowane protokoły, wykonywać bardzo skomplikowaną logikę czy inne zadania (np.: administracyjne), gotowe API do budowania plug-in ów dostarczane jest w dwóch językach programowania C oraz JAVA.. Ważną możliwością rozbudowania WMB jest stworzenie własnych parserów dla dedykowanych formatów danych, które można następnie wykorzystać do parsowania komunikatów wejściowych bądź tworzenia wyjściowego komunikatu w odpowiedniej strukturze. WMQ posiada możliwość integracji z różnymi aplikacjami poprzez wykorzystanie API, wspierane są następujące języki: C, C++, COBOL, JAVA, Perl, VisualBasic,.Net. Za pomocą API można nie tylko podłączać się do WMQ i wykonywać podstawowe czynności jak włożenie komunikatu do kolejki czy jego pobranie ale również czynności administracyjne np.: sprawdzenie głębokości kolejki (ilość komunikatów) ustawienie parametrów czy ich odczyt. Dostępność, wydajność, skalowalność Wysoka dostępność systemu WebSphere Message Broker (WMB) zostaje zapewniona poprzez skonfigurowanie go na klastrze WMQ, gdzie wejście komunikatów odbywa się poprzez kolejki sklastrowane. Ponieważ WMB jest systemem bezstanowym dodatkowo dostępność uzyskuje się poprzez instalację WMB na osobnym serwerze i odpowiednie skonfigurowanie kolejek wejściowych (klastrowych). Oprócz tego typu klastra jest możliwość stworzenie klastra niezawodnościowego HACMP, który w przypadku awarii jednej maszyny uruchomi maszynę awaryjną z identycznymi ustawieniami w sposób niezauważalny dla innych systemów. Zwiększenie wydajności i loadbalancing rozwiązuje się poprzez uruchomienie kolejnego WMB na klastrze WMQ. W przypadku awarii jednej z maszyn całe obciążenie jest przenoszone na drugą maszynę, rozpoczęte przepływy zostaną wycofane łącznie z komunikatami, które trafią do kolejek, skąd będę następnie pobrane przez kolejną instancję.

Skalowanie WMB można przeprowadzić pionowo jak i poziomo. Tzn, zwiększenie wydajności uzyskuje się poprzez dodanie dodatkowego procesora do serwera, na którym uruchomiony jest WMB lub zainstalowanie na osobnym serwerze dodatkowej instancji serwera. Uruchamiając kolejny broker na osobnej maszynie w klastrze WMQ osiągamy prawie liniową skalowalność. Dodatkową metodą skalowania jest wydzielenie osobnych Execution Group (logiczne elementy runtime u WMB odpowiadające procesom systemowym) dla pewnych przepływów i sterowanie udostępnieniem zasobów z narzędzi systemowych np dla AIX Workload Manager, takie wydzielenie pozwala przypisać ilość procesorów dla Execution Group lub określić ją w procentach, co pozwala spełniać warunki SLA. Copyright IBM Corporation 2012 IBM Polska Sp. z o.o. ul. 1 Sierpnia 8 02 134 Warszawa tel. (+ 48 22) 878 67 77 faks (+ 48 22) 878 68 88 Strona główna IBM znajduje się pod adresem: ibm.com/pl/ WWydrukowano w Polsce Wszelkie prawa zastrzeżone. IBM, logo IBM, ibm.com i WebSphere są znakami towarowymi lub zastrzeżonymi znakami towarowymi firmy International Business Machines Corporation w Stanach Zjednoczonych i/lub innych krajach. Pozostałe nazwy firm, produktów i usług mogą być znakami towarowymi lub znakami usług należącymi do innych podmiotów.