ESB срещу EAI
ESB (Enterprise Service Bus) е част от инфраструктурен софтуер, който предоставя конструкция на софтуерна архитектура за предоставяне на основни услуги за сложни архитектури. EAI (Enterprise Application Integration) е интеграционна рамка, която може да се използва за интегриране на набор от компютърни системи. EAI е широка концепция, която описва модели на интеграция, а ESB е технология, която позволява EAI.
Какво е ESB?
ESB е част от инфраструктурен софтуер, който предоставя конструкция на софтуерна архитектура за предоставяне на основни услуги за сложни архитектури. Има обаче значителен спор дали да се нарече ESB архитектурен стил, или софтуерен продукт, или дори група от продукти. Той предоставя услугите чрез управляван от събития и базиран на стандарти двигател за съобщения (което всъщност е сервизната шина). На върха на този механизъм за съобщения е осигурен слой абстракция, който позволява на архитектите да използват съоръженията, предлагани от автобуса, без да пишат какъвто и да е действителен код. ESB обикновено се внедрява чрез базирани на стандарти междинни инфраструктури.
Използването на термина „шина“в ESB се дължи на факта, че ESB предоставя много подобна функция на физическата компютърна шина, но на много по-високо ниво на абстракция. Едно от основните предимства на наличието на ESB е възможността да се намали броят на точките на контакт, като по този начин се улеснява много адаптирането към промените. ESB може да се използва като платформа, върху която се реализира SOA (Service-oriented architecture). Концепциите за трансформация/маршрутизация (свързани с поток) могат да бъдат пренесени в SOA от ESB. Освен това, чрез доказване на абстракцията за крайните точки на SOA, ESB насърчава слабото свързване между услугите.
Какво е EAI?
EAI е интеграционна рамка, която може да се използва за интегриране на набор от компютърни системи. Той определя набор от принципи за интеграция и осигурява междинен софтуер (съставен от комбинация от технологии и услуги), който позволява интегрирането на множество системи. EAI се занимава със свързване на корпоративни приложения като управление на веригата за доставки, управление на взаимоотношенията с клиенти, BI (Business Intelligence) инструменти, управление на човешки ресурси и здравеопазване, които обикновено не се комбинират едно с друго. Следователно EAI може да разреши неефективността, причинена от тази липса на комуникация между тези приложения. EAI може да се използва основно за три различни цели. Те са интеграция на данни за поддържане на съгласуваност (известна също като корпоративна информационна интеграция или EII), налагане на независимост от доставчика и като обща фасада за клъстер от приложения.
Каква е разликата между ESB и EAI?
Има някои ключови разлики между ESB и EAI. ESB е част от инфраструктурен софтуер, който помага на разработчиците да разработват услуги и да комуникират между услуги чрез подходящи API, докато EAI е интеграционна рамка за компютърни приложения в цялото предприятие. С други думи, ESB действа като посредник между услугите, докато EAI е хъб-и-спиковият модел за интеграция. EAI е концепция, която описва всички типове интеграционни модели, но ESB е само екземпляр на технология, която позволява EAI. С прости думи, EAI е чужда концепция, а ESB е реализация.