MuleSoft - Wprowadzenie do Mule ESB
ESB oznacza Enterprise Service Busktóry jest w zasadzie narzędziem pośredniczącym do integracji różnych aplikacji razem za pośrednictwem infrastruktury podobnej do magistrali. Zasadniczo jest to architektura zaprojektowana w celu zapewnienia jednolitego sposobu przenoszenia pracy między zintegrowanymi aplikacjami. W ten sposób za pomocą architektury ESB możemy łączyć różne aplikacje poprzez magistralę komunikacyjną i umożliwiać im komunikację bez zależności od siebie.
Wdrażanie ESB
Głównym celem architektury ESB jest oddzielenie systemów od siebie i umożliwienie im komunikacji w stabilny i kontrolowany sposób. Implementację ESB można wykonać za pomocą‘Bus’ i ‘Adapter’ w następujący sposób -
Koncepcja „magistrali”, którą osiąga się za pośrednictwem serwera przesyłania komunikatów, takiego jak JMS lub AMQP, jest używana do oddzielania od siebie różnych aplikacji.
Pomiędzy aplikacjami a magistralą używana jest koncepcja „adaptera” odpowiedzialnego za komunikację z aplikacją zaplecza i transformację danych z formatu aplikacji do formatu magistrali.
Dane lub wiadomości przesyłane z jednej aplikacji do drugiej przez magistralę mają format kanoniczny, co oznacza, że byłby jeden spójny format wiadomości.
Adapter może również wykonywać inne czynności, takie jak zabezpieczenia, monitorowanie, obsługa błędów i zarządzanie routingiem komunikatów.
Zasady przewodnie ESB
Możemy nazwać te zasady podstawowymi zasadami integracji. Są następujące -
Orchestration - Integracja dwóch lub więcej usług w celu uzyskania synchronizacji między danymi a procesem.
Transformation - Przekształcanie danych z formatu kanonicznego do formatu specyficznego dla aplikacji.
Transportation - Obsługa negocjacji protokołów między formatami takimi jak FTP, HTTP, JMS itp.
Mediation - Zapewnienie wielu interfejsów do obsługi wielu wersji usługi.
Non-functional consistency - Zapewnienie mechanizmu zarządzania transakcjami i bezpieczeństwem również.
Potrzeba ESB
Architektura ESB umożliwia nam integrację różnych aplikacji, w których każda aplikacja może się za jej pośrednictwem komunikować. Oto kilka wskazówek, kiedy używać ESB -
Integrating two or more applications - Zastosowanie architektury ESB jest korzystne, gdy istnieje potrzeba integracji dwóch lub więcej usług lub aplikacji.
Integration of more applications in future - Załóżmy, że jeśli w przyszłości będziemy chcieli dodać więcej usług lub aplikacji, można to łatwo zrobić za pomocą architektury ESB.
Using multiple protocols - W przypadku, gdy potrzebujemy użyć wielu protokołów, takich jak HTTP, FTP, JMS itp., ESB jest właściwą opcją.
Message routing - Możemy użyć ESB w przypadku, gdy wymagamy kierowania wiadomości na podstawie treści wiadomości i innych podobnych parametrów.
Composition and consumption - ESB może być używany, jeśli musimy publikować usługi dotyczące składu i konsumpcji.
Integracja P2P a integracja ESB
Wraz ze wzrostem liczby aplikacji dużym pytaniem, które stawiali deweloperzy, było to, jak połączyć różne aplikacje? Sytuacja została rozwiązana poprzez ręczne zakodowanie połączenia między różnymi aplikacjami. To się nazywapoint-to-point integration.
Rigidityjest najbardziej oczywistą wadą integracji punkt-punkt. Złożoność rośnie wraz ze wzrostem liczby połączeń i interfejsów. Wady integracji P-2-P prowadzą nas do integracji ESB.
ESB to bardziej elastyczne podejście do integracji aplikacji. Hermetyzuje i eksponuje każdą funkcjonalność aplikacji jako zestaw dyskretnych możliwości wielokrotnego użytku. Żadna aplikacja nie integruje się bezpośrednio z innymi, zamiast tego integrują się przez ESB, jak pokazano poniżej -
Do zarządzania integracją ESB składa się z dwóch następujących komponentów -
Service Registry- Mule ESB posiada Rejestr usług / Repozytorium, w którym wszystkie usługi udostępnione w ESB są publikowane i rejestrowane. Działa jako punkt odkrywania, z którego można korzystać z usług i możliwości innych aplikacji.
Centralized Administration - Jak sama nazwa wskazuje, zapewnia widok transakcyjnych przepływów wydajności interakcji zachodzących wewnątrz ESB.
ESB Functionality- Skrót VETRO jest zwykle używany do podsumowania funkcjonalności ESB. Jest to następujące -
V(Validate) - jak sama nazwa wskazuje, sprawdza poprawność schematu. Wymaga parsera walidującego i aktualnego schematu. Jednym z przykładów jest dokument XML potwierdzający aktualność schematu.
E(Wzbogać) - dodaje dodatkowe dane do wiadomości. Celem jest uczynienie wiadomości bardziej znaczącą i użyteczną dla usługi docelowej.
T(Transform) - Konwertuje strukturę danych do formatu kanonicznego lub z formatu kanonicznego. Przykładami są konwersja daty / godziny, waluty itp.
R(Routing) - kieruje wiadomość i działa jako strażnik punktu końcowego usługi.
O(Operate) - Głównym zadaniem tej funkcji jest wywołanie usługi docelowej lub interakcja z aplikacją docelową. Działają na zapleczu.
Wzorzec VETRO zapewnia ogólną elastyczność integracji i gwarantuje, że tylko spójne i sprawdzone dane będą kierowane przez ESB.
Co to jest Mule ESB?
Mule ESB to lekka i wysoce skalowalna oparta na Javie magistrala usług korporacyjnych (ESB) i platforma integracyjna dostarczana przez MuleSoft. Mule ESB umożliwia programistom łatwe i szybkie łączenie aplikacji. Niezależnie od różnych technologii wykorzystywanych przez aplikacje, Mule ESB umożliwia łatwą integrację aplikacji, umożliwiając im wymianę danych. Mule ESB ma następujące dwie edycje -
- Wydanie społecznościowe
- Wersja Enterprise
Zaletą Mule ESB jest to, że możemy łatwo uaktualnić ze społeczności Mule ESB do Mule ESB enterprise, ponieważ obie wersje są zbudowane na wspólnej bazie kodu.
Funkcje i możliwości Mule ESB
Mule ESB posiada następujące funkcje -
- Ma prosty projekt graficzny typu „przeciągnij i upuść”.
- Mule ESB umożliwia wizualne mapowanie i transformację danych.
- Użytkownik może otrzymać setki gotowych, certyfikowanych złączy.
- Scentralizowane monitorowanie i administracja.
- Zapewnia solidne możliwości egzekwowania bezpieczeństwa w przedsiębiorstwie.
- Zapewnia łatwość zarządzania API.
- Dostępna jest bezpieczna brama danych do połączeń w chmurze / lokalnie.
- Zapewnia rejestr usług, w którym wszystkie usługi udostępnione w ESB są publikowane i rejestrowane.
- Użytkownicy mogą mieć kontrolę za pośrednictwem internetowej konsoli zarządzania.
- Szybkie debugowanie można przeprowadzić za pomocą analizatora przepływu usług.