SOA vs ESB
SOA és un conjunt de conceptes arquitectònics utilitzats per al desenvolupament i la integració de serveis. Un servei és un paquet publicitari de funcionalitats que s'ofereix a través del web. ESB és una peça de programari d'infraestructura que proporciona una construcció d'arquitectura de programari per proporcionar serveis bàsics per a arquitectures complexes. ESB es pot utilitzar com a plataforma en la qual es realitza SOA.
Què és SOA?
SOA (Arquitectura orientada a serveis) és un conjunt de conceptes arquitectònics utilitzats per al desenvolupament i la integració de serveis. SOA tracta de la informàtica distribuïda en la qual els consumidors consumeixen un conjunt de serveis interoperables. Diversos consumidors poden consumir un sol servei i viceversa. Per tant, SOA s'utilitza sovint per integrar múltiples aplicacions que utilitzen diferents plataformes. Perquè SOA funcioni correctament, els serveis s'han d'acoblar lliurement amb els sistemes operatius i les tecnologies de les aplicacions subjacents. Els desenvolupadors de SOA creen serveis utilitzant unitats de funcionalitat i els fan disponibles a Internet. Els serveis web es poden utilitzar per implementar l'arquitectura SOA. En aquest cas, els serveis web esdevenen les unitats de funcionalitat de SOA accessibles a través d'Internet. Els serveis web poden ser utilitzats per qualsevol persona sense preocupar-se per les plataformes o els llenguatges de programació utilitzats per desenvolupar-los. SOA es basa directament en el principi d'orientació al servei, que parla de serveis amb una interfície senzilla a la qual els usuaris poden accedir de manera independent, sense preocupar-se per la implementació real de la plataforma del servei.
Què és l'ESB?
ESB (Enterprise Service Bus) és una peça de programari d'infraestructura que proporciona una construcció d'arquitectura de programari per proporcionar serveis bàsics per a arquitectures complexes. Però hi ha un argument considerable sobre si s'anomena ESB un estil arquitectònic o un producte de programari o fins i tot un grup de productes. Proporciona els serveis mitjançant un motor de missatgeria basat en estàndards i basat en esdeveniments (que en realitat és el bus de servei). A més d'aquest motor de missatgeria, es proporciona una capa d'abstracció que permet als arquitectes explotar les instal·lacions que ofereix l'autobús, sense escriure cap codi real. ESB normalment s'implementa mitjançant infraestructures de programari intermedi basades en estàndards.
L'ús del terme "autobús" a l'ESB es deu al fet que l'ESB ofereix una funció molt similar al bus físic de l'ordinador, però a un nivell d'abstracció molt superior. Un dels principals avantatges de tenir un ESB és la capacitat de reduir el nombre de punts de contacte; així, facilitant molt l'adaptació als canvis. ESB es pot utilitzar com a plataforma sobre la qual es realitza SOA. Els conceptes de transformació/encaminament (relacionats amb el flux) es poden portar a SOA per ESB. A més, en demostrar l'abstracció dels punts finals (en SOA), ESB promou un acoblament fluix entre serveis.
Quina diferència hi ha entre SOA i ESB?
Hi ha algunes diferències clau entre SOA i ESB. SOA és un model arquitectònic per implementar aplicacions basades en serveis poc acoblades. ESB és un programari d'infraestructura que ajuda els desenvolupadors a desenvolupar serveis i a comunicar-se entre serveis mitjançant API adequades. ESB es pot utilitzar com a plataforma sobre la qual es realitza SOA. ESB és només el mitjà pel qual flueixen els serveis. ESB ofereix facilitats per a la composició i el desplegament de serveis, que al seu torn implementen el SOA.