Domanda

Uso il seguente stack di sviluppo Web da alcuni anni:

java / primavera / hibernate / mysql / pontile / wicket / jquery

Per determinati requisiti, sto considerando di passare a un archivio dati NoSQL con un frontend AJAX. Probabilmente costruirò il frontend con jQuery e comunicherei con il middleware dell'applicazione Web usando JSON. Mi sto avvicinando a MongoDB per via delle funzionalità di query più dinamiche, ma sto ancora considerando CouchDB.

Non sono sicuro di cosa usare nel mezzo. Probabilmente qualcosa di RESTful? La mia preferenza è restare con Java (o forse Scala o Groovy) poiché sto usando strumenti come Drools per le regole e Shiro per la sicurezza. Ma ancora una volta, voglio scegliere qualcosa che sia veloce e facile da lavorare, quindi sono aperto ad altre soluzioni.

Se stai sviluppando soluzioni ajax / json / nosql, mi piacerebbe conoscere i dettagli su quali strumenti stai usando e su eventuali vantaggi / svantaggi che hai riscontrato nell'usarli.

È stato utile?

Soluzione

  1. Scegli il middleware che preferisci.

  2. CouchApp è molto sperimentale al momento. Il problema principale è la possibilità di aggiungere sicurezza all'app senza disporre di una finestra pop-up HTTP standard. Questo è ovviamente un grosso problema per le app Web standard.

  3. Prova a evitare di analizzare ogni richiesta DB nel middleware e di ricostruire la query per couchdb. Puoi fare in modo che il tuo middleware si comporti come un proxy in modo che la maggior parte delle richieste vengano inoltrate senza modifiche. Puoi anche aggiungere un livello di sicurezza nel livello centrale in cima a tutte le richieste che richiedono l'autenticazione.

  4. Scegli un middleware / framework con buone capacità di routing degli URL. Ad esempio, puoi indirizzare tutte le richieste che vanno su mydomain.com/db/ a couchdb.

Altri suggerimenti

Se utilizzi CouchDB, puoi utilizzare CouchApp che è un insieme di script per distribuire un applicazione direttamente su un database CouchDB. In sostanza, salti il ??middleware e usi le viste, gli elenchi e le funzioni di visualizzazione di CouchDB insieme al JavaScript lato client per implementare l'intera app. Se la tua app funziona in questa architettura, è sorprendentemente rinfrescante, semplice e interessante.

Inoltre, se ti piace l'idea di JSON / REST e di attenersi al client JavaScript al server, la nuova generazione del core di Persevere, Pintura è puro framework JS / REST JS progettato specificamente per funzionare bene con i DB NoSQL.

Ho armeggiato con alcuni. Alla fine, vorrei spostare il mio livello controller di MVC sul frontend jQuery / javascript e utilizzare JSON / REST puro per parlare con il backend. Anche se il backend avrà bisogno di una forte sicurezza e, per la mia applicazione, una certa capacità di eseguire flussi di lavoro, query e regole.

Potresti anche voler guardare:

1) Couldkit, che funziona sul Tokyo Cabinet. Supporta JSONQuery e OAuth. Le esecuzioni su Ruby / Rack potrebbero avere funzionalità sufficienti. Sembra una forte implementazione REST. 2) Persevere, che è basato su Java e fortemente supportato in Dojo. È REST-ish ma ha anche alcune chiamate di tipo RPC. Sembra molto potente nel complesso, con script Java sul lato server, ecc.

Non mi dispiacerebbe sentire come stai arrivando.

Saluti, Alex

Ho scritto una gemma chiamata Rack :: JSON proprio per questo scopo, funge da base Interfaccia REST su un db MongoDB. È stato ispirato da Cloudkit e supporta JSONQuery e funziona anche su Ruby / Rack. Ti consente di archiviare e quindi accedere / interrogare documenti JSON.

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