SOA vs ESB
SOA is 'n stel argitektoniese konsepte wat gebruik word vir die ontwikkeling en integrasie van dienste. 'n Diens is 'n gepubliseerde pakket van funksionaliteit wat oor die web aangebied word. ESB is 'n stuk infrastruktuursagteware wat 'n sagteware-argitektuurkonstruksie verskaf vir die verskaffing van basiese dienste vir komplekse argitekture. ESB kan gebruik word as 'n platform waarop SOA gerealiseer word.
Wat is SOA?
SOA (Diensgerigte argitektuur) is 'n stel argitektoniese konsepte wat gebruik word vir die ontwikkeling en integrasie van dienste. SOA handel oor verspreide rekenaars waarin verbruikers 'n stel interoperabele dienste verbruik. Veelvuldige verbruikers kan 'n enkele diens gebruik en omgekeerd. Daarom word SOA dikwels gebruik om verskeie toepassings wat verskillende platforms gebruik, te integreer. Vir SOA om behoorlik te werk, moet dienste losweg gekoppel word aan bedryfstelsels en die tegnologieë van onderliggende toepassings. SOA-ontwikkelaars skep dienste deur gebruik te maak van eenhede van funksionaliteit, en maak dit beskikbaar oor die internet. Webdienste kan gebruik word om SOA-argitektuur te implementeer. In daardie geval word webdienste die eenhede van funksionaliteit van SOA wat oor die internet toeganklik is. Webdienste kan deur enigiemand gebruik word sonder om bekommerd te wees oor die platforms of die programmeertale wat vir die ontwikkeling daarvan gebruik word. SOA is direk gebou op die beginsel van diensgerigtheid, wat praat oor dienste met 'n eenvoudige koppelvlak wat onafhanklik deur gebruikers verkry kan word, sonder om bekommerd te wees oor die werklike platformimplementering van die diens.
Wat is ESB?
ESB (Enterprise Service Bus) is 'n stuk infrastruktuursagteware wat 'n sagteware-argitektuurkonstruksie verskaf vir die verskaffing van basiese dienste vir komplekse argitekture. Maar daar is groot argumente oor die vraag of ESB 'n argitektoniese styl of 'n sagtewareproduk of selfs 'n groep produkte moet noem. Dit verskaf die dienste deur gebeurtenisgedrewe en standaardgebaseerde enjin vir boodskappe (wat eintlik die diensbus is). Op die top van hierdie boodskap-enjin word 'n laag van abstraksie verskaf om argitekte in staat te stel om die fasiliteite wat die bus bied, te ontgin, sonder om enige werklike kode te skryf. ESB word gewoonlik geïmplementeer deur middel van standaard-gebaseerde middelware-infrastruktuur.
Die gebruik van die term “bus” in ESB is te wyte aan die feit dat ESB wel 'n baie soortgelyke funksie as die fisiese rekenaarbus verskaf, maar op 'n baie hoër vlak van abstraksie. Een van die belangrikste voordele van 'n ESB is die vermoë om die aantal kontakpunte te verminder; maak dus die aanpassing by die veranderinge baie makliker. ESB kan gebruik word as 'n platform waarop SOA gerealiseer word. Die konsepte van transformasie/roetering (vloeiverwant) kan deur ESB na SOA gebring word. Verder, deur die abstraksie vir eindpunte (in SOA) te bewys, bevorder ESB losse koppeling tussen dienste.
Wat is die verskil tussen SOA en ESB?
Daar is 'n paar sleutelverskille tussen SOA en ESB. SOA is 'n argitektoniese model vir die implementering van losgekoppelde diensgebaseerde toepassings. ESB is 'n stuk infrastruktuursagteware wat ontwikkelaars help om dienste te ontwikkel en tussen dienste deur geskikte API's te kommunikeer. ESB kan gebruik word as 'n platform waarop SOA gerealiseer word. ESB is slegs die medium waardeur die dienste vloei. ESB verskaf fasiliteite vir die samestelling en ontplooiing van dienste, wat weer die SOA implementeer.