Koncepcja korporacyjnej szyny danych (Enterprise Service Bus) powstała w roku 2002 z inicjatywy analityków grup Gartnera (koncepcjo dawców SOA). Jej zdaniem jest zintegrowanie wszystkich usług, w obrębie których działa szyna.
Zagadnienie to jest ściśle powiązane ze SOA, ponieważ dostarcza główny interfejs dostępu do usług na poziomie integracji serwisów oraz usług. Jej ogromną zaletą jest integrowanie systemów informacyjnych bez potrzeby integracji każdego systemu z każdym.
Wyróżnia się dwa typy danych:
Agentowa – warstwa komunikacji realizowana jest po stronie aplikacji. Dana aplikacja mówi kiedy oraz w jaki sposób nadany ma zostać komunikat, który zostanie wrzucony na szynę.
Interceptor – bardziej uniwersalna forma komunikacji. Aplikacja wysyła w natywnym dla siebie języku komunikat. Tuż przed wysłaniem go na szynę jest on mapowany do języka zrozumiałego dla szyny (XAML, WSDL, BSO, czy inny).
Szyna danych typu interceptor
Zadania ESB:
- zarządzanie połączeniami
- inteligentny routing
- transformacja danych
- wysoka niezawodność
- zarządzanie usługami
- monitorowanie i logowanie
Przykłady ESB:
- Oracle Service Bus
- Mule ESB
Zanim wybierzesz ESB, licz się z:
- Są to rozwiązania bardzo drogie.
- Należy myśleć bardzo przyszłościowo, w zależności jaki i ile systemów chcemy ze sobą integrować.
- Na początku dobrze stosować jest rozwiązania typu open source, aby na nich się uczyć, zrozumieć i w miarę potrzeb migrować na rozwiązanie komercyjne. Jednak ścieżka migracyjna nie jest taka prosta.