Bandiera inglese Bandiera italiana

Template per Java Web Services

Template

Il "Template web service" è un web service realizzato in Java a scopo didattico, ma può essere usato anche come punto di partenza per sviluppare un web service vero e proprio. Trattandosi di un template in teoria dovrebbe essere possibile sviluppare qualsiasi web service modificando e/o aggiungendo un numero ristretto di classi Java, mantenendo inalterata l'architettura generale del servizio.
Il web service è stato sviluppato usando le seguenti tecnologie:

  • Axis2 versione 1.5.6
  • Apache Tomcat versione 7.0.39
  • Eclipse Juno Service Release 2
  • Java SDK versione 1.6.0_43

Il Template web service è già pronto per gestire la connessione al database Oracle, PostegreSQL e MySQL e include tutti i drivers necessari. Per collegare il web service ad un altro database è necessario:

1) Modificare la classe adriani.jws.template.db.Database
2) Includere i drivers JDBC appropriati all'interno della directory lib nell'ambiente di deploy
3) Specificare le opportune stringhe di connessione al database all'interno del file configuration.properties

Il file ZIP scaricabile contiene:

  • Files sorgenti Java per compilare il servizio
  • File build.xml di Ant per il processo di build
  • Il web service in formato AAR pronto per il deploy
  • Manuale di utilizzo in formato PDF
  • Documento di design dell'architettura in formato PDF
  • Le librerie (files jar) necessarie per utilizzare Oracle, PostegreSQL, MySQL e Log4j
  • Scripts BATCH/Shell utili per testare il web service a linea di comando
  • Scripts SQL per creare e popolare un database di test su Oracle, PostegreSQL e MySQL

Si raccomanda di leggere il documento di design dell'architettura (service_design_ita.pdf) prima di provare a modificare i sorgenti Java e/o sviluppare un nuovo web service a partire dal Template.
In particolare è di cruciale importanza capire come personalizzare i wrappers presenti nel package adriani.jws.template.wrappers che modellano la struttura degli elementi ADBBean prodotti dal plugin WTP di Eclipse o il tool wsdl2java. Il compito di tali wrappers è quello di convertire le request SOAP negli oggetti Java utilizzati dalla business logic e, viceversa, mappare i risultati della business logic nella response SOAP. Mediante tale meccanismo viene garantito il loose coupling tra la logica del servizio e la struttura descritta nel WSDL associato al web service.

La versione attuale del Template web service offre le seguenti funzionalità:

  • Due metodi SOAP "dummy" come esempio di implementazione ed utilizzo del servizio
  • File build di Ant con switch per tre ambienti diversi (sviluppo, test, produzione)
  • Esecuzione in modalità Soapplication a linea di comando (SimpleClient)
  • Gestione del pool di connessioni al database (JDBCConnectionPool)
  • Possibilità di utilizzare un mocked pool per il test o debug (MockConnectionPool)
  • Classi wrappers per garantire il loose coupling (adriani.jws.template.wrappers)
  • Possibilità di configurare il web service a run-time mediante messaggi SOAP (remote manager)
  • Due sistemi di log alternativi e complementari (Log4j e SystemLogger)
  • Internazionalizzazione dei messaggi d'errore in base al Locale della macchina (ErrorMessage)
  • Raccolta e analisi di dati statistici per la valutazione delle performances (GeneralAnalyzer)
  • Possibilità di misurare i tempi di esecuzione delle singole query (service.benchmark)
  • Gestione dell'header SOAP per intercettare eventuali dati di autenticazione


Documentazione

Introduzione ai concetti fondamentali dell'XML e XPath Apri documento PDF

Introduzione alle regole degli XML Schema Definition Apri documento PDF

Gli elementi fondamentali dei documenti WSDL per i web services Apri documento PDF

Il protocollo SOAP nell'ambito dei web services realizzati in Java Apri documento PDF

Sviluppare web services in Java con Axis2 su Tomcat Apri documento PDF

Verificare l'interoperabilità di un servizio secondo il WSI Apri documento PDF

Alcuni approfondimenti sulla gestione di Axis2 nell'ambiente J2EE Apri documento PDF

Design dell'applicazione Template Web Service Scarica documento

Manuale d'uso dell'applicazione Template Web Service Scarica documento

Modalità di test dell'applicazione Template Web Service Scarica documento