|
Recensione di dree
L'obiettivo di questo libro è quello di dare risposte e fornire pratici
esempi su tutto ciò che c'è dietro all'insieme di tecnologie che stanno
dietro al nome di "web service" (servizi web). Si tratta dunque di un
volume che con un preciso percorso, darà significato a sigle quali RPC,
SOAP, WSDL, UDDI ecc, che sono essenza stessa dei web service.
Il pubblico a cui si rivolge questo libro è decisamente quello del
programmatore Perl con conoscenze medio-alte. Si passa infatti subito al
sodo e sono anche richieste conoscenze di programmazione Perl orientata
agli oggetti.
Gli autori, Randy J. Ray e Pavel Kulchenko, sono programmatori Perl dai
primi anni 90 e autori dei principali moduli utilizzati nel libro:
RPC::XML di Ray e SOAP::Lite, XMLRPC::Lite e UDDI::Lite di
Kulchenko.
La struttura del libro è la seguente: dopo un paio di capitoli dedicati
alla genesi dei Web Service e su HTML e XML (molto brevi, sufficienti per
focalizzare velocemente sulle strutture su cui i web service si fondano),
troviamo due capitoli dedicati a XML-RPC. Nel primo si ha un'introduzione
ai concetti su cui si basa la tecnologia XML-RPC (con brevi esempi senza
utilizzo di moduli particolari) mentre nel secondo si parla di
programmazione XML-RPC attraverso i moduli dedicati allo scopo: RPC::XMLSimple, XMLRPC::Lite e RPC::XML.
La parte dedicata a SOAP è più consistente, vista la maggiore complessità
dell'argomento, e ad essa vengono dedicati quattro capitoli: introduzione,
programmazione di client SOAP con i moduli SOAP (trattata forse un po' troppo
velocemente) e SOAP::Lite (a fondo), programmazione di server SOAP su
protocollo HTTP e infine SOAP su protocolli non HTTP (con SOAP::Transport).
I restanti quattro capitoli sono dedicati rispettivamente a WSDL (linguaggio
per poter descrivere ad un client l'interfaccia che il server gli mette a
disposizione), UDDI (specificazioni medianti le quali è} possibile per un
web service cercare e trovare altri web service con i quali interagire),
REST (principi che definiscono lo stile di un'architettura, stili di
comportamento per disegnare nuove tipologie di web service) e infine gli
argomenti più avanzati (transazioni, sicurezza, ecc).
Da notare che quasi 1/3 del libro è dedicato alle appendici: le programming
reference di XML-RPC Toolkit (RPC::XMLSimple, XMLRPC::Lite, RPC::XML) e di
SOAP::Lite, i sorgenti completi degli esempi presentati nei capitoli
precedenti ed infine la bibliografia e l'indice analitico.
Pro: la competenza degli autori si fa sentire. E' palpabile
la qualità e la puntualità del codice e della scelta sul cosa è necessario
dire e non dire.
Contro: a prescindere dalla difficoltà degli argomenti
trattati, a volte l'inglese utilizzato non è dei più semplici per il lettore
non anglofono che possieda una conoscenza prettamente scolastica della lingua.
Un difetto che personalmente trovo in quasi tutti i libri O'Reilly è il
fatto che manchino sempre quel centinaio di pagine che farebbero del libro,
IL libro per eccellenza su quell'argomento, un riferimento che si completa
da solo. Ciò non toglie che il libro meriti, a mio parere, il massimo dei
voti.
↑
Recensione di David "Joestick" Salvi
I servizi web nascono dall'esigenza di rendere disponibili e fruibili
le informazioni eterogenee che si trovano su Internet.
Questo libro presenta un semplice ma potente package Perl, SOAP::Lite che permette di creare
rapidamente servizi web in grado di scambiare e manipolare informazioni.
I primi capitoli del libro delineano una rapida ma esauriente panoramica sull'XML e sul SOAP;
questi capitoli sono prettamente informativi ma servono ad introdurre il
vero "cuore" del libro, quello che analizza le capacità e le potenzialità del SOAP::Lite.
Dopo il primo capitolo che delinea l'evoluzione dei servizi web passiamo a quello successivo
che che presenta la relazione esistente tra protocollo HTTP e l'XML per la creazione
di servizi basati su XML-RPC.
Il primo protocollo per servizi web diventa il protagonista dei due capitoli seguenti in
cui sono presentati e sviluppati le tecniche fondamentali per la creazione di client
e server basati su XML-RPC.
Il protocollo XML-RPC si limita alla sola codifica delle chiamate procedurali mentre il SOAP
si spinge oltre fornendo un header che consente di definire politiche di sicurezza e di routing.
L'introduzione del SOAP aiuta ad ottenere una maggiore libertà rispetto al solo impiego dell'HTTP.
Il prezzo da pagare per questi benefici è una maggiore complessità;dopo una presentazione iniziale
del SOAP nel quinto capitolo, il capitolo 6, 7 e 8 discutono come sviluppare client e server SOAP in PERL usando
SOAP::Lite.
Partendo da un esempio iniziale Pavel introduce lo "stile" di programmazione che permea il
package di cui è autore: semplicità e funzionalità.
Creare un client e/o un server SOAP richiede poche righe di codice.
In questa parte del libro sono presentati anche i protocollo di trasporto supportati dal
package: HTTP, TCP/IP, Jabber, MAIL.
L'interfaccia WSDL è la protagonista del nono capitolo e con essa ci avviciniamo ad una prima
automatizzazione nella descrizione dei servizi web SOAP che prepara il terreno per il successivo
capitolo: un'introduzione al concetto di UDDI, grazie al quale possiamo caricare le interfacce dei servizi
runtime piuttosto che averle cablate nei programmi stessi.
Il penultimo capitolo fornisce un altro punto di vista, maggiormente accademico, del panorama
dello sviluppo di servizi web ossia la filosofia REST (rappresentational state transfer).
I concetti avanzati nello sviluppo dei servizi web sono lasciati al dodicesimo e ultimo capitolo.
Dopo una panoramica preliminare passiamo ai capitoli in cui è sviscerato anche il potenziale
di customizzazione del package che consente di definere un proprio protocollo di trasporto,
per esempio basato sulla cifratura dei dati trasmessi.
Nella parte finale del libro è raccolto il codice completo degli esempi esposti.
Alla fine di questa lettura è evidente che lo strumento messo a disposizione da Pavel
è molto potente e flessibile. Il libro non è certamente un cookbook del SOAP::Lite
(forse per quello dovremmo attendere un tomo ad hoc) ma rimane un'ottima presentazione del package.
|