Studio e realizzazione di Web Services in Ambienti di Sviluppo Integrati
1. UNIVERSITA DEGLI STUDI DI CATANIA
Facoltà di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Informatica, I° Livello
Studio e realizzazione di Web Services in Ambienti di SviluppoStudio e realizzazione di Web Services in Ambienti di Sviluppo
IntegratiIntegrati
Relatore: Chiar.mo Prof. Giuseppe
Pappalardo
Candidato: Marco Calandra
Sebastianella
2. Legame Sistemi Distribuiti/Web Services
Sistemi distribuiti: calcolatori che scambiano
messaggi attraverso la rete tramite protocolli
definiti.
Web services: si basano su una architettura
distribuita chiamata Service Oriented
Architecture (SOA)
3. Service Oriented Architecture (SOA)
Architettura distribuita basata sui servizi che
rappresentano applicazioni definite che
risiedono su macchine diverse all’interno di
una rete.
Un singolo servizio offre delle funzionalità e
può utilizzare quelle degli altri servizi, in
modo tale da realizzare applicazioni più
complesse.
4. Struttura della SOA
Costituita da tre entità principali:
– Service Provider: entità che realizza uno o più
servizi da pubblicare in rete.
– Service Consumer: entità che ha bisogno di
utilizzare un servizio.
– Service Registry: entità che ha un registro
contenente i servizi pubblicati da diversi Service
Provider.
5. Funzionamento base della SOA
Service
Provider
Service
Consumer
Service
Registry
RETE
Pubblica Cerca
Richiede
Fornisce
6. Web Service (WS)
Definizione dal w3g:
“Il web service è un’applicazione software identificata
da un URI, in cui le interfacce pubbliche e i
collegamenti sono definiti e descritti come documenti
XML in un formato comprensibile. La sua definizione
può essere ricercata da altri agenti software situati
nella rete, i quali possono interagire con i web
service utilizzando messaggi basati su XML
scambiati attraverso protocolli internet”.
7. Protocolli XML del Web Service
I WS utilizzano protocolli che hanno la
sintassi XML:
– SOAP, Simple Object Access Control (acronimo
in disuso);
– WSDL, Web Service Description Language;
– UDDI, Universal Description, Discovery and
Integration.
8. WS usando l’architettura SOA
Service Provider
WSDL descr.
Service
Consumer
Service Registry
UDDI
RETE
Pubblica Cerca
Richiede
Fornisce
SOAP - HTTP
9. WSDL
Web Service Definition Language (WSDL) che
descrive un web service e fornisce informazioni
riguardanti l’interfaccia di quest’ultimo, in termini di:
– Servizi offerti,
– URL ad esso associato,
– Modi per l’invocazione,
– Parametri accettati in ingresso e modalità con cui
debbono essere passati,
– Formato dei risultati restituiti.
10. Struttura documento WSDL
Definition: radice che contiene i riferimenti alle
tecnologie utilizzate per definire il servizio (WSDL,
SOAP. XML Schema) e URL del servizio
– Types: si inserisce la tipologia dei dati (XML schema)
– Message: definisce i parametri di ingresso e uscita
– PortType: definisce le operazioni presenti nel servizio,
ognuna racchiusa nel tag figlio Operation
– Binding: stabisce il protocollo per lo scambio dei messaggi,
nel nostro caso SOAP+HTTP e come interagisce
– Service: indica la locazione del WS e di ognuno dei suoi
servizi indicando l’URL.
13. SOAP
SOAP è un protocollo destinato allo scambio
di informazioni strutturate in un ambiente
distribuito decentralizzato.
Il messaggio SOAP effettua una trasmissione
ad un “senso” (One way, Request-Responce,
Solecid-Responce, Notification), ed è
indipendente dal protocollo di trasporto con
cui viene trasmesso, anche se quello più
usato è il protocollo HTTP.
14. Struttura del messaggio SOAP
Envelope: elemento root che contiene i namespace
e dati utilizzati nel messaggio
– Header: non obbligatorio, serve a definire se le macchine
intermedie possono elaborare il messaggio
(mustUnderstand, actor).
– Body: obbligatorio, contiene le informazioni per il
destinatario, che dovrà elaborarle in base al namespace
definito.
Fault: presente nel messaggio di risposta nel caso in cui non si
riesce ad elaborare la richiesta (Faultcode, Faultstring.
Faultactor)
16. UDDI
Universal Description Discovery and
Integration è il nome di un protocollo e di un
sistema di registri web che mette a
disposizione informazioni sui web service,
sulla loro localizzazione e sulle loro
interfacce.
17. Messaggio UDDI
La struttura di un record UDDI è costituita da cinque parti
definite come strutture XML che possono interagire tra loro:
– businessEntity: contiene dati relativi ai contatti e agli indirizzi di un
fornitore dei servizi;
– businessService: descrive uno specifico servizio offerto da un
fornitore;
– bindingTemplate: fornisce le informazioni tecniche utilizzabili per
interfacciarsi con un determinato servizio;
– PublisherAssertion: fornisce informazioni sulle relazioni tra due
fornitori di servizi, dichiarate da una o da entrambe le parti.
– tModel: Meta-Descrizioni per servizi e tassonomie, definisce
astrattamente classi di servizi o tassonomie.
18. Interazioni con UDDI
Avvengono tramite realizzazione delle API
(Application Programming Interface) .
– Inquiry: funzionalità che permettono agli utenti di
fare ricerche all’interno del registro
– Publishing: funzionalità che permettono ai fornitori
di inserire, modificare informazioni su se stessi e
sui propri servizi (dopo registrazione)
19. Realizzazione di un WS
Per realizzare un WS, non è necessario conoscere
le sintassi dei protocolli che lo definiscono.
I linguaggi di programmazione ad alto livello
contengono librerie o classi che, aggiunti nel codice,
realizzano veri e propri servizi web e, se eseguiti,
generano automaticamente il codice WSDL del
servizio e i messaggi SOAP di richiesta e risposta
che servono per lo scambio dei messaggi tra il client
e il WS.
20. IDE utilizzati per la realizzazione del WS
Visual Studio 2010
– Linguaggio di programmazione: C#
– Componente: .NET Framework 4.0 o 3.5
NetBeans 6.8
– Linguaggio di programmazione: Java
– Componente: Sun Glassfish Enterprice v3 o
Tomcat 6.0
21. Realizzazione di un WS – Visual Studio
Dopo aver creato un progetto Asp.Net Web Application con C#, si procede come
segue.
22. Test di un WS – Visual Studio
a b
c d
Visualizzazione del WS Locale in Visual studio nel browser: a) pagina iniziale, b) WSDL del servizio, c)
test del metodo del servizio, d) risultato del metodo sottoforma di pagina XML
23. Realizzazione di un WS – NetBeans
Dopo aver creato un progetto Web Application con Java Web, si procede come
segue.
24. Test di un WS – NetBeans
a b
c
Visualizzazione del WS Locale in NetBeans nel browser: a) pagina iniziale con test del metodo del servizio, b)
risultato del metodo comprendente i messaggi SOAP di richiesta e risposta, c) WSDL del servizio
26. Realizzazione di interfacce web che
utilizzano WS remoti – Visual Studio
a b
a) sito realizzato in Visual Studio, che sfrutta il web service remoto, b) stesso sito dopo aver ricevuto una richiesta
meteo, dove sono presenti le informazioni in una tabella
28. Realizzazione di interfacce web che
utilizzano WS remoti – NetBeans
a b
Figura n. 24: a) la pagina di input del servizio, dove cliccando su uno stato, si apre una pagina servlet che chiama
il metodo del WS Remoto che visualizza le informazioni meteo della capitale dello stato selezionato (b)
30. Conclusioni
Tramite i protocolli del WS, possono
comunicare macchine realizzate con
linguaggi di programmazione diverse (WS
remoto in .NET comunica con interfaccia
realizzata in JAVA).
Il protocollo UDDI non viene utilizzato dalle
applicazioni (Registry UDDI di Microsoft e
IBM chiusi nel 2006), forse conviene
ricercarli sui motori di ricerca?
31. Ringraziamenti
Ai miei genitori
Amici e parenti
Alla mia ragazza, per avermi supportato,
sopportato e aiutato, un grazie di cuore
Vorrei chiederti scusa Nonno, perché potevo
sbrigarmi prima e mi avresti visto laureato, ma
spero che da qualche parte sarai comunque
contento di me