A lecke végére el tudod magyarázni, mit jelent a SOA, miben hasonlít és miben tér el a mikroszervizektől, és miért tartják a szolgáltatásokra bontás történeti előzményének.
Miért kell a SOA-t ismerni?
A „szolgáltatás” mint építőelem nem a mikroszervizekkel jelent meg. A SOA volt az első széles körben elterjedt kísérlet arra, hogy különálló, hálózaton elérhető képességekből nagyobb rendszereket állítsanak össze. Aki a mikroszervizeket érteni akarja, annak látnia kell, mit tartottak a SOA problémájának.
Mi a SOA?
A SOA (service-oriented architecture, szolgáltatásorientált architektúra) az OASIS (Organization for the Advancement of Structured Information Standards, szabványügyi szervezet) referenciamodellje szerint „elosztott képességek szervezésének és használatának paradigmája”, amelyek különböző tulajdonosi tartományok alatt lehetnek. A szolgáltatás az a mód, amellyel a fogyasztó igénye és a szolgáltató képessége összekapcsolódik. A modell három kulcsfogalma a látási kapcsolat (visibility), az interakció és a valós hatás (real world effect).
A SOA tehát elsősorban szemlélet, nem egyetlen konkrét technológia. A gyakorlatban a vállalati SOA-t gyakran egy központi üzenetközvetítővel (ESB, enterprise service bus), szabványos protokollokkal és központilag irányított szolgáltatásszerződésekkel valósították meg.
flowchart LR
A["Alkalmazás A"] --> E["Központi közvetítő (ESB)"]
B["Alkalmazás B"] --> E
E --> S1["Szolgáltatás 1"]
E --> S2["Szolgáltatás 2"]
Hogyan viszonyul a mikroszervizekhez?
Fowler és Lewis szerint a mikroszerviz-stílus nagyon hasonlít ahhoz, amit a SOA hívei is javasoltak, a „SOA” szó azonban sokféle dolgot jelent. A különbség jellemzően a megvalósítás helyén van:
Szempont
Jellemző vállalati SOA
Mikroszervizek
Hol van az „okosság”?
A központi közvetítőben (útválasztás, átalakítás, szabályok)
A végpontokban; a csatorna egyszerű („smart endpoints, dumb pipes”)
Irányítás
Központi, szabványosított szerződések
Elosztott, csapatonként
Szolgáltatás mérete
Gyakran nagy, vállalati képesség
Egy üzleti képesség, kis csapat birtokolja
Adat
Gyakran közös adattárak
Szolgáltatásonkénti adat
Fowler és Lewis kritikája szerint a SOA-implementációk a komplexitást gyakran az ESB-be rejtették, a központi szabványok pedig „kimondottan lélegzetelállító” bonyolultságot értek el. Ez a központi közvetítő egyszerre lett szűk keresztmetszet és változtatási akadály.
Szempontok szerint
Szempont
Jellemző SOA
Csatolás
Szerződéses, de a közvetítőn át erős függés alakulhat ki
Deployolhatóság
Szolgáltatásonként, de a központi réteg közös kiadási pont
Adatkezelés
Gyakran közös adat
Hibakezelés
A központi közvetítő egyetlen hibapont lehet
Költség
Magas szervezeti és eszközköltség
Gyakori tévhitek
Állítás
Pontosítás
„A SOA egyenlő a webszolgáltatásokkal.”
A SOA szemlélet; a webszolgáltatás csak egy lehetséges megvalósítás.
„A SOA mindig ESB-t jelent.”
Gyakori megvalósítás, de nem szükségszerű.
„A SOA elavult, a mikroszerviz teljesen más.”
A két stílus közös gyökerű; a különbség a központosítás mértéke.
Röviden
A SOA elosztott képességek szolgáltatásokon át történő szervezésének szemlélete.
A vállalati megvalósítások gyakran központi közvetítőre (ESB) és központi szabványokra épültek.
A mikroszerviz-stílus a SOA elveit decentralizáltabban valósítja meg.
A központi réteg szűk keresztmetszet és változtatási akadály lehet.
Ellenőrző kérdések
Mit jelent az, hogy a SOA szemlélet, nem technológia?
Hol van az „okosság” egy ESB-s SOA-ban, és hol egy mikroszerviz-rendszerben?
Miért válhat a központi közvetítő szűk keresztmetszetté?
SOA: szolgáltatásorientált architektúra
Célok
A lecke végére el tudod magyarázni, mit jelent a SOA, miben hasonlít és miben tér el a mikroszervizektől, és miért tartják a szolgáltatásokra bontás történeti előzményének.
Miért kell a SOA-t ismerni?
A „szolgáltatás” mint építőelem nem a mikroszervizekkel jelent meg. A SOA volt az első széles körben elterjedt kísérlet arra, hogy különálló, hálózaton elérhető képességekből nagyobb rendszereket állítsanak össze. Aki a mikroszervizeket érteni akarja, annak látnia kell, mit tartottak a SOA problémájának.
Mi a SOA?
A SOA (service-oriented architecture, szolgáltatásorientált architektúra) az OASIS (Organization for the Advancement of Structured Information Standards, szabványügyi szervezet) referenciamodellje szerint „elosztott képességek szervezésének és használatának paradigmája”, amelyek különböző tulajdonosi tartományok alatt lehetnek. A szolgáltatás az a mód, amellyel a fogyasztó igénye és a szolgáltató képessége összekapcsolódik. A modell három kulcsfogalma a látási kapcsolat (visibility), az interakció és a valós hatás (real world effect).
A SOA tehát elsősorban szemlélet, nem egyetlen konkrét technológia. A gyakorlatban a vállalati SOA-t gyakran egy központi üzenetközvetítővel (ESB, enterprise service bus), szabványos protokollokkal és központilag irányított szolgáltatásszerződésekkel valósították meg.
Hogyan viszonyul a mikroszervizekhez?
Fowler és Lewis szerint a mikroszerviz-stílus nagyon hasonlít ahhoz, amit a SOA hívei is javasoltak, a „SOA” szó azonban sokféle dolgot jelent. A különbség jellemzően a megvalósítás helyén van:
Fowler és Lewis kritikája szerint a SOA-implementációk a komplexitást gyakran az ESB-be rejtették, a központi szabványok pedig „kimondottan lélegzetelállító” bonyolultságot értek el. Ez a központi közvetítő egyszerre lett szűk keresztmetszet és változtatási akadály.
Szempontok szerint
Gyakori tévhitek
Röviden
Ellenőrző kérdések
Források