RPC срещу уеб услуга
Създаването на уеб услуги с помощта на протокола SOAP изисква използването на една от двете алтернативи. Човек може да следва протокола SOAP на документа или протокола за съобщения RPC SOAP. RPC се отнася до Remote Procedure Call и той е протокол, който може да се използва от дадена програма за заявяване на дадена услуга в друга програма, която се намира в друг отдалечен компютър. Когато използвате RPC, не е необходимо да знаете подробностите за мрежата на програмата. Дадено обаждане на процедура се нарича подпрограмно повикване или дори функционално повикване.
При използването на RPC се използва тежко моделът клиент / сървър. Програмата, която иска да се извърши услуга, е от страна на клиента, а компютърът, осигуряващ изпълнението на дадена програма, се казва, че е в края на сървъра. RPC действието може да се нарече синхронно, тъй като изисква програма, която изисква действие, да спре определеното действие до момента, в който се дадат резултатите от отдалечена процедура.
За да се гарантира, че устройството не отнема много време, когато има различни действия в очакване, RPC позволява обработката на множество нишки, които споделят даден адрес, и по този начин отговорите могат да бъдат дадени, тъй като те идват, а не в серия, когато едно действие трябва да бъде завършен за следващото, което ще започне.
По този начин уеб услуга, която е създадена с помощта на SOAP контрол, може да следва стила за съобщения RPC или Document. Следователно стилът на документа може да посочва специфичния .xml документ, който може да бъде валидиран спрямо дадена XML схема. Тъй като Java RPC се използва в комуникацията на платформи като EJB, подобни приложения работят на Java. Уеб услугата, от друга страна, се използва главно винаги, когато има приложение, което не работи на Java и се стреми да се свърже с уеб услугата.
Производителността между RPC и Web Services е доста отчетлива, като огромна разлика между уеб услугите и RPC е доста променлива. В някои случаи вариацията може да бъде доста малка, като се има предвид устойчивостта. RPC идва с предизвикателството да имате претоварена сървърна среда, което ви прави доста трудно да работите с множество клиенти.
От друга страна, Web Service позволява многократно разгръщане на услугата, като единственото трябва да бъде изпълнено е, че уеб услугата се извиква през HTTP. Това позволява използването на нормалните техники за пръскане и маршрутизиране на мрежата, използвани в по-големи обекти. Важно е също да се отбележи, че Web Service не се нуждае от специално кодиране, за да функционира със сървъра или дори с клиента.
Устойчивостта както на RPC, така и на Web Service може да бъде сравнена еднакво, въпреки че е важно да се отбележи, че RPC изисква посредниците за използване, за да функционират както се очаква. Именно тук влизат в действие EE EJB и рамки като Spring. За най-добро обслужване е препоръчително първо да работите с Java EE EJB, преди да въведете RPC среда. Излагането на Web Service на тази среда и RPC също прави конфигурацията много по-лесна.
резюме
RPC се отнася до разговор за отдалечена процедура.
Използването на RPC се препоръчва, когато се използва интензивно модел клиент / сървър.
RPC позволява обработката на множество нишки, които споделят даден адрес.
RPC, използван на платформа, която използва EJB.
Уеб услуга, използвана в не-Java платформи, когато приложението иска достъп.
Уеб услугата също се използва за синхронизиране на асинхронна комуникация.