SOA eli Service Oriented Architecture on tekniikka, joka mahdollistaa erilaisten resurssien linkittämisen verkkoon käytettäväksi aina ja tarvittaessa. SOA: n käyttö on joskus joustavampaa resurssien yhdistämisessä ja hyödyntämisessä samanaikaisesti kuin muuntyyppisissä järjestelmäarkkitehtuurisuunnitelmissa. Palvelukeskeinen arkkitehtuuri voi olla erityisen hyödyllinen, kun järjestelmään on kytketty suurempi määrä käyttäjiä, varsinkin jos on etäkäyttäjiä, joilla on oltava pääsy tiettyihin verkossa oleviin sovelluksiin.
SOA -käsite ei syntynyt tietokonejärjestelmien tullessa. Koska suunnittelun lähtökohtana on riippumattomien resurssien vuorovaikutus kysynnän perusteella, perusmallia on käytetty vuosikymmeniä yrityksen infrastruktuurin määrittämisessä. Mallia voidaan soveltaa toisistaan riippumattomien osastojen välisiin yhteyksiin tai jopa yksittäisiin osastoihin kuuluviin itsenäisiin toimintoihin. Luodun rakenteen ansiosta kaikissa tapauksissa on mahdollista saada tietoja mistä tahansa riippumattomista lähteistä aina ja tarvittaessa.
Ohjelmistosovellusten avulla SOA tarjoaa keinoja hyödyntää eri ohjelmien osia tavalla, joka tekee sovellusten välisestä kommunikoinnista helppoa ja helppoa. SOA: n joustavuus soveltuu helposti järjestelmiin, joissa on jatkuvasti päivitettävä sovelluksia tai laajennettava verkkoa, jotta se pystyy vastaamaan lisätoimintoihin ja käyttäjiin. Esimerkiksi palvelukeskeinen arkkitehtuuri toimii erittäin hyvin järjestelmissä, jotka on suunniteltu käytettäväksi terveydenhuoltoteollisuudessa, mikä mahdollistaa järjestelmien mukauttamisen uusiin tehtäviin ja toimintoihin suhteellisen helposti.
Vaikka SOA voi olla nopea ja tarjoaa helpon yhteyden moniin ohjelmakomponentteihin, on mahdollista hallita arkkitehtuurin joustavuutta. Tämä antaa järjestelmäinsinööreille mahdollisuuden tehdä tietystä SOA: sta skaalautuva ja nopea halutulla tavalla tai toteuttaa minkä tahansa määrän suojaustoimenpiteitä, jotka valvovat pääsyä, kullekin verkon käyttäjälle myönnetyn käyttöoikeuden tyyppiä ja mitä moduuleja kussakin ohjelmassa voidaan käyttää samanaikaisesti. Lyhyesti sanottuna palvelukeskeinen arkkitehtuuri voidaan konfiguroida tietotekniikkatiimin tarkkojen vaatimusten mukaisesti ja toimia juuri niin kuin yritys tarvitsee sen toimimaan.
SOA: n käyttöönotto ei välttämättä tarkoita, että koko olemassa oleva verkko- ja asukasohjelmamoduuli on vaihdettava. On olemassa useita SOA-työkaluja, jotka voidaan helposti liittää olemassa oleviin verkkoihin muuttamatta yhtä nykyisen toiminnallisuuden osaa. Palvelukeskeinen arkkitehtuuri tekee sen, että ohjelmat, jotka eivät aiemmin voineet hyödyntää muihin ohjelmiin liittyviä resursseja, voivat yhdistää toimintoja ja helpottaa tiettyjen tehtävien suorittamista. Esimerkiksi myynti- ja markkinointitietokanta voi olla vuorovaikutuksessa tekstinkäsittelyohjelmien kanssa ja luoda mainoskirjeiden joukkopostitusta yhdistämällä tekstimalliin sisältyvät tiedot, markkinointitietokantaan perustetut profiilit ja kaikki riippumattomat osoitekirjat, jotka sijaitsevat verkkoon.