MuleSoft - podstawowe komponenty i konfiguracja
Jedną z najważniejszych możliwości Mule jest to, że może wykonywać routing, transformację i przetwarzanie z komponentami, dzięki czemu plik konfiguracyjny aplikacji Mule łączący różne elementy ma bardzo duży rozmiar.
Poniżej przedstawiono typy wzorców konfiguracji udostępnianych przez Mule -
- Prosty wzór obsługi
- Bridge
- Validator
- Http Proxy
- Proxy WS
Konfiguracja komponentu
W Anypoint Studio możemy wykonać poniższe kroki, aby skonfigurować komponent -
Step 1
Musimy przeciągnąć komponent, którego chcemy użyć w naszej aplikacji Mule. Na przykład tutaj używamy komponentu odbiornika HTTP w następujący sposób -
Step 2
Następnie kliknij dwukrotnie komponent, aby wyświetlić okno konfiguracji. W przypadku odbiornika HTTP jest to pokazane poniżej -
Step 3
Możemy skonfigurować komponent zgodnie z wymaganiami naszego projektu. Załóżmy na przykład, że zrobiliśmy dla komponentu odbiornika HTTP -
Podstawowe komponenty są jednym z ważnych elementów przepływu pracy w aplikacji Mule. Logika przetwarzania zdarzenia Mule jest zapewniana przez te podstawowe komponenty. W studiu Anypoint, aby uzyskać dostęp do tych podstawowych komponentów, możesz kliknąć rdzeń z palety Mule, jak pokazano poniżej -
Poniżej są różne core components and their working in Mule 4 -
Niestandardowe wydarzenia biznesowe
Ten podstawowy komponent służy do zbierania informacji o przepływach, a także procesorach wiadomości obsługujących transakcje biznesowe w aplikacji Mule. Innymi słowy, możemy użyć komponentu Niestandardowe wydarzenie biznesowe, aby dodać następujące elementy do naszego przepływu pracy -
- Metadata
- Kluczowe wskaźniki wydajności (KPI)
Jak dodać KPI?
Poniżej przedstawiono kroki, aby dodać wskaźniki KPI w naszym przepływie w aplikacji Mule -
Step 1 - Podążaj za Mule Palette → Core → Components → Custom Business Event, aby dodać komponent Niestandardowe wydarzenie biznesowe do przepływu pracy w aplikacji Mule.
Step 2 - Kliknij komponent, aby go otworzyć.
Step 3 - Teraz musimy podać wartości wyświetlanej nazwy i nazwy zdarzenia.
Step 4 - Aby przechwycić informacje z ładunku wiadomości, dodaj wskaźniki KPI w następujący sposób -
Podaj nazwę (klucz) wskaźnika KPI ( śledzenie: element metadanych ) i wartość. Nazwa zostanie użyta w interfejsie wyszukiwania programu Runtime Manager.
Podaj wartość, która może być dowolnym wyrażeniem Mule.
Przykład
Poniższa tabela zawiera listę kluczowych wskaźników wydajności wraz z nazwą i wartością -
Nazwa | Wyrażenie / wartość |
---|---|
Student RollNo | # [ładunek ['RollNo']] |
Imię ucznia | # [ładunek ['nazwa']] |
Dynamiczna ocena
Ten podstawowy komponent służy do dynamicznego wybierania skryptu w aplikacji Mule. Możemy również użyć skryptu hardcore za pośrednictwem komponentu Transform Message, ale użycie komponentu Dynamic Evaluate jest lepszym sposobem. Ten podstawowy składnik działa w następujący sposób -
- Po pierwsze, ocenia wyrażenie, które powinno skutkować innym skryptem.
- Następnie ocenia ten skrypt pod kątem końcowego wyniku.
W ten sposób pozwala nam dynamicznie wybierać skrypt, zamiast go zakodować.
Przykład
Poniżej znajduje się przykład wybierania skryptu z bazy danych za pomocą parametru zapytania Id i przechowywania tego skryptu w zmiennej o nazwie MyScript . Teraz komponent dynamicznej oceny uzyska dostęp do zmiennej, aby wywołać skrypty, aby mógł dodać zmienną nazwy zUName parametr zapytania.
Konfiguracja XML przepływu jest podana poniżej -
<flow name = "DynamicE-example-flow">
<http:listener config-ref = "HTTP_Listener_Configuration" path = "/"/>
<db:select config-ref = "dbConfig" target = "myScript">
<db:sql>#["SELECT script FROM SCRIPTS WHERE ID =
$(attributes.queryParams.Id)"]
</db:sql>
</db:select>
<ee:dynamic-evaluate expression = "#[vars.myScript]">
<ee:parameters>#[{name: attributes.queryParams.UName}]</ee:parameters>
</ee:dynamic-evaluate>
</flow>
Skrypt może używać zmiennych kontekstowych, takich jak komunikat, ładunek, zmienne lub atrybuty. Jeśli jednak chcesz dodać niestandardową zmienną kontekstową, musisz podać zestaw par klucz-wartość.
Konfigurowanie oceny dynamicznej
Poniższa tabela przedstawia sposób konfigurowania komponentu Dynamic Evaluate -
Pole | Wartość | Opis | Przykład |
---|---|---|---|
Wyrażenie | Wyrażenie DataWeave | Określa wyrażenie, które ma zostać ocenione w ostatecznym skrypcie. | wyrażenie = "# [vars.generateOrderScript]" |
Parametry | Wyrażenie DataWeave | Określa pary klucz-wartość. | # [{joiner: 'and', id: payload.user.id}] |
Komponent odniesienia przepływu
Jeśli chcesz skierować zdarzenie Mule do innego przepływu lub pod-przepływu i z powrotem w tej samej aplikacji Mule, komponent odniesienia przepływu jest właściwą opcją.
Charakterystyka
Poniżej przedstawiono charakterystykę tego podstawowego komponentu -
Ten podstawowy składnik pozwala nam traktować cały przywoływany przepływ jako pojedynczy składnik w bieżącym przepływie.
Dzieli aplikację Mule na oddzielne jednostki wielokrotnego użytku. Na przykład przepływ polega na regularnym wyświetlaniu plików. Może odwoływać się do innego przepływu, który przetwarza dane wyjściowe operacji listy.
W ten sposób zamiast dołączać całe kroki przetwarzania, możemy dołączyć odwołania do przepływu, które wskazują na przepływ przetwarzania. Poniższy zrzut ekranu pokazuje, że komponent rdzenia odniesienia przepływu wskazuje na pod-przepływ o nazwieProcessFiles.
Pracujący
Działanie komponentu Flow Ref można zrozumieć za pomocą następującego diagramu -
Diagram przedstawia kolejność przetwarzania w aplikacji Mule, gdy jeden przepływ odwołuje się do innego przepływu w tej samej aplikacji. Gdy główny przepływ roboczy w aplikacji Mule zostanie wyzwolony, zdarzenie Mule przechodzi przez cały czas i wykonuje przepływ, aż zdarzenie Mule osiągnie wartość odniesienia przepływu.
Po osiągnięciu Flow Reference zdarzenie Mule wykonuje przywoływany przepływ od początku do końca. Gdy zdarzenie Mule zakończy wykonywanie przepływu odniesienia, wraca do głównego przepływu.
Przykład
Dla lepszego zrozumienia let us use this component in Anypoint Studio. W tym przykładzie pobieramy odbiornik HTTP, aby POBRAĆ wiadomość, tak jak to zrobiliśmy w poprzednim rozdziale. Możemy więc przeciągnąć i upuścić komponent i skonfigurować. Ale w tym przykładzie musimy dodać komponent Sub-flow i ustawić komponent Payload pod nim, jak pokazano poniżej -
Następnie musimy skonfigurować Set Payload, klikając go dwukrotnie. Tutaj podajemy wartość „Wykonano przepływ pomocniczy”, jak pokazano poniżej -
Po pomyślnym skonfigurowaniu komponentu podprzepływu potrzebujemy komponentu odniesienia przepływu do ustawienia po ustawieniu ładunku głównego przepływu, który możemy przeciągnąć i upuścić z palety Mule, jak pokazano poniżej -
Następnie, podczas konfigurowania komponentu odniesienia przepływu, musimy wybrać nazwę przepływu w zakładce Ogólne, jak pokazano poniżej -
Teraz zapisz i uruchom tę aplikację. Aby to przetestować, przejdź do POSTMAN i wpiszhttp:/localhost:8181/FirstAPP na pasku adresu URL, a otrzymasz komunikat, Przepływ podrzędny wykonany.
Logger Component
Główny komponent o nazwie logger pomaga nam monitorować i debugować naszą aplikację Mule poprzez rejestrowanie ważnych informacji, takich jak komunikaty o błędach, powiadomienia o stanie, ładunki itp. W studiu AnyPoint pojawiają się one w Console.
Zalety
Oto kilka zalet komponentu Logger -
- Możemy dodać ten podstawowy komponent w dowolnym miejscu przepływu pracy.
- Możemy go skonfigurować tak, aby logował określony przez nas ciąg.
- Możemy go skonfigurować jako wyjście napisanego przez nas wyrażenia DataWeave.
- Możemy również skonfigurować go do dowolnej kombinacji ciągów i wyrażeń.
Przykład
Poniższy przykład wyświetla komunikat „Hello World” w ustawieniu ładunku w przeglądarce i rejestruje również komunikat.
Poniżej przedstawiono konfigurację XML przepływu w powyższym przykładzie -
<http:listener-config name = "HTTP_Listener_Configuration" host = "localhost" port = "8081"/>
<flow name = "mymuleprojectFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/"/>
<set-payload value="Hello World"/>
<logger message = "#[payload]" level = "INFO"/>
</flow>
Przesyłanie składnika wiadomości
Transform Message Component, zwany także komponentem Transfer, pozwala nam konwertować dane wejściowe do nowego formatu wyjściowego.
Metody budowania transformacji
Możemy zbudować naszą transformację za pomocą następujących dwóch metod -
Drag-and-Drop Editor (Graphical View)- To pierwsza i najczęściej stosowana metoda budowania naszej transformacji. W tej metodzie możemy użyć wizualnego mappera tego komponentu do przeciągania i upuszczania elementów struktury danych przychodzących. Na przykład na poniższym diagramie dwa widoki drzewa przedstawiają oczekiwane struktury metadanych danych wejściowych i wyjściowych. Linie łączące wejście z polem wyjściowym reprezentują mapowanie między dwoma widokami drzewa.
Script View- Wizualne odwzorowanie Transformacji można również przedstawić za pomocą DataWeave, języka dla kodu Mule. Możemy kodować dla niektórych zaawansowanych transformacji, takich jak agregacja, normalizacja, grupowanie, łączenie, partycjonowanie, obracanie i filtrowanie. Przykład podano poniżej -
Ten podstawowy komponent zasadniczo akceptuje metadane wejściowe i wyjściowe dla zmiennej, atrybutu lub ładunku komunikatu. Możemy zapewnić zasoby specyficzne dla formatu dla następujących -
- CSV
- Schema
- Schemat pliku płaskiego
- JSON
- Klasa obiektu
- Prosty typ
- Schemat XML
- Nazwa i typ kolumny programu Excel
- Nazwa i typ kolumny o stałej szerokości