RPC vs veebiteenus
SOAP-protokolli abil veebiteenuste loomiseks on vaja kasutada ühte kahest alternatiivist. Võib järgida kas dokumendi SOAP protokolli või RPC SOAP sõnumiprotokolli. RPC viitab kaugprotseduurikõnele ja see on protokoll, mida antud programm saab kasutada teenuse taotlemiseks teises programmis, mis asub teises kaugarvutis. RPC kasutamisel pole vaja teada programmi võrgu üksikasju. Antud protseduurikõnet nimetatakse alamrutiinseks või isegi funktsioonikõneks.
RPC kasutamise kasutamisel kasutatakse palju kliendi / serveri mudelit. Programm, mis taotleb teenuse osutamist, asub kliendi poolel ja arvuti, mis pakub antud programmi täitmist, on väidetavalt serveri otsas. RPC toimingut võib nimetada sünkroonseks, kuna see nõuab toimingut taotlevalt programmilt määratud toimingu peatamist kuni kaugprotseduuri tulemuste esitamiseni.
Tagamaks, et seade ei võta liiga kaua aega, kui ootel on erinevad toimingud, lubab RPC töödelda mitut lõime, millel on antud aadress, ja seega saab vastuseid anda nii, nagu nad tulevad, mitte aga jadana, kus üks toiming peab toimuma valmima järgmise alustamiseks.
SOAP-juhtimisega loodud veebiteenus saab seega järgida RPC- või dokumendisõnumi stiili. Dokumendistiil võib seega näidata konkreetset .xml-dokumenti, mida saab antud XML-skeemi alusel kinnitada. Kuna Java RPC-d kasutatakse selliste platvormide suhtluses nagu EJB, on Java-s töötavad sarnased rakendused. Veebiteenust seevastu kasutatakse peamiselt siis, kui kasutatakse rakendust, mis ei tööta Java-s ja püüab luua ühenduse veebiteenusega.
RPC ja veebiteenuste vaheline jõudlus on üsna erinev, kusjuures suured erinevused veebiteenuste ja RPC vahel on üsna varieeruvad. Mõnel juhul võib erinevus olla üsna väike, võttes arvesse vastupidavust. RPC-ga kaasneb väljakutse omada ülekoormatud serverikeskkonda, mis teeb teile mitme kliendiga töötamise üsna keeruliseks.
Teisest küljest võimaldab veebiteenus teenuse mitut kasutuselevõttu, ainsaks vajaduseks peab olema see, et veebiteenusele viidatakse HTTP kaudu. See võimaldab kasutada tavapäraseid võrgu pihustamise ja marsruutimise tehnikaid, mida kasutatakse suuremates kohtades. Samuti on oluline märkida, et veebiteenus ei vaja serveri või isegi kliendiga töötamiseks erilist kodeerimist.
Nii RPC kui ka veebiteenuse vastupidavust saab võrdselt võrrelda, kuigi on oluline märkida, et RPC nõuab, et kasutamise vahendajad toimiksid ootuspäraselt. Just siin tulevad mängu EE EJB ja sellised raamistikud nagu Spring. Parima teenuse tagamiseks on soovitatav enne RPC-keskkonna sissetoomist kõigepealt teha koostööd Java EE EJB-ga. Selle keskkonna ja ka RPC kokkupuude veebiteenustega muudab konfigureerimise palju lihtsamaks.
Kokkuvõte
RPC viitab kaugprotseduurikõnele.
Kui kliendi / serveri mudelit kasutatakse palju, on soovitatav kasutada RPC-d.
RPC võimaldab töödelda mitut lõime, millel on antud aadress.
RPC töötab EJB-d kasutaval platvormil.
Muudes kui Java platvormides kasutatav veebiteenus, kui rakendus soovib juurdepääsu.
Veebiteenust kasutatakse ka asünkroonse ühenduse sünkroonimiseks.