SOA proti ESB
SOA je sklop arhitekturnih konceptov, ki se uporabljajo za razvoj in integracijo storitev. Storitev je objavljeni paket funkcionalnosti, ki se ponuja prek spleta. ESB je del infrastrukturne programske opreme, ki nudi konstrukcijo programske arhitekture za zagotavljanje osnovnih storitev za kompleksne arhitekture. ESB se lahko uporablja kot platforma, na kateri se izvaja SOA.
Kaj je SOA?
SOA (storitveno usmerjena arhitektura) je sklop arhitekturnih konceptov, ki se uporabljajo za razvoj in integracijo storitev. SOA se ukvarja z porazdeljenim računalništvom, pri katerem potrošniki porabijo nabor interoperabilnih storitev. Več potrošnikov lahko porabi eno samo storitev in obratno. Zato se SOA pogosto uporablja za integracijo več aplikacij, ki uporabljajo različne platforme. Za pravilno delovanje SOA morajo biti storitve tesno povezane z operacijskimi sistemi in tehnologijami osnovnih aplikacij. Razvijalci SOA ustvarjajo storitve z uporabo funkcionalnih enot in jih dajejo na voljo prek interneta. Spletne storitve se lahko uporabljajo za izvajanje arhitekture SOA. V tem primeru spletne storitve postanejo enote funkcionalnosti SOA, dostopne prek interneta. Spletne storitve lahko uporablja kdorkoli, ne da bi ga skrbele platforme ali programski jeziki, ki se uporabljajo za njihov razvoj. SOA je neposredno zgrajen na principu usmerjenosti k storitvam, ki govori o storitvah s preprostim vmesnikom, do katerega lahko uporabniki dostopajo samostojno, ne da bi skrbeli za dejansko izvedbo storitve na platformi.
Kaj je ESB?
ESB (Enterprise Service Bus) je del infrastrukturne programske opreme, ki nudi konstrukcijo programske arhitekture za zagotavljanje osnovnih storitev za kompleksne arhitekture. Vendar obstajajo precejšnji argumenti glede tega, ali ESB imenovati arhitekturni slog, programski izdelek ali celo skupino izdelkov. Ponuja storitve prek mehanizma za sporočanje, ki temelji na dogodkih in temelji na standardih (kar je pravzaprav servisno vodilo). Na vrhu tega mehanizma za sporočanje je na voljo plast abstrakcije, ki arhitektom omogoča, da izkoristijo zmogljivosti, ki jih ponuja avtobus, brez pisanja dejanske kode. ESB se navadno izvaja s pomočjo vmesne infrastrukture, ki temelji na standardih.
Uporaba izraza "vodilo" v ESB je posledica dejstva, da ESB zagotavlja zelo podobno funkcijo kot fizično računalniško vodilo, vendar na veliko višji ravni abstrakcije. Ena glavnih prednosti ESB je zmožnost zmanjšanja števila kontaktnih točk; s tem veliko lažje prilagajanje spremembam. ESB se lahko uporablja kot platforma, na kateri se izvaja SOA. ESB lahko koncepte transformacije / usmerjanja (povezane s pretokom) pripelje do SOA. Poleg tega ESB z dokazovanjem abstrakcije za končne točke (v SOA) spodbuja ohlapno povezovanje med storitvami.
Kakšna je razlika med SOA in ESB?
Med SOA in ESB je nekaj ključnih razlik. SOA je arhitekturni model za izvajanje ohlapno povezanih aplikacij, ki temeljijo na storitvah. ESB je del infrastrukturne programske opreme, ki razvijalcem pomaga razvijati storitve in komunicirati med storitvami prek ustreznih API-jev. ESB se lahko uporablja kot platforma, na kateri se izvaja SOA. ESB je le medij, skozi katerega tečejo storitve. ESB zagotavlja zmogljivosti za sestavo in uvajanje storitev, ki nato izvajajo SOA.