Mis on teenusele orienteeritud arhitektuur?

Teenusele orienteeritud arhitektuurid pole just uus kontseptsioon, kuid tänapäeval kasutatakse neid kõige sagedamini uue tehnoloogia eeliseid. Kõige põhilisemalt kirjeldavad teenusele orienteeritud arhitektuurid tarkvararakenduste struktuuri ja interaktsiooni ärimudeliga. Selle kõige võtmesõnaks on Teenindus.

Teenus, nagu on kirjeldatud jaotises Service Oriented Architectures, on spetsiaalne tarkvarafunktsioon, mis ei sõltu muudest funktsioonidest. Näiteks panga tarkvaraprotokollid peavad sisaldama paratamatult taotlust Hangi kliendi saldo, mille puhul kuvatakse kas panga või kliendi soovil jooksev saldo. Kliendi saldo hankimine on teenus. Pangamudelit kasutades hõlmavad muud teenused protsessideposiidi, protsessi väljamakse jms.

Teenusele orienteeritud arhitektuure kasutades töötavad kõik need teenused iseseisvalt läbi üldise tarkvarasüsteemi, kasutades samal ajal samu tarkvarasüsteeme. See kõlab intuitiivselt, kuid tegelikult pole see nii. Põhimõtteliselt kasutavad erinevad teenused sama süsteemi erinevate tulemuste saavutamiseks samade toimingute tegemiseks. John Smithi kliendisaldo hankimine on sama funktsioon, mis Jane Doe Enterprisesi kliendisaldo hankimine, kuid kaasatud andmed on erinevad. Teenusele orienteeritud arhitektuuri ilu seisneb selles, et tarkvara on loodud töötlema kõiki Get Customer Balance käske samal viisil, olenemata sellest, kas klient on üksikisik nagu John Smith või ettevõte nagu Jane Doe Enterprises.

Teenusele orienteeritud arhitektuuride edu võti on see, et teenused ise on lõdvalt seotud. See tähendab, et nad on kohandatavad erinevate oludega. Kui teenuse käsk Hangi kliendi saldo peaks äkki muutuma Hankige kliendi saldo kõigi kontode jaoks, ei pea tarkvara virtuaalset ratast uuesti leiutama; pigem võib seotud teenus kasutada samu põhiprotokolle, et saavutada samad eesmärgid veidi erinevate vahenditega.

Üks viis, kuidas teenusele orienteeritud arhitektuure tänapäeval esitatakse, on XML-i kaudu. Parema termini puudumisel esitleb see üldine programmeerimiskeel omamoodi lingua franca. Kõik, mida vajate, on XML-i päringute töötlemiseks veebibrauser. Te ei pea kasutama Windowsi või Mac OS-i uusimat versiooni. Süsteemi sisselogimine ja vajalike Teenuste teostamine on hoolitsetud, sest päringu esitav arvuti ja Teenust pakkuv arvuti räägivad sama põhikeelt.