SOA vs ESB
SOA je skup arhitektonskih koncepata koji se koriste za razvoj i integraciju usluga. Usluga je oglašeni paket funkcionalnosti koji se nudi putem weba. ESB je dio infrastrukturnog softvera koji pruža konstrukciju softverske arhitekture za pružanje osnovnih usluga za složene arhitekture. ESB se može koristiti kao platforma na kojoj se realizira SOA.
Što je SOA?
SOA (uslužno orijentirana arhitektura) skup je arhitektonskih koncepata koji se koriste za razvoj i integraciju usluga. SOA se bavi distribuiranim računanjem u kojem potrošači troše niz interoperabilnih usluga. Više potrošača može konzumirati jednu uslugu i obrnuto. Stoga se SOA često koristi za integriranje više aplikacija koje koriste različite platforme. Da bi SOA mogao ispravno raditi, usluge bi trebale biti labavo povezane s operativnim sustavima i tehnologijama osnovnih aplikacija. SOA programeri stvaraju usluge koristeći jedinice funkcionalnosti i čine ih dostupnima putem Interneta. Web usluge mogu se koristiti za implementaciju SOA arhitekture. U tom slučaju web usluge postaju jedinice funkcionalnosti SOA-e dostupne putem Interneta. Web usluge može koristiti bilo tko, a da ga ne brinu platforme ili programski jezici koji se koriste za njihov razvoj. SOA se izravno temelji na principu orijentacije na uslugu, koji govori o uslugama s jednostavnim sučeljem kojem korisnici mogu pristupiti neovisno, bez brige o stvarnoj implementaciji usluge na platformi.
Što je ESB?
ESB (Enterprise Service Bus) je dio infrastrukturnog softvera koji pruža konstrukciju softverske arhitekture za pružanje osnovnih usluga za složene arhitekture. No, postoje značajni argumenti oko toga treba li ESB nazvati arhitektonskim stilom ili softverskim proizvodom ili čak grupom proizvoda. Pruža usluge putem mehanizma za razmjenu podataka koji se temelji na događajima i temelji se na standardima (što je zapravo sabirnica usluga). Povrh ovog mehanizma za razmjenu poruka nalazi se sloj apstrakcije koji arhitektima omogućuje korištenje objekata koje nudi sabirnica, bez pisanja stvarnog koda. ESB se obično implementira putem internetskih infrastruktura utemeljenih na standardima.
Upotreba izraza "sabirnica" u ESB-u rezultat je činjenice da ESB pruža vrlo sličnu funkciju kao fizička računalna sabirnica, ali na mnogo višoj razini apstrakcije. Jedna od glavnih prednosti postojanja ESB-a je sposobnost smanjenja broja kontaktnih točaka; na taj način, olakšavajući prilagodbu promjenama. ESB se može koristiti kao platforma na kojoj se realizira SOA. Pojmove transformacije / usmjeravanja (vezane uz protok) ESB može dovesti do SOA-e. Nadalje, dokazujući apstrakciju za krajnje točke (u SOA-i), ESB promiče labavu povezanost između usluga.
Koja je razlika između SOA i ESB?
Postoje neke ključne razlike između SOA i ESB-a. SOA je arhitektonski model za implementaciju slabo povezanih aplikacija temeljenih na uslugama. ESB je dio infrastrukturnog softvera koji pomaže programerima da razvijaju usluge i komuniciraju između usluga putem prikladnih API-ja. ESB se može koristiti kao platforma na kojoj se realizira SOA. ESB je samo medij kroz koji protok usluga teče. ESB pruža mogućnosti za sastavljanje i uvođenje usluga, koje zauzvrat provode SOA.