JUnit Test the REST!

Ormai sviluppare servizi web secondo l’architettura REST sembra una moda. Era quello che in fondo pensavo prima di leggere REST in Practice, un libro da leggere assolutamente per capire come approcciarsi a questo nuovo modo di accesso a risorse web. Che poi tanto nuovo non è… bastava accorgersi che HTTP aveva già tutto quello che occorreva per essere un “Application Protocol” e non semplicemente un “Transport Protocol” come siamo abituati ad usarlo.

JBoss e Web Services SOAP? Ci pensa JBossWS!

Un po’ come il dilemma shakespeariano, la scelta del tipo di servizio web attanaglia la vita di un architetto software: “REST o SOAP”? A discapito della letteratura, il dilemma sembra risolto a favore di REST, vuoi un po’ per moda, un po’ perché effettivamente è più facile da gestire e sfrutta appieno le tecnologie esistenti, senza aggiungere strati di XML su HTTP come fa SOAP. In effetti, SOAP è un protocollo sul protocollo, mentre REST sfrutta totalmente HTTP e i suoi verbi. In due post precedenti abbiamo già visto come sia facile creare e consumare servizi SOAP per Tomcat. Quando però passiamo da Tomcat ad un Application Server (AS) Java EE 6 compliant, abbiamo la possibilità di scrivere servizi sia REST che SOAP con qualche semplice annotazione, grazie alle specifiche JAX-WS e JAX-RS implementate nativamente da questi AS. Prendiamo JBoss 6 per esempio e vediamo effettivamente quanto è semplice realizzarli.