RPC vs webservice
Oprettelse af webservices ved hjælp af SOAP-protokollen kræver, at et af to alternativer anvendes. Man kan enten følge Document SOAP-protokollen eller RPC SOAP-meddelelsesprotokollen. RPC henviser til Remote Procedure Call, og det er en protokol, der kan bruges af et givet program til at anmode om en given tjeneste i et andet program, der er placeret på en anden fjerncomputer. Når du bruger RPC, er det ikke nødvendigt at kende programmets netværksdetaljer. Et givet procedureopkald kaldes et subrutineopkald eller endda et funktionsopkald.
Ved anvendelse af RPC er der stor brug af klient / servermodel. Programmet, der anmoder om, at en tjeneste udføres, er på klientsiden, og computeren, der leverer udførelsen af et givet program, siges at være på serverenden. RPC-handling kan betegnes som synkron, idet den kræver, at et program, der anmoder om handling, skal have den specificerede handling suspenderet indtil et sådant tidspunkt, hvor resultaterne af en fjernprocedure gives.
For at sikre, at enheden ikke tager for lang tid, når der er forskellige handlinger, der verserer, tillader RPC behandling af flere tråde, der deler en given adresse, og dermed kan svarene gives, når de kommer, og ikke i serier, hvor en handling skal være færdig med det næste, der starter.
En webtjeneste, der oprettes ved hjælp af SOAP-kontrol, kan således følge RPC- eller dokumentmeddelelsesstilen. Dokumentstilen kan derfor indikere det specifikke .xml-dokument, der kan valideres mod et givet XML-skema. Da Java RPC bruges til kommunikation af platforme som EJB, er lignende applikationer, der kører på Java. Webtjeneste bruges på den anden side hovedsageligt, når der er brug af en app, der ikke kører på Java og søger at oprette forbindelse til webservicen.
Ydeevnen mellem RPC og Web Services er ganske forskellige, med en enorm variation mellem webservices og RPC er ganske variabel. I nogle tilfælde kan variationen være ganske lille med hensyn til elasticitet, der kommer i spil. RPC kommer med udfordringen med at have et overbelastet servermiljø, hvilket gør det ret vanskeligt for dig at arbejde med flere klienter.
På den anden side tillader Web Service flere distributioner af tjenester, med det eneste behov, der skal opfyldes, at Web Service kaldes via en HTTP. Dette muliggør udnyttelse af de normale netværkssprøjtnings- og ruteteknikker anvendt på større steder. Det er også vigtigt at bemærke, at Web Service ikke har brug for nogen særlig kodning for at fungere med serveren eller endda klienten.
Både RPCs og Web Service's modstandsdygtighed kan sammenlignes lige, selvom det er vigtigt at bemærke, at RPC kræver, at brugsformidlere fungerer som forventet. Det er her EE EJB og rammer som foråret kommer i spil. For de bedste i service anbefales det at arbejde med Java EE EJB først inden RPC-miljøet bringes ind. Eksponering for Web Service for dette miljø og RPC gør også konfiguration meget lettere.
Resumé
RPC henviser til opkald til fjernprocedure.
Brug af RPC anbefales, når der er stor brug af klient / servermodel.
RPC tillader behandling af flere tråde, der deler en given adresse.
RPC ansat på en platform, der bruger EJB.
Webtjeneste brugt i ikke-Java-platforme, når en app ønsker adgang.
Webtjeneste bruges også til synkronisering af asynkron kommunikation.