Mi az a SOA? Szolgáltatásközpontú Architecture alapelvek

Mi az a SOA (szolgáltatás-orientált Architectúra)?

A szolgáltatás-orientált Architecture (SOA) a számítógépes szoftverek tervezésének olyan architektúra mintája, amelyben az alkalmazás-összetevők kommunikációs protokollon keresztül, jellemzően hálózaton keresztül nyújtanak szolgáltatásokat más összetevőknek. A szolgáltatás-orientáltság elvei függetlenek minden terméktől, szállítótól vagy technológiától.

A SOA csak megkönnyíti a szoftverösszetevők különböző hálózatokon történő együttműködését.

A SOA architektúra szerint felépített webszolgáltatások általában függetlenebbé teszik a webszolgáltatást. Maguk a webszolgáltatások is tudnak egymással adatokat cserélni, és a létrejöttük alapelvei miatt nincs szükségük semmilyen emberi interakcióra, és nincs szükségük semmilyen kódmódosításra. Biztosítja, hogy a hálózat webszolgáltatásai zökkenőmentesen kommunikálhassanak egymással.

Szolgáltatásközpontú Architecture (SOA) alapelvei

A SOA-tervezési elveknek 9 típusa létezik, amelyeket alább említünk

1. Szabványos szolgáltatási szerződés

A szolgáltatások megfelelnek a szolgáltatás leírásának. Egy szolgáltatásnak rendelkeznie kell valamilyen leírással, amely leírja, hogy miről szól a szolgáltatás. Ez megkönnyíti az ügyfélalkalmazások számára a szolgáltatás működésének megértését.

2. Laza tengelykapcsoló

Less egymástól való függőség. Ez a webszolgáltatások egyik fő jellemzője, ami éppen azt mondja ki, hogy a lehető legkevésbé legyen függőség a webszolgáltatás és a webszolgáltatást hívó kliens között. Tehát ha a szolgáltatás funkcionalitása bármikor megváltozik, nem szabad megszakítania az ügyfélalkalmazást, vagy leállítani a működését.

3. Szolgáltatás absztrakció

A szolgáltatások elrejtik a beágyazott logikát a külvilág elől. A szolgáltatás nem fedheti fel, hogyan hajtja végre a funkcióit; csak arról kell tájékoztatnia az ügyfélalkalmazást, hogy mit csinál, és nem arról, hogyan csinálja.

4. Szolgáltatás újrafelhasználhatósága

A logika szolgáltatásokra oszlik az újrafelhasználás maximalizálása érdekében. Bármely fejlesztő cégnél az újrafelhasználhatóság nagy téma, mert nyilvánvalóan nem akarna időt és energiát fordítani arra, hogy ugyanazt a kódot újra és újra megépítse több alkalmazáson, amelyekhez szükség van rá. Ezért a webszolgáltatás kódjának megírása után képesnek kell lennie arra, hogy különböző alkalmazástípusokkal működjön.

5. Szolgáltatási autonómia

A szolgáltatásoknak rendelkezniük kell az általuk beágyazott logika felett. A szolgáltatás mindent tud az általa kínált funkciókról, ezért teljes ellenőrzést kell gyakorolnia a benne található kód felett.

6. Szolgálati hontalanság

Ideális esetben a szolgáltatásoknak hontalanoknak kell lenniük. Ez azt jelenti, hogy a szolgáltatások nem tarthatnak vissza információkat egyik államtól a másikig. Ezt vagy az ügyfélalkalmazásból kell megtenni. Példa lehet egy vásárlási oldalon leadott rendelés. Most már rendelkezhet egy webszolgáltatással, amely megadja egy adott cikk árát. De ha a tételek kosárba kerülnek, és a weboldal arra az oldalra navigál, ahol Ön fizet, akkor a fizető oldalra utalandó termék árának felelőssége nem a webszolgáltatást terheli. Ehelyett a webalkalmazásnak kell elvégeznie.

7. Szolgáltatás felfedezhetősége

A szolgáltatások felfedezhetők (általában a szolgáltatásnyilvántartásban). Ezt már láthattuk az UDDI koncepciójában, amely egy olyan nyilvántartást hajt végre, amely információkat tárolhat a webszolgáltatásról.

8. Szolgáltatás összeállítása

A szolgáltatások a nagy problémákat apró problémákra bontják. Soha nem szabad egy alkalmazás összes funkcióját egyetlen szolgáltatásba beágyazni, ehelyett a szolgáltatást modulokra kell bontani, mindegyik külön üzleti funkcióval.

9. Szolgáltatások átjárhatósága

A szolgáltatásoknak olyan szabványokat kell alkalmazniuk, amelyek lehetővé teszik a különböző előfizetők számára a szolgáltatás használatát. A webszolgáltatásokban a szabványok, mint XML és a HTTP-n keresztüli kommunikációt használják annak biztosítására, hogy megfeleljen ennek az elvnek.