Forskellen mellem SOA og ESB
SOA vs ESB
SOA er et sæt arkitektoniske begreber anvendt til udvikling og integration af tjenester. En tjeneste er en offentliggjort pakke af funktionalitet, der tilbydes over internettet. ESB er et stykke infrastruktur software, der leverer en software arkitektur konstruktion til at levere grundlæggende tjenester til komplekse arkitekturer. ESB kan bruges som en platform, hvor SOA realiseres.
Hvad er SOA?
SOA (Serviceorienteret arkitektur) er et sæt arkitektoniske begreber, der anvendes til udvikling og integration af tjenester. SOA beskæftiger sig med distribueret computing, hvor forbrugerne forbruger et sæt interoperable tjenester. Flere forbrugere kan forbruge en enkelt tjeneste og omvendt. Derfor bruges SOA ofte til at integrere flere applikationer, der bruger forskellige platforme. For at SOA skal kunne fungere korrekt, bør tjenester løst sammenkobles med operativsystemer og teknologier til underliggende applikationer. SOA-udviklere opretter tjenester ved hjælp af funktionalitetsenheder og gør dem tilgængelige via internettet. Web-tjenester kan bruges til at implementere SOA-arkitektur. I så fald bliver webtjenester enheder af funktionalitet af SOA tilgængelige over internettet. Web-tjenester kan bruges af nogen uden at være bekymret over platformene eller programmeringssprogene, der bruges til at udvikle dem. SOA bygger direkte på princippet om serviceorientering, der tales om tjenester med simpel grænseflade, der kan åbnes uafhængigt af brugerne, uden at bekymre sig om den faktiske platformsimplementering af tjenesten.
Hvad er ESB?
ESB (Enterprise Service Bus) er et stykke infrastruktursoftware, der leverer en softwarearkitekturkonstruktion til at levere basale tjenester til komplekse arkitekturer. Men der er et betydeligt argument om, hvorvidt man skal ringe til ESB en arkitektonisk stil eller et softwareprodukt eller endda en gruppe produkter. Det leverer tjenester via eventdrevet og standardbaseret motor til messaging (som faktisk er servicebussen). På toppen af denne messaging-motor er der tilvejebragt et abstraktionstrin, der gør det muligt for arkitekter at udnytte de faciliteter, som bussen tilbyder, uden at skrive nogen egentlig kode. ESB implementeres normalt gennem standardbaserede middleware-infrastrukturer.
Brugen af udtrykket "bus" i ESB skyldes, at ESB giver en meget lignende funktion til den fysiske computerbus, men på et meget højere niveau af abstraktion. En af de største fordele ved at have et ESB er evnen til at reducere antallet af kontaktpunkter; dermed lettere tilpasning til ændringerne. ESB kan bruges som en platform, hvor SOA realiseres. Begreberne transformation / routing (flowrelateret) kan hentes til SOA af ESB.Desuden fremmer ESB ved at bevise abstraktionen for endepunkter (i SOA) løs kobling mellem tjenester.
Hvad er forskellen mellem SOA og ESB?
Der er nogle vigtige forskelle mellem SOA og ESB. SOA er en arkitektonisk model til implementering af løst koblede servicebaserede applikationer. ESB er en del af infrastruktursoftware, der hjælper udviklere med at udvikle tjenester og kommunikere mellem tjenester via egnede API'er. ESB kan bruges som en platform, hvor SOA realiseres. ESB er kun det medium, hvorigennem tjenesterne flyder. ESB leverer faciliteter til sammensætning og implementering af tjenester, der igen implementerer SOA.