In questo articolo vengono descritti due protocolli di accesso al servizio Web, SAPONE ("Simple Object Access Protocol") e RIPOSO ("Trasferimento dello stato di rappresentanza").
I servizi Web sono definiti per prelevare, leggere o trasferire attivamente dati da un'origine definita per produrre un risultato specificato: un risultato.
Il seguente esempio rudimentale mostra un utilizzo di base dei servizi Web prima di comprendere come vengono trasferiti i dati da e verso il servizio Web, utilizzando SOAP o REST.
Se uno sviluppatore sta scrivendo un'applicazione che richiede alcuni calcoli di dati in un posto, scriverà il metodo di calcolo nel codice, in quella posizione. Tuttavia, se il calcolo dei dati è necessario in altre parti dell'applicazione, sarebbe inefficiente e poco pratico mantenere se lo sviluppatore ha inserito il metodo di calcolo in ogni area è necessario.
Dovendo apportare una modifica a quel metodo, è necessario trovare ogni istanza da modificare (e ripetere il test). Questo scenario trarrebbe vantaggio dall'utilizzo di un servizio Web per funzionare in modo ottimale e migliorare l'agilità aziendale.
Creando un servizio Web con metodi accessibili per aggiungere, sottrarre, dividere e moltiplicare, l'applicazione si impegnerà con quel servizio Web ogni volta che è richiesto il calcolo dei dati; chiama il servizio web per eseguire il calcolo e produrre il risultato. Quindi c'è solo un posto per lo sviluppatore per mantenere il metodo di calcolo dei dati.
Il modo in cui i dati vengono gestiti nei servizi Web è determinato dall'implementazione di SOAP o REST.
Un'applicazione costruita su processi eseguibili si basa su a architettura orientata ai servizi ( “SOA”). È un approccio su come utilizzare i servizi che trasferisce, produce, convalida o calcola i dati.
SOA sta diventando sempre più favorevole per migliorare la qualità e il tempo di sviluppo e migliorare le prestazioni e la scalabilità delle applicazioni.
Notazione di modellazione dei processi aziendali ("BPMN") sta modellando un servizio o un processo aziendale, che può essere fatto da persone non tecniche, cioè l'analista aziendale. utilizzando BPMN, i modelli di business (per i servizi) sono facilmente interpretabili dagli sviluppatori che implementano il modello come un processo eseguibile e questi processi possono o meno richiedere l'interazione umana.
SOAP è un metodo di trasferimento dei dati su Internet.
Originariamente sviluppato da Microsoft a causa dell'avvento di Internet, SOAP ha sostituito il vecchio DCOM e CORBA tecnologie, ed è stato in giro per molto più tempo di REST.
Il SOAP è considerato più pesante di REST, ovvero c'è più bagaglio necessario per trasferire i dati, il che significa che è necessaria più larghezza di banda per richiesta di messaggio e l'origine dati e gli obiettivi hanno più lavoro da fare quando si impacchettano e ricevono i dati.
SOAP utilizza solo XML per i servizi di messaggistica su Internet e le richieste di messaggi XML possono essere molto complesse e, se sviluppate manualmente, è necessaria un'attenzione particolare perché SOAP è inflessibile con errori.
È possibile automatizzare le richieste di messaggi SOAP utilizzando i linguaggi .NET (ad esempio), in cui gli sviluppatori non devono lavorare con l'XML poiché viene generato automaticamente in background.
Se si verificano problemi con la richiesta di messaggio, nella risposta del messaggio vengono restituite informazioni dettagliate sull'errore e questo processo può anche essere automatizzato facendo riferimento ai codici di errore standard forniti nella risposta del messaggio.
Pertanto, il linguaggio di programmazione utilizzato è un fattore determinante per quanto sarà difficile implementare SOAP.
Uno dei pezzi di bagaglio che accompagna un messaggio SOAP è il Lingua di descrizione dei servizi Web ("WSDL") per spiegare come funziona il servizio web. Quando un'applicazione richiama il servizio Web, legge e comprende cosa fare con il servizio web.
SOAP non è vincolato all'utilizzo HTTP (HyperText Transfer Protocol) esclusivamente; può essere utilizzato su SMTP e altri protocolli di trasporto.
Poiché SOAP è stato standardizzato, è più rigido di REST, sebbene entrambi dipendano da regole stabilite.
REST è il nuovo e più elegante cugino di SOAP e sta rapidamente diventando la scelta per la maggior parte delle applicazioni web e mobili.
Più di un decennio dopo la sua introduzione, REST è un modo più leggero, più manutenibile e scalabile di interagire con i servizi web.
A differenza di SOAP, REST non utilizza XML esclusivamente; testo normale, CSV, e RSS può essere usato, così come JSON per chiamate AJAX; fintanto che sia la fonte che i target possono comprendere i formati utilizzati.
REST è meno complesso e considerato una curva di apprendimento più piccola rispetto a SOAP. La maggior parte dei linguaggi di programmazione moderni dispone di librerie e framework per facilitare i servizi REST (RESTful), come C #, Python, Java e Perl.
REST è più veloce grazie all'elaborazione minima ed è più efficiente utilizzando diversi formati di messaggio.
Vi sono vantaggi e svantaggi per entrambi, quindi, quando si considera quale protocollo di accesso utilizzare, considerare i linguaggi di programmazione utilizzati nell'organizzazione, l'ambiente dell'applicazione ei requisiti dell'applicazione.