360 likes | 494 Views
Corso di Web Services A A. 2010 2011 Domenico Rosaci Web Services e SOAP. WS: varie implementazioni. Esempi di implementazioni WS Apache SOAP per Java SOAP::Lite per Perl Microsoft .NET Ricordiamo che un WS si compone di: Un listener che resta in attesa di messaggi
E N D
Corso diWeb ServicesA A. 2010 2011Domenico RosaciWeb Servicese SOAP WS e SOAP
WS: varie implementazioni • Esempi di implementazioni WS • Apache SOAP per Java • SOAP::Lite per Perl • Microsoft .NET • Ricordiamo che un WS si compone di: • Un listener che resta in attesa di messaggi • Un proxy che prende il messaggio e lo traduce in qualcosa da fare (ad esempio invocare un metodo su un oggetto Java) • Un application code • Cerchiamo di fare in modo che l’application code non sia a conoscenza dell’esistenza del listener e del proxy, anzi che non sia affatto a conoscenza di essere invocato dall’interfaccia di un WS (non sempre è possibile) WS e SOAP
Gestire i messaggi SOAP • L’integrazione di SOAP con i vari toolkit varia con il livello di trasporto • Alcuni implementano i loro server HTTP • In altri casi, il “demone” HTTP passa il messaggio al proxy, che si prende cura di invocare l’application code WS e SOAP
Meccanismi di trasporto “pluggable” • Alcuni tools permettono all’utente di selezionare il meccanismo di trasporto tra differenti possibilità (FTP,SMTP,Japper,IO, ecc.) WS e SOAP
Il componente Proxy • Il proxy deve effettuare tre azioni: • Se necessario, “deserializzare” il messaggio, da XML a qualche formato nativo adatto per consentire l’invocazione del codice • Serializzare la risposta in XML e passarla al listener che si occuperà di trasmetterla al richiedente • A prescindere dalle varie implementazioni, tutti i toolkit SOAP prevedono per il proxy questi semplici passi WS e SOAP
Deploying WS • Deploying un WS significa dire al componente proxy quale tipo di codice deve essere invocato quando viene ricevuto un particolare tipo di messaggio • Per esempio, la componente proxy deve sapere che se arriva un messaggio getQuote occorre invocare qualche metodo della classe Java samples.quoteServers. • I WS tools hanno differenti meccanismi di deployment. Per esempio l’implementazione Apache SOAP richiede l’esistenza di un file descrittore, che descrive le classi Java e le regole per mappare gli oggetti Java nei loro equivalenti XML. Questo file deve essere aggiunto al registro dei servizi usato da Apache SOAP WS e SOAP
Creare WS in Java con Apache SOAP • Apache SOAP è l’implementazione SOAP della Apache Software Foundation • E’ disegnata per essere eseguita come servlet su qualunque Java HTTP server • Come tale, implementa solo il componente proxy della gestione del messaggio • Attualmente, il toolkit si chiama AXIS WS e SOAP
Come realizzare WS Tomcat WS e SOAP
Installazione Tomcat WS e SOAP
Struttura delle Directories WS e SOAP
Tomcat: Home WS e SOAP
Struttura di una Web Application WS e SOAP
Apache Axis WS e SOAP
Validazione di Axis WS e SOAP
Verifica WSDL WS e SOAP
Accorgimenti • Installare sulla macchina server il tool JDK (consigliata la versione 1.6) • Accertarsi che il Web Server Tomcat abbia i riferimenti a tale tool. A questo scopo andare nella configurazione di Tomcat e selezionare la scheda “Java”. Assicurarsi che la Java Virtual Machine abbia un path del tipo “C:\Programmi\Java\jdk1.6.0_06\jre\bin\client\jvm.dll” cioè punti alla dll contenuta nella cartella jdk e non all’analoga dll contenuta nella cartella jre. Inoltre inserire nel Java Classpath il percorso “C:\Programmi\Java\jdk1.6.0_06\lib\tools.jar” WS e SOAP
Lista Servizi Attivi WS e SOAP
Lista Servizi Attivi WS e SOAP
Esempio 1 WS e SOAP
Pubblicazione del servizio WS e SOAP
Il File WSDD deploy.wsdd WS e SOAP
AdminClient WS e SOAP
Accorgimenti per AdminClient Attenzione: E’ necessario inserire in CLASSPATH tutte le librerie jar contenute nella directory lib di axis!!!!! WS e SOAP
Altro metodo per pubblicare servizi: JWS WS e SOAP
Servizi JWS WS e SOAP
Lato Client: client dinamico WS e SOAP
Lato Client: client dinamico WS e SOAP
Dynamic Invocation WS e SOAP
Chiamata del Servizio WS e SOAP
Lato Client: Generated Stub (WSDL2Java) WS e SOAP
Implementazione del client WS e SOAP
Google WS WS e SOAP
Google WS WS e SOAP
Google WS WS e SOAP
Tiscali Web Services WS e SOAP