SOA vs ESB
SOA ir arhitektūras koncepciju kopums, ko izmanto pakalpojumu attīstībai un integrēšanai. Pakalpojums ir publicēta funkcionalitātes pakete, kas tiek piedāvāta tīmeklī. ESB ir infrastruktūras programmatūras daļa, kas nodrošina programmatūras arhitektūras konstrukciju pamatpakalpojumu sniegšanai sarežģītām arhitektūrām. ESB var izmantot kā platformu, uz kuras tiek realizēts SOA.
Kas ir SOA?
SOA (uz pakalpojumu orientēta arhitektūra) ir arhitektūras koncepciju kopums, ko izmanto pakalpojumu izstrādei un integrēšanai. SOA nodarbojas ar izplatītu skaitļošanu, kurā patērētāji patērē sadarbspējīgu pakalpojumu kopumu. Vairāki patērētāji var patērēt vienu pakalpojumu un otrādi. Tāpēc SOA bieži izmanto, lai integrētu vairākas lietojumprogrammas, kas izmanto dažādas platformas. Lai SOA darbotos pareizi, pakalpojumi būtu brīvi jāsavieno ar operētājsistēmām un pamatā esošo lietojumprogrammu tehnoloģijām. SOA izstrādātāji pakalpojumus veido, izmantojot funkcionalitātes vienības, un padara tos pieejamus internetā. Web pakalpojumus var izmantot, lai ieviestu SOA arhitektūru. Tādā gadījumā tīmekļa pakalpojumi kļūst par SOA funkcionalitātes vienībām, kas pieejamas internetā. Tīmekļa pakalpojumus var izmantot ikviens, neuztraucoties par platformām vai programmēšanas valodām, kuras tiek izmantotas to izstrādei. SOA ir tieši balstīta uz pakalpojumu orientēšanas principu, kas runā par pakalpojumiem ar vienkāršu saskarni, kurai lietotāji var piekļūt neatkarīgi, neuztraucoties par faktisko pakalpojuma platformas ieviešanu.
Kas ir ESB?
ESB (Enterprise Service Bus) ir infrastruktūras programmatūras daļa, kas nodrošina programmatūras arhitektūras konstrukciju pamatpakalpojumu sniegšanai sarežģītām arhitektūrām. Bet ir ievērojams arguments par to, vai ESB saukt par arhitektūras stilu vai programmatūras produktu vai pat produktu grupu. Tas nodrošina pakalpojumus, izmantojot notikumu vadītu un uz standartiem balstītu ziņojumu sūtīšanas sistēmu (kas faktiski ir pakalpojumu kopne). Papildus šim ziņojumapmaiņas motoram tiek nodrošināts abstrakcijas slānis, lai arhitekti varētu izmantot autobusa piedāvātās iespējas, nerakstot faktisku kodu. ESB parasti īsteno, izmantojot uz standartiem balstītas starpprogrammatūras infrastruktūras.
Termina “kopne” lietošana ESB ir saistīta ar faktu, ka ESB patiešām nodrošina ļoti līdzīgu funkciju kā fiziskajai datora kopnei, taču daudz augstākā abstrakcijas līmenī. Viena no galvenajām priekšrocībām, kas piemīt ESB, ir spēja samazināt kontaktpunktu skaitu; tādējādi ievērojami atvieglojot pielāgošanos izmaiņām. ESB var izmantot kā platformu, uz kuras tiek realizēts SOA. Transformācijas / maršrutēšanas jēdzienus (kas saistīti ar plūsmu) SOB var nodot ESB. Turklāt, pierādot galapunktu abstrakciju (SOA), ESB veicina brīvu saikni starp pakalpojumiem.
Kāda ir atšķirība starp SOA un ESB?
Starp SOA un ESB ir dažas būtiskas atšķirības. SOA ir arhitektūras modelis brīvi savienotu pakalpojumu lietojumprogrammu ieviešanai. ESB ir infrastruktūras programmatūras daļa, kas palīdz izstrādātājiem izstrādāt pakalpojumus un sazināties starp pakalpojumiem, izmantojot piemērotas API. ESB var izmantot kā platformu, uz kuras tiek realizēts SOA. ESB ir tikai līdzeklis, pa kuru plūst pakalpojumi. ESB nodrošina iespējas pakalpojumu sastāvam un izvietošanai, kas savukārt īsteno SOA.