Domanda

Ho lavorato con l'implementazione di riferimento JAX-RS (Jersey).Conosco almeno altri due framework (Restlet e Apache CXF).

La mia domanda è:Qualcuno ha fatto qualche confronto tra questi framework e, in caso affermativo, quale framework consiglieresti e perché?

È stato utile?

Soluzione

Per inciso, utilizziamo Jersey perché è ricco di funzionalità (ad es.WADL, visualizzazioni implicite, supporto XML/JSON/Atom) ha alle spalle una comunità di sviluppatori ampia e vivace e ha ottimi risultati integrazione primaverile.

Se usi JBoss/SEAM potresti scoprire che RESTeasy si integra un po' meglio, ma se usi Spring for Dependency Injection allora Jersey sembra l'implementazione più semplice, più popolare, attiva e funzionale.

Altri suggerimenti

Resto ha un ampio elenco di estensioni per Spring, WADL, XML, JSON e molte altre, inclusa un'estensione per l'API JAX-RS.

È anche l'unico quadro disponibile in sei edizioni coerenti:

  • Giava SE
  • JavaEE
  • Kit di strumenti web di Google
  • Google App Engine
  • Androide
  • Ambienti OSGi

I suoi principali vantaggi sono:

  • API client e server completamente simmetriche quando JAX-RS è stato progettato per l'elaborazione lato server
  • connettori per protocolli diversi da HTTP (mappatura alla semantica HTTP) quando JAX-RS è solo HTTP
  • ambito di funzionalità molto più ampio, incluso il controllo completo del routing dell'URI tramite l'API Restlet (ma può integrarsi con Servlet se necessario)
  • fornitura completa per il supporto NIO

L'API JAX-RS può essere una buona scelta se sei limitato alle API approvate da JCP (quindi non utilizzare Spring o qualsiasi estensione dei progetti JAX-RS come Jersey e RESTeasy!), ma per il resto Restlet è il framework più maturo ( inizialmente rilasciato nel 2005) e ti offrirà, nella sua versione 2.0, tutti i vantaggi delle annotazioni combinati con un framework orientato alle classi potente ed estensibile.

Per più tempo elenco delle funzionalità, consultare questa pagina.

Cordiali saluti, Jerome Louvel

Restlet ~ Fondatore e sviluppatore principale ~ http://www.restlet.org

Io e il mio team utilizziamo ampiamente Restlet, ma non le sue funzionalità JAX-RS.Posso dirti che sono rimasto molto colpito dagli sviluppatori e dalla community di Restlet;sono molto attivi, impegnati, reattivi e impegnati in un quadro stabile, efficiente, affidabile ed efficace.Mi dispiace di non poter affrontare direttamente il tuo interesse principale, ma ho pensato che potresti trovare preziosa la mia esperienza con Restlet.

Il mio collega spiega perché stiamo utilizzando RESTeasy per il nostro progetto attuale in Servizi web RESTful in Java EE con RESTeasy (JAX-RS):

La sua implementazione di riferimento, Jersey, non è stata scelta perché abbiamo avuto problemi a integrarla bene con EJB3 e Seam 2.0.

Stiamo utilizzando l'implementazione RESTeasy di JAX-RS, perché non abbiamo avuto problemi a integrarla con i nostri EJB e Seam.Dispone inoltre di documentazione sufficiente.

Esiste un'altra implementazione di Apache, ma non l'ho provata perché utilizza una versione precedente di JAX-RS.

Infine esiste ancora un altro framework per servizi Web RESTful per Java chiamato Restlet ma non lo abbiamo favorito perché al momento in cui scrivo utilizza un'architettura personalizzata, anche se è in lavorazione il supporto JAX-RS adeguato.

Sembra che ci siano 4 implementazioni JAX-RS decenti, quindi probabilmente sei d'accordo con qualcuna di esse.Per quello che vale, finora ho trovato Jersey (1.0.2) davvero carino.Le mie esigenze sono piuttosto modeste, un semplice servizio di back-end, la cura degli impianti idraulici e così via.E quella Jersey se la cava piuttosto bene.

Ho scoperto che Apache Wink è molto facile da usare, supporta JAX-RS e ha molte funzionalità oltre lo standard.

Non userei alcun framework.Proprio quello fornito con il server delle applicazioni.Se utilizzi le specifiche di un framework perderai la portabilità e ti ritroverai al diavolo se il fornitore del server dell'app includesse una versione diversa del tuo framework preferito.Continuerò a Jax-ws.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top