Domanda

Per precedere Sono nuovo di sviluppo web. Sto cercando di creare un insieme di servizi web RESTful intorno ad una libreria di documenti di valore di sorta (capacità CRUD iniziali). In questo modo sto teoricamente la creazione di un back-end perfettamente riutilizzabile e scalabile per essere utilizzato dalle applicazioni impreviste in futuro.

I miei centri interrogativi intorno la pratica migliore per fare questo. Il mio requisito iniziale mi ha anche la creazione di un front-end unico. Avrei fare il front-end e back-end progetti completamente separati per aumentare la riutilizzabilità. Essa aumenterebbe in testa.

Guardando utilizzando GWT, Restlet, e la tecnologia di stack Java EE se questo influenza l'impostazione a tutti.

È stato utile?

Soluzione

La maggior parte importante è la progettazione di un pulito API Java - indipendente da REST, RMI, o qualsiasi altra cosa che si desidera utilizzare il protocollo. Da un'API Java pulito, si può sostenere qualsiasi metodo di accesso.

A meno che non si dispone di un caso d'uso per questi altri metodi di accesso, non li costruire ora. Si può costruire quando ne avete bisogno.

L'interfaccia più semplice per aggiungere inizialmente è un'interfaccia web based in cui il vostro web app viene eseguito nello stesso JVM come API di base. Farei questo se questo funziona per il vostro caso d'uso. Costruire un'applicazione console separata che accede al nucleo API tramite un REST (o altro) protocollo è molto più lavoro ..

Altri suggerimenti

Martin Fowler ha scritto un articolo molto bello circa i principi fondamentali di REST poco tempo fa: Richardson Maturity Model . Lo abbiamo trovato molto utile per comprendere i principi di riposo.

Se si desidera utilizzare i servizi di back-end basati su REST, è necessario utilizzare le RestyGWT progetto che consente di utilizzare uno stile di programmazione GWT-RPC per accedere ai servizi basati riposanti tuo JSON.

La cosa bella di utilizzare i servizi REST JSON basato sui servizi di GWT-RPC tradizionali è che tali servizi possono essere utilizzati da altri clienti o anche in mashup più facilmente.

Si consiglia di considerare l'utilizzo di GWT-RPC, invece di riposare se sai che stai andando a utilizzare GWT per il frontend. Più discussione qui .

Tuttavia, se si pensa che si potrebbe desiderare di esporre alla fine i dati tramite un API REST, o utilizzare una tecnologia diversa sul frontend, riposo può essere una scelta migliore.

Il href="http://code.google.com/p/gwt-rest/" rel="nofollow noreferrer"> GWT-resto progetto

Un collega e ho scritto un sistema GWT con progetti separati per la parte anteriore e back end. E 'stato utile per mantenere le cose abbastanza chiaro su dove il codice è in esecuzione. Ma io non sono sicuro che mi avrebbe infastidito separare le cose in un futuro sistema.

Inoltre, dato sei un nuovo sviluppo web, non credo che si dovrebbe essere in attesa di fare un back-end perfettamente riutilizzabile. Imparerete un sacco di cose, come si va. Credo che i programmatori agili consiglierebbero un approccio iterativo di (a) ottenendo un piccolo lavoro aspetto, e poi (b) il refactoring per renderlo bello.

scroll top