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:
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:
build.xml
di Ant per il processo di build
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à:
SimpleClient
)JDBCConnectionPool
)MockConnectionPool
)adriani.jws.template.wrappers
)SystemLogger
)ErrorMessage
)GeneralAnalyzer
)service.benchmark
)Documentazione
Introduzione ai concetti fondamentali dell'XML e XPath