MuleESB to rozwiązanie oparte na technologii Java, w konwencji aplikacji o otwartym kodzie źródłowym (open-source), pełniące funkcje platformy integracyjnej aplikacji i wymiany danych pomiędzy systemami (szyna danych).

Niezależnie od technologi integrowania systemów (JMS, WebServices, HTTP, JDBC) udostępnia funkcjonalności takie jak:

  • tworzenie i hosting usług,
  • pośredniczenie między usługami,
  • przekazywanie komunikatów,
  • przekształcanie danych komunikatów,
  • obsługuje wiele (ponad 30) protokołów komunikacyjnych (obecnie ponad 30) – serwisy webowe, bazy danych, JMS, poczta e-mail (POP3, SMTP, IMAP), sockety TCP/UDP, FTP, HTTP, system plików, a nawet protokół XMPP (Jabber),
  • duża skalowalność rozwiązania,
  • możliwość pracy stand-alone lub wewnątrz serwera aplikacji,
  • brak ograniczeń dotyczących typu przesyłanych wiadomości (XML, pliki binarne, tekstowe, obiekty java),
  • duża elastyczność i niezależność dotycząca serwera aplikacji,
  • modułowa budowa pozwalająca na ograniczenie rozmiar aplikacji.

Do szczególnych cech Mule ESB trzeba zaliczyć:

  • łatwa implementacja nowych transportów, transformatorów danych itp.
  • automatyczne kolejkowanie wiadomości
  • automatycznie tworzone i obsługiwane pule komponentów, umożliwiające równoległe przetwarzanie wiadomości
  • duże możliwości konfiguracji (większość opcji można ustawiać na poziomie całego środowiska, konkretnych transportów oraz poszczególnych punktów końcowych)
  • zaawansowane opcje routingu komunikatu np. tworzenie przepływów łączących poszczególne punkty końcowe w logiczny łańcuch; rozsyłanie pojedynczego komunikatu do wielu punktów końcowych; rozbijanie komunikatu na części składowe i routing każdego z nich w odpowiednie miejsce; automatyczne odrzucanie zduplikowanych komunikatów; grupowanie wielu przychodzących komunikatów w jeden; zbieranie komunikatów z wielu punktów końcowych i ich agregacja
  • rozbudowane filtrowanie komunikatów.

MuleESB znajduje zastosowanie w projektach integracji systemów w architekturze dużego ich rozproszenia i priorytetu bieżących i ciągłych wymianów danych/komunikatów między nimi. Otwarta architektura pozwala na dużą elastyczność wdrożeniową i dostępność w przedsięwzięciach o ograniczonych budżetach inwestycyjnych.


Rafał Jastrzębski

Opiekun produktu