2009-04-19 13 views
6

Sto cercando il modo migliore che è disponibile per gli sviluppatori Java per implementare servizi REST che comunicano tramite JSON o XML. Sto cercando prodotti pronti per la produzione.Qual è il miglior modo Java per creare servizi Web REST JSON/XML simile a WCF?

so che la primavera 3.0 è in arrivo, ma non è ancora finita - senza fortuna.

È Jersey quello?

La mia domanda è ospitato da Tomcat, usa primavera, Jettison e XStream.

Mi piacerebbe utilizzare un pacchetto open source che mi consenta di avere un'esperienza di sviluppo simile a WCF.NET, dove posso dichiarare i modelli Url, mappare GET/POST e ottenere un output in XML o JSON. Il payload accettato dovrebbe essere anche XML o JSON.

Qualche idea là fuori?

risposta

3

Jersey, RESTEasy e Restlet dichiarano di fare ciò che chiedete. Ho provato solo Restlet e ho pensato che fosse piuttosto brutto.

Spring 3 non ha ancora raggiunto versione finale, ma l'accumulo M2 sembra essere abbastanza solido, e ha la roba REST lì. Se stavo costruendo una nuova webapp REST, probabilmente correrei il rischio con M2.

+0

Quale pensi che sia il lasso di tempo per il rilascio di Spring 3.0? – IgorM

+0

M3 era in uscita il mese scorso, ma non è ancora apparso. RC1 è previsto per giugno, credo, quindi spero che il rilascio finale di 3.0 sarà Q3 quest'anno. – skaffman

0

Sì, Jersey è piuttosto buono e basato sulla vostra descrizione farebbe esattamente quello che vuoi.

non vorrei aspettare la primavera-WS-cosa - Jersey è buona, e non so quali vantaggi ci sono alternative alla primavera, al di là di "marchio Primavera". Per me JAX-RS (quella jersey implementa) è un ottimo esempio di scelta e utilizzo dei migliori componenti che implementano le API aperte; Jersey funziona su (tra le altre cose) qualsiasi contenitore di servlet, può usare i migliori parser XML/JSON/etc, usare la validazione collegabile (API di convalida del bean) e così via. Lo stesso dovrebbe valere per altre implementazioni JAX-RS (come Resteasy).

0

Ho usato e commesso alcune patch per CXF. Supporta JAX-RS ed è completamente configurabile con molla. C'è un buon tutorial qui:

http://cwiki.apache.org/CXF20DOC/jax-rs.html

CXF è un progetto Apache e come JAX-RS è uno standard si dovrebbe avere nessun problema che si allontanano da esso se avete difficoltà.

Spero che questo aiuti.

2

ho provato con Restlet, RESTEasy, Jersey, CXF, Primavera. Ecco le mie risposte:

  1. Restlet: Tipo di brutto con il proprio set di Annotazioni. E anche poco confuso. Non possiamo incolpare molto, dato che hanno iniziato a implementarlo anche prima che JAX-RS fosse lì.

  2. RestEasy/Jersey/CXF: Facile come il suo nome. Semplice e diretto per iniziare a lavorarci. Una buona parte per questi 3 framework è che, poiché sono compatibili con JAX-RS, in qualsiasi momento in futuro possono rapidamente ricadere su altri framework JAX-RS se migliorano o si adattano meglio alle tue esigenze

  3. Spring: Spring 3 ha iniziato a supportare le API REST. Ma non è che NON sia compatibile con JAX-RS, proprio per quello che riguarda Restlet.

    Quindi sceglierei solo da RestEasy/Jersey/CXF.