Diferența dintre SOA și ESB

Anonim

SOA vs ESB

SOA este un set de concepte arhitecturale utilizate pentru dezvoltarea și integrarea serviciilor. Un serviciu este un pachet publicitar de funcționalitate oferit pe web. ESB este o bucată de software de infrastructură care oferă o construcție de arhitectură software pentru furnizarea de servicii de bază pentru arhitecturi complexe. ESB poate fi folosit ca platformă pe care se realizează SOA.

Ce este SOA?

SOA (arhitectura orientată pe servicii) este un set de concepte arhitecturale utilizate pentru dezvoltarea și integrarea serviciilor. SOA tratează computerele distribuite, în care consumatorii consumă un set de servicii interoperabile. Consumatorii multipli pot consuma un singur serviciu și viceversa. Prin urmare, SOA este adesea folosit pentru a integra mai multe aplicații care utilizează diferite platforme. Pentru ca SOA să funcționeze corect, serviciile ar trebui să fie cuplate în mod liber cu sistemele de operare și tehnologiile aplicațiilor care stau la baza acestora. SOA dezvoltatorii creează servicii utilizând unități de funcționalitate și le fac disponibile pe internet. Serviciile Web pot fi folosite pentru implementarea arhitecturii SOA. În acest caz, serviciile web devin unitățile de funcționalitate ale SOA accesibile prin internet. Serviciile Web pot fi folosite de oricine fără a fi preocupate de platformele sau limbile de programare folosite pentru dezvoltarea acestora. SOA este construit direct pe principiul orientării serviciilor, care vorbește despre servicii cu o interfață simplă care poate fi accesată independent de utilizatori, fără a vă îngrijora de implementarea reală a serviciului.

Ce este ESB?

ESB (Enterprise Service Bus) este o bucată de software de infrastructură care oferă o construcție de arhitectură software pentru furnizarea de servicii de bază pentru arhitecturi complexe. Există însă un argument considerabil dacă să numim ESB un stil arhitectural sau un produs software sau chiar un grup de produse. Oferă serviciile prin intermediul unui motor bazat pe evenimente și bazat pe standarde pentru mesagerie (care este, de fapt, autobuzul de serviciu). Pe partea de sus a acestui motor de mesagerie, este oferit un strat de abstractizare care să permită arhitecților să exploateze facilitățile oferite de autobuz, fără a scrie niciun cod real. ESB este, de obicei, implementat prin infrastructuri de middleware bazate pe standarde.

Utilizarea termenului "autobuz" în ESB se datorează faptului că ESB furnizează o funcție foarte asemănătoare cu autobuzul fizic pe calculator, dar la un nivel mult mai ridicat de abstractizare. Unul dintre principalele avantaje ale unui ESB este capacitatea de a reduce numărul de puncte de contact; astfel, adaptarea la schimbări este mult mai ușoară. ESB poate fi folosit ca platformă pe care se realizează SOA. Conceptele de transformare / rutare (legate de flux) pot fi aduse SOA de către ESB.Mai mult, prin demonstrarea abstractizării pentru obiectivele finale (în SOA), ESB promovează cuplarea loială între servicii.

Care este diferența dintre SOA și ESB?

Există unele diferențe cheie între SOA și ESB. SOA este un model arhitectural pentru implementarea unor aplicații bazate pe servicii legate în mod liber. ESB este o bucată de software de infrastructură care ajută dezvoltatorii să dezvolte servicii și să comunice între servicii prin API-uri adecvate. ESB poate fi folosit ca platformă pe care se realizează SOA. ESB este doar mijlocul prin care fluxul de servicii. ESB oferă facilități pentru compunerea și implementarea serviciilor, care, la rândul lor, implementează SOA.