Domanda

Sto cercando una versione light di REST per un'applicazione web Java che sto sviluppando.

Ho dato un'occhiata a RESTlet (www.restlet.org) e al plugin REST per Struts 2, ma non ho deciso.Sono propenso a RESTlet, poiché sembra essere più leggero.

Qualcuno ha implementato un livello RESTful senza nessuno dei framework o con i framework?

Hai riscontrato problemi di prestazioni a causa del nuovo livello Web?

L'introduzione di REST ha aggiunto una complessità ingestibile o irragionevole al tuo progetto?(Una certa complessità è comprensibile, ma ciò che intendo è semplicemente esagerare il tuo progetto solo per aggiungere REST)

È stato utile?

Soluzione

Beh, ho usato Enunciate parecchio.Utilizza semplici annotazioni per fornire endpoint REST e/o SOAP.

http://enunciate.codehaus.org

Inoltre, Ryan Heaton ha sempre fornito anche un supporto di prim'ordine per le cose.

Altri suggerimenti

Sono un grande fan di JAX-RS: penso che abbiano fatto un ottimo lavoro con quella specifica.Lo uso su numerosi progetti ed è stata una gioia lavorarci.

JAX-RS ti consente di creare risorse REST utilizzando POJO con semplici annotazioni che riguardano le mappature URI, i metodi HTTP e la negoziazione dei contenuti, tutti perfettamente integrati con l'iniezione delle dipendenze.Non ci sono API complesse da imparare;sono richiesti solo i concetti fondamentali REST (URI, intestazioni/codici di risposta e negoziazione del contenuto).FWIW JAX-RS è abbastanza Rails-ish dal punto di vista del controller

Esistono numerose implementazioni JAX-RS - vedere questo thread per una discussione.

La mia raccomandazione personale è di utilizzare Maglia poiché ha alle spalle la comunità più grande e attiva, ha le migliori funzionalità al momento in cui scrivo (supporto WADL, visualizzazioni implicite, integrazione primaverile, bella API client REST);tuttavia, se utilizzi JBoss/SEAM potresti scoprire che RESTeasy si integra leggermente meglio.

Sono un grande fan di Restlet, ma di solito lo uso per implementare app il cui ruolo principale è quello di Essere un servizio web RESTful.Sembra che tu stia cercando di aggiungere un'API RESTful a un'applicazione esistente.In tal caso, l'approccio basato sulle annotazioni di JAX-RS (o Enunciate) potrebbe essere più adatto al tuo progetto.

Per quanto riguarda Restlet, posso dirti che sono rimasto molto colpito dagli sviluppatori e dalla community;sono molto attivi, impegnati, reattivi e impegnati in un quadro stabile, efficiente, affidabile ed efficace.Il mio unico aspetto preferito del framework è che si tratta di un'implementazione dal basso del paradigma REST;pertanto non esiste alcuna discrepanza di impedenza tra l'API esterna di un'app Restlet e l'implementazione interna.Mi piace molto anche la sua flessibilità: può essere eseguito all'interno di un contenitore/server di applicazioni Java come JBoss, Tomcat, Jetty, ecc. O autonomo, con una libreria di server HTTP incorporata.

Sai che esiste una nuova API JCP per l'accesso ai servizi RESTful, inoltre:

JAX-RSJCP311https://jsr311.dev.java.net/

La versione open source si chiama Project Jersey

Sto lavorando su un'API REST per gliffy.com e alla fine abbiamo fatto il nostro.Non volevamo includere Struts 2, Spring o qualsiasi altro framework.Ho guardato RESTLet e ​​l'ho trovato incredibilmente confuso e troppo complicato.

Apache ha un'implementazione delle specifiche JAX-RS, ma non è finalizzata e presenta anche alcune stranezze.Stiamo provvisoriamente pianificando di rendere open source la nostra soluzione, ma non prima di alcuni mesi.

Arrotolare il tuo è facile, però.La specifica servlet ti offre tutto ciò di cui hai bisogno e puoi connetterti facilmente a un database tramite Hibernate (vedi http://www.naildrivin5.com/daveblog5000/?p=39 per sapere come impostare JPA senza utilizzare EJB3).

Ho trovato Restlet un'architettura davvero elegante.Lavoro nel mondo .net quindi non era un'opzione per me, ma ho potuto costruire il mio framework seguendo gli stessi principi di base di Restlet.Ho scoperto che la conversione della nostra applicazione SOA basata su contratto WCF in quella basata su REST ha notevolmente semplificato l'applicazione,

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