RPC vs servizio Web
La creazione di servizi Web che utilizzano il protocollo SOAP richiede l'utilizzo di due alternative. Si può seguire il protocollo Document SOAP o il protocollo di messaggistica SOAP RPC. RPC fa riferimento a Remote Procedure Call ed è un protocollo che può essere utilizzato da un determinato programma per richiedere un determinato servizio in un altro programma che si trova all'interno di un altro computer remoto. Quando si utilizza RPC, non è necessario conoscere i dettagli di rete del programma. Una determinata chiamata di procedura viene definita come una chiamata secondaria di routine o anche una chiamata di funzione.
Nell'impiego dell'uso di RPC, vi è un uso massiccio del modello client / server. Il programma che richiede di eseguire un servizio è sul lato client e il computer che fornisce l'esecuzione di un determinato programma si dice che si trovi sul lato server. L'azione RPC può essere definita sincrona, nel senso che richiede un programma che richiede un'azione per sospendere l'azione specificata fino al momento in cui vengono forniti i risultati di una procedura remota.
Per garantire che il dispositivo non impieghi troppo tempo quando ci sono diverse azioni in sospeso, RPC consente l'elaborazione di più thread che condividono un dato indirizzo, e quindi le risposte possono essere date come vengono, e non in serie dove un'azione deve essere essere completato per il prossimo a cominciare.
Un servizio Web creato utilizzando il controllo SOAP può quindi seguire lo stile di messaggistica RPC o Document. Lo stile del documento può quindi indicare il documento .xml specifico che può essere convalidato rispetto a uno schema XML. Poiché Java RPC è utilizzato nella comunicazione di piattaforme come EJB, applicazioni simili in esecuzione su Java. Il servizio Web, d'altra parte, viene utilizzato principalmente ogni volta che viene utilizzata un'applicazione che non funziona su Java e cerca di connettersi al servizio Web.
Le prestazioni tra RPC e servizi Web sono abbastanza distinte, con un'enorme variazione tra i servizi Web e RPC che è piuttosto variabile. In alcuni casi, la variazione può essere piuttosto piccola, con la considerazione della resilienza che entra in gioco. RPC ha la sfida di avere un ambiente server congestionato, il che rende piuttosto difficile lavorare con più client.
D'altro canto, il servizio Web consente l'implementazione di più servizi, con la sola necessità di soddisfare il fatto che il servizio Web venga invocato su un HTTP. Ciò consente lo sfruttamento delle normali tecniche di irrorazione della rete e di routing impiegate in siti più grandi. È anche importante notare che il servizio Web non richiede alcuna codifica speciale per funzionare con il server o anche con il client.
La resilienza di entrambi RPC e Web Service può essere paragonata, sebbene sia importante notare che RPC richiede che gli intermediari di utilizzo funzionino come previsto. È qui che EJ EEB e framework come Spring entrano in gioco. Per il miglior servizio, è consigliabile lavorare con Java EE EJB prima di introdurre l'ambiente RPC. L'esposizione al servizio Web per questo ambiente e RPC rende la configurazione molto più semplice.
Sommario
RPC fa riferimento a Remote Procedure Call.
L'uso di RPC è consigliato quando si usa molto il modello client / server.
RPC consente l'elaborazione di più thread che condividono un determinato indirizzo.
RPC utilizzato su una piattaforma che utilizza EJB.
Servizio Web utilizzato in piattaforme non Java quando un'applicazione richiede l'accesso.
Anche il servizio Web viene utilizzato per la sincronizzazione della comunicazione asincrona.