Sei sulla pagina 1di 4

WEB SERVICES

INTRODUZIONE
L’informatica è una scienza in continua evoluzione. Evolvono i
linguaggi di programmazione, passando a linguaggi sempre più
astratti - e per questo più vicini al modo di “rappresentare” le
informazioni da parte di persone, piuttosto che di elaboratori -
ma evolvono anche le architetture dei sistemi informativi. Questo
libro affronta una delle più moderne architetture apparse gli ultimi
anni: i servizi Web o, all’inglese,Web Services (spesso abbreviati
in WS) e l’emergente SOA (Service Oriented Architecture). I
Web Services sono talmente astratti che non si preoccupano
nemmeno di quali linguaggi di programmazione li implementano,
garantendo (almeno nella teoria) una completa interoperabilità
tra linguaggi e piattaforme software diverse e ponendo dei vincoli
solo sui formati di comunicazione tra gli attori interessati. Però
per comprendere a fondo l’architettura, benché essa sia
svincolata da un linguaggio di programmazione, è indispensabile
realizzare esempi concreti. Ecco allora l’idea iniziale del libro:
presentare, per ciascun linguaggio di programmazione (tra quelli
maggiormente diffusi), una implementazione di (almeno) un
client per accedere ai servizi Web esistenti e mostrare in alcuni
casi come realizzare anche la parte server. Lo scopo del libro è
essenzialmente pratico.

Scaricalo gratis su http://www.punto-informatico.it/PILibri


WEB SERVICES

Per raggiungere tale scopo verranno sempre mostrati


esempi completi, adatti ad essere utilizzati fin da subito per
comprendere le nozioni teoriche che verranno proposte nei
primi capitoli. Avere a disposizione numerosi esempi
realizzati nei più vari linguaggi permetterà anche una facile
e veloce comparazione del diverso “potere espressivo” dei
linguaggi presentati ma, soprattutto, aiuterà ad analizzare le
problematiche connesse alla creazione di servizi Web
ponendo come problematica centrale l’interoperabilità. Mi
auguro che chiunque possa trovare almeno una parte del
libro utile e adatta alle proprie esigenze e che il resto dei
capitoli possa rappresentare comunque una lettura
interessante. Diventerà evidente, man mano che si
procederà nella lettura, quali siano le caratteristiche che
fanno dei Web Services una tra le tecnologie più promettenti
e destinata ad essere una sicura protagonista del prossimo
futuro. Scrivere esempi con numerosi tool e linguaggi di
programmazione rischiava di essere un lavoro
estremamente lungo e, per forza di cose, dai risultati poco
“in linea” con la filosofia propria degli strumenti che utilizzo
di rado.
Scaricalo gratis su http://www.punto-informatico.it/PILibri
WEB SERVICES

È per questo che mi sono rivolto ad alcune persone, ciascuna delle


quali mi ha aiutato a realizzare quanto mi ero prefissato: un sentito
ringraziamento all’amico Filippo Costalli, autore degli esempi in
PHP, e all’amico Andrea Maestrutti (dree) a cui si devono gli
esempi scritti in Perl. Grazie ad entrambi anche per i preziosi
suggerimenti e la generosa disponibilità, dimostrata da sempre e
confermata anche in questa circostanza. Grazie anche alla
comunity di http://www.perl.it (in particolare a Stefano Rodighiero
che ha realizzato una GUI multipiattaforma per il client Perl) che
hanno contribuito agli esempi sul Perl e a quanti, nelle diverse
mailing list, hanno potuto darmi ottimi consigli e suggerimenti per
superare alcuni ostacoli. Chiunque vorrà farmi pervenire le proprie
impressioni e i propri commenti riguardo ai contenuti del libro, o
vorrà segnalarmi eventuali inesattezze, proposte di miglioramento o
suggerimenti, è il benvenuto e non mancherò di tenere traccia, sul
sito http://ivenuti.altervista.org, di tutte le segnalazioni più
significative.
E ora… Web Services per tutti i gusti!

Scaricalo gratis su http://www.punto-informatico.it/PILibri


WEB SERVICES
INTRODUZIONE ALLE ARCHITETTURE DISTRIBUITE
Negli anni le applicazioni si sono evolute e si è evoluto il modo in
cui esse sono strutturate: sono passate da architetture locali ad
architetture distribuite. Esempi di architetture locali sono quelle in
cui l’applicazione principale e le componenti “secondarie”, utilizzate
da essa (altre applicazioni, ma anche database, file system, e così
via) risiedono tutte sulla stessa macchina. Questo tipo di
architettura è efficiente e semplice, la comunicazione tra le diverse
applicazioni e componenti avviene in maniera veloce e non
presenta criticità. Purtroppo non ottimizza l’uso delle risorse, in
quanto esse sono tutte dedicate a soddisfare il lavoro di un singolo
utente. Inoltre i dati a disposizione non sono in alcun modo
sincronizzati con altre postazioni di lavoro e questo può portare ad
una proliferazione e ridondanza di dati. Un’architettura distribuita è
un’architettura dove le diverse applicazioni possono risiedere su
nodi diversi, messi in comunicazione da un qualche tipo di rete
(locale, nel caso di singoli edifici cablati, o geografica quando i nodi
sono dislocati su superfici più ampie). In questo caso si complica la
comunicazione tra le applicazioni ma si hanno diversi vantaggi,
primo tra tutti quello di dare ad una o più applicazioni coinvolte la
possibilità di essere utilizzate in concorrenza da più utenti o di
centralizzare i dati a cui accedono le componenti periferiche.

Scaricalo gratis su http://www.punto-informatico.it/PILibri

Potrebbero piacerti anche