SOA ali storitveno usmerjena arhitektura je tehnologija, ki omogoča povezovanje različnih virov v omrežju za uporabo, kadar in po potrebi. Uporaba SOA je včasih bolj prilagodljiva pri hkratnem povezovanju in uporabi virov kot pri drugih vrstah sistemskih arhitektur. Storitveno usmerjena arhitektura je lahko še posebej koristna, če je s sistemom povezano večje število uporabnikov, še posebej, če obstajajo oddaljeni uporabniki, ki morajo imeti dostop do določenih aplikacij v omrežju.
Koncept SOA ni nastal s prihodom računalniških sistemov. Ker je osnovna premisa zasnove povezana z interakcijo neodvisnih virov na podlagi povpraševanja, se osnovni model uporablja že desetletja pri definiranju infrastrukture podjetja. Model se lahko uporablja za povezave med oddelki, ki delujejo neodvisno drug od drugega, ali celo za avtonomne funkcije, ki potekajo znotraj enega oddelka. V vseh primerih vzpostavljena struktura omogoča pridobivanje podatkov iz poljubnega števila neodvisnih virov, kadar in po potrebi.
S programskimi aplikacijami SOA zagotavlja sredstva za izkoriščanje komponent različnih programov na način, ki omogoča preprosto in enostavno komunikacijo med aplikacijami. Fleksibilnost SOA je primerna za sisteme, kjer je treba nenehno nadgrajevati aplikacije ali širiti omrežje, da bi izpolnili dodatne funkcije in uporabnike. Na primer, Service Oriented Architecture deluje zelo dobro v sistemih, zasnovanih za uporabo v zdravstveni industriji, kar omogoča prilagajanje sistemov za sorazmerno enostavno obvladovanje novih nalog in funkcij.
Medtem ko je SOA lahko hitra in omogoča enostavno povezljivost s širokim naborom programskih komponent, je mogoče nadzorovati fleksibilnost arhitekture. To daje sistemskim inženirjem možnost, da določeno SOA naredijo tako razširljivo in hitro, kot želijo, ali izvajajo poljubno število varnostnih ukrepov, ki spremljajo dostop, vrsto dostopa, dodeljenega vsakemu uporabniku v omrežju, in do katerih modulov znotraj posameznega programa je mogoče dostopati. hkrati. Skratka, storitveno usmerjeno arhitekturo je mogoče konfigurirati v skladu z natančnimi specifikacijami ekipe za informacijsko tehnologijo in delovati točno tako, kot jo podjetje potrebuje za delovanje.
Implementacija SOA ne pomeni nujno, da je treba spremeniti celotno obstoječe omrežje in rezidenčne programske module. Obstajajo številna orodja SOA, ki se zlahka precepijo v že obstoječa omrežja, ne da bi spremenili en element trenutne funkcionalnosti. Storitveno usmerjena arhitektura bo omogočila programom, ki prej niso mogli črpati virov, povezanih z drugimi programi, da združijo funkcije in olajšajo izvajanje določenih nalog. Baza podatkov o prodaji in trženju bi lahko na primer sodelovala s programi za obdelavo besedil, da bi ustvarila množično pošiljanje promocijskih pisem z združevanjem informacij, ki jih vsebuje besedilna predloga, profilov, vzpostavljenih v tržni bazi podatkov, in vseh neodvisnih imenikov, ki se nahajajo na omrežje.