SOA, ili Service Oriented Architecture, je tehnologija koja omogućuje povezivanje različitih resursa na mreži za korištenje kada i prema potrebi. Korištenje SOA-e ponekad je fleksibilnije u načinu na koji se resursi povezuju i koriste istovremeno nego u drugim tipovima dizajna arhitekture sustava. Servisno orijentirana arhitektura može biti posebno korisna kada je veći broj korisnika povezan sa sustavom, posebno ako postoje udaljeni korisnici koji moraju imati pristup određenim aplikacijama koje se nalaze na mreži.
Koncept SOA-e nije nastao pojavom računalnih sustava. Budući da je temeljna premisa dizajna povezana s interakcijom neovisnih resursa na temelju potražnje, osnovni model se desetljećima koristio za definiranje infrastrukture poduzeća. Model se može primijeniti na veze koje postoje između odjela koji funkcioniraju neovisno jedan o drugom, ili čak na autonomne funkcije koje se odvijaju unutar jednog odjela. U svim slučajevima, uspostavljena struktura omogućuje dobivanje podataka iz bilo kojeg broja neovisnih izvora kada i prema potrebi.
Uz softverske aplikacije, SOA pruža sredstva za iskorištavanje komponenti različitih programa na način koji komunikaciju između aplikacija čini jednostavnom i jednostavnom. Fleksibilnost SOA-e lako je pogodna za sustave gdje postoji potreba za kontinuiranom nadogradnjom aplikacija ili proširenjem mreže kako bi se zadovoljile dodatne funkcije kao i korisnici. Na primjer, uslužno orijentirana arhitektura radi vrlo dobro u sustavima dizajniranim za upotrebu u zdravstvenoj industriji, omogućujući prilagodbu sustava za rukovanje novim zadacima i funkcijama s relativnom lakoćom.
Iako SOA može biti brza i omogućiti jednostavno povezivanje sa širokim rasponom programskih komponenti, moguće je kontrolirati fleksibilnost arhitekture. To daje inženjerima sustava mogućnost da određenu SOA-u učine skalabilnom i brzom po želji ili implementiraju bilo koji broj sigurnosnih mjera koje nadziru pristup, vrstu pristupa dodijeljenog svakom korisniku u mreži i kojim se modulima unutar svakog programa može pristupiti. istovremeno. Ukratko, uslužno orijentirana arhitektura može se konfigurirati prema točnim specifikacijama tima za informacijsku tehnologiju i funkcionirati točno onako kako je poslovno potrebno za funkcioniranje.
Implementacija SOA-e ne znači nužno da se cijela postojeća mreža i moduli rezidentnog programa moraju mijenjati. Postoji niz SOA alata koji će se lako ugraditi u već postojeće mreže bez promjene jednog elementa trenutne funkcionalnosti. Ono što će Service Oriented Architecture učiniti jest dopustiti programima koji ranije nisu mogli crpiti resurse povezane s drugim programima da kombiniraju funkcije i olakšaju izvršavanje određenih zadataka. Na primjer, baza podataka prodaje i marketinga može biti u mogućnosti komunicirati s programima za obradu teksta kako bi stvorila masovnu slanje promotivnih pisama kombiniranjem informacija sadržanih u tekstualnom predlošku, profila uspostavljenih u marketinškoj bazi podataka i svih nezavisnih adresara koji se nalaze na mreža.