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