Mule je integračná platforma vyvinutá firmou MuleSoft™. Je založená na architektúre Enterprise Service Bus (ESB). Aplikácie komunikujú pomocou zbernice, ktorá je vychodzím bodom pre komunikáciu koncových bodov používajúcich rôzne transportné protokoly. Zabezpečuje konzistentnosť komunikácie a poskytuje centrálne riadenie – orchestráciu. Pomáha zabrániť previazanosti, ktorá sa vyskytuje u point-to-point riešení.
Mule ESB architektúra je vhodná pre projekty, ktoré zlučujú aspoň tri rôzne aplikácie, využívajú pre prenos niekoľko protokolov, príp. sa môžu v budúcnosti rozširovať o ďalšie aplikácie.
Prechod aplikácií
Základným stavebným kameňom aplikácie sú tzv. flow. Flow sa skladá z niekoľkých stavebných prvkov.
Východzí bod prijíma správu a koncový bod ju odosiela. Tieto dva body môžu byť totožné (request-response). Okrem všeobecnejších bodov (napojenie na HTTP, JMS, RMI, databáza, fronty apod.) ponúka Mule i špecifické konektory pre CloudHub, SAP, NetSuite, MongoHQ, PayPal, Amazon a ďalšie.Medzi tieto body sa umiestňujú transformátory správ, filtre a ďalšie komponenty. Okrem množstva predpripravených komponentov možno vytvárať svoje vlastné. Nie je tu potrebné obmedzovať sa len na kód špecifický pre Mule – je možné využiť POJO, Java i Spring beans, Groovy skripty, Python, JavaScript, Ruby alebo PHP.
Aplikácia je riadená udalosťami. Pokiaľ východzí bod daného flow dostane správu, vytvára sa inštancia flow a spúšťa sa. Inou možnosťou je spustiť ju priamo volaním z iného flow.
Vlastnosti
- komunikácia software-to-software na princípe Service Oriented Architecture
- možnosť nasadenia na ESB standalone server, ako embedded do webového aplikačného servera alebo v cloudu
- spracovanie správ nezávisle na protokole
- centrálna orchestrácia
- škálovateľnosť
Referencie
ARTIN využil Mule pri vývoji integračného systému pre komunikáciu medzi poisťovňami a exekútorskými úradmi.