Domanda

Vorrei creare un'app RESTful su Google App Engine. Vorrei fornire servizi XML e JSON. Ho brevemente sperimentato Restlet, Resteasy e Jersey. Non ho avuto molto successo con nessuno di loro, a parte alcuni semplici esempi in Restlet.

Potresti condividere le tue esperienze nella creazione di un'applicazione Web Restful su Google App Engine utilizzando Java o fornire informazioni dettagliate sui suddetti toolkit su GAE?

Grazie!

Modifica (25/07/2009):

Per il momento ho deciso di utilizzare Restlet. Finora sembra funzionare perfettamente. Pubblica eventuali altri approfondimenti / opinioni che potresti avere. Quali problemi hai riscontrato? Hai usato con successo Jersey / Restlet / Resteasy su GAE / J? In tal caso, ne vogliamo sapere!

È stato utile?

Soluzione

Sono felice di segnalare che Restlet M3 funziona FLAWLESSLY su AppEngine 1.2.2. Ho seguito i "primi passi" e " prima risorsa " tutorial trovati http://restlet.com/technical-resources/restlet-framework/guide.

Quindi, mi sembra che Restlet sia la risposta per le tue applicazioni GAE / J Restful.

Altri suggerimenti

Sto usando Jersey su GAE. Ecco il link per coloro che sono interessati a configurarlo: (sto usando GAE SDK v1.4.0):

http: // tugdualgrall. blogspot.com/2010/02/create-and-deploy-jax-rs-rest-service.html

Comincerò a esplorare anche questo, ma non ho ancora iniziato. Ho trovato questo framework, che dice che dovrebbe funzionare, ma come ho detto non l'ho ancora provato.

http: //wiki.restlet .org / docs_1.2 / 13-Restlet / 275-Restlet / 252-restlet.html

Se riesci a farlo funzionare o riesci a far funzionare uno dei suggerimenti di cui sopra, aggiorna tutti perché sono sicuro che ci sia interesse in questo.

Sto usando Restlet insieme a Guice su Google AppEngine. IMHO si adattano molto bene insieme. Vedi il mio recente post sul blog per ulteriori dettagli: http: //haraldpehl.blogspot .com / 2009/11 / google-AppEngine-restlet.html

Da quando queste vecchie e valorose soluzioni sono state messe insieme, Google ha apparentemente fornito un plug-in Eclipse per creare un progetto di avvio che produce un'app App Engine, un APK Android e un'app Web, che parlano tra loro tramite un'interfaccia definita da un singolo set di dichiarazioni di oggetti annotati.

Non ho ancora provato questo, ma dai un'occhiata prima di provare uno degli esempi più eterogenei descritti nei messaggi precedenti sopra:

https://developers.google.com/eclipse/docs/appengine_connected_android

Anche questo video di Google è piuttosto informativo:

http://www.youtube.com/watch?v=NU_wNR_UUn4

Per quello che vale, ci sono state molte discussioni su Elenchi utenti Jersey ho scritto come far funzionare Jersey su GAE. È un lavoro un po 'noioso a causa delle restrizioni GAE (classi mancanti dalle liste bianche - si spera risolte nel tempo), ma a quanto pare può essere fatto funzionare. Quindi, sebbene non banalmente facile, questa potrebbe essere la soluzione migliore; esp. poiché molti dei problemi affrontati sono gli stessi per tutti i framework (imposti da GAE).

Beh, ti consiglio vivamente di dare un'occhiata a play framework

Guarda il video sulla homepage

Ha un modulo gae

Con siena come orm per gestire l'archivio dati gae

Da tutti i framework Java che ho visto finora, penso che abbia la curva di apprendimento più semplice,

  • great documentazione ,

  • un tutorial per sviluppare un'applicazione completa

  • comunità molto attiva e disponibile,

  • gratuito come nella birra e anche nei discorsi

  • altamente scalabile grazie al suo design out of the box senza confezione

  • resto amichevole

  • altamente personalizzabile tramite i suoi moduli e l'approccio plug-in

più oltre, tenendo conto che è per un corso universitario, è davvero facile hackerare il codice, potrei gestire un paio di biglietti e nuove funzionalità senza alcuna esperienza con java, solo un paio di anni sviluppando applicazioni web con php

altri vantaggi

  • è davvero facile da avviare, nessuna complicata configurazione coinvolta, basta scaricare e decomprimere il file e sei pronto

  • ottima esperienza di sviluppo, basta correggere il codice e premere refresh, riprodurre al volo le modifiche dei compilatori automatici quando si esegue in modalità di sviluppo

  • veloce e leggero

  • fullstack, non è necessario integrare strutture ingombranti per farlo funzionare

  • ottimo rapporto errori, non più traccia infinita di stack di errori, ti mostra solo la riga con errore

  • nessuna configurazione XML ovunque intorno

  • ottimo supporto per tdd con test integrato al selenio

Penso che il vantaggio principale come strumento di apprendimento sia che è possibile sbirciare nel codice sorgente senza sentirsi persi e il supporto della comunità ... La documentazione è molto chiara e puoi imparare molto semplicemente dando un'occhiata al codice sorgente ...

Di recente ho messo insieme un modello di progetto con Jersey, Guice e AppEngine su GitHub. È stato sviluppato con SimpleDS, ma può essere modificato per funzionare facilmente con Objectify / JDO. Il progetto è live qui .

Dovrebbe essere un buon punto di partenza per nuovi progetti.

Ecco un ottimo tutorial Restlet / Android / GAE / Objectify con un esempio di semplice applicazione. Spiacenti, è in francese, ma puoi copiare / incollare il codice o utilizzare la traduzione di Google.

L'ho seguito e ho avuto un server Android / GAE funzionante che comunicava tra 2 ore. È una buona base per avviare o testare Restlet.

http://www.tutos-android.com/ webservice-resto-android-AppEngine-Restlet-oggettivare

Buona fortuna

Le 2 azioni API REST GAE più ingombranti per far funzionare, Java o .py, sono la grafica e come non visualizzare le informazioni private. Il mio piccolo feed di resto gae biforcato un altro progetto . Sono sicuro che Java riesce dove python si blocca a causa della necessità di Java e offre più modi (vantaggi) e tempi più lunghi (più lenti) per avere successo (svantaggio) mentre i progetti python aprono meno modi per avere successo (svantaggioso) e meno tempo di sviluppo ( vantaggioso sviluppo rapido) per avere successo lo stesso.

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