2010-01-21 18 views
6

Sono molto nuovo alla programmazione Web (o in realtà, molto vecchio, dall'ultima volta che ho incasinato il Web era HTML 1.1), ma ora ho bisogno di distribuire un'applicazione web rapidamente. Sembra che ogni volta che mi volto, ci siano nuovi acronimi e tecnologie da apprendere (JSON, XMLRPC, GWT, Javascript, Rails, ecc.).Devo usare Rails o Ruby per questa applicazione del sito web? Come?

Ecco cosa la mia applicazione deve fare:

  1. Dato un nome utente e una password, l'autenticazione (abbastanza facile, tutto ciò lo fa, a quanto pare).
  2. Consentire all'utente di caricare un grande numero di dati per l'elaborazione.
  3. Elaborare tali dati.
  4. Consentire all'utente di scaricare i dati elaborati.

Ho già degli script Java e un database per la gestione dei dati. Su una macchina, posso eseguire una serie di programmi da riga di comando per elaborare un datablock in entrata e riportare i risultati in un database mysql. Questo è già presente e funzionante.

Desidero creare un front-end Web per questa attività, utilizzando questi metodi esistenti e testati. Attualmente mi sto appoggiando a questo approccio:

  1. Avere due macchine, una macchina di database e un server web. Questo approccio consente una scalabilità successiva, se necessario, ma richiede anche che non possa assumere che i programmi che utilizzo per accedere ai dati e manipolarli siano memorizzati localmente.
  2. Utilizzare un'applicazione Ruby DRb per creare un server e un client. Il cliente passerebbe i dati al server che a sua volta chiamerebbe queste applicazioni.
  3. Utilizzare qualche altra interfaccia Ruby per interagire con il DRb per il front-end web.

Ecco il mio problema: sembra che la maggior parte delle applicazioni Ruby per il Web tentano automaticamente di creare una sorta di database locale. Tutti i Rails tutorials ho scoperto iniziare a creare il proprio database e interagire con quello, che è esattamente quello che non voglio fare.

Rails è la tecnologia giusta per me o l'utilizzo di Ruby DRb? C'è qualche altra tecnologia che dovrei esplorare?

Se Rails o Ruby sono la cosa giusta qui, cosa dovrei guardare? Ho già il libro Programming Ruby e l'ho usato per alcune cose del backend oltre a far funzionare le cose base su DRb.

risposta

16

Suoni come Rails potrebbe essere un po 'pesante per la tua situazione. Forse Sinatra potrebbe essere una misura migliore? E 'un quadro ultraleggero: un mondo di app ciao potrebbe essere simile:

require 'sinatra' 
get '/' do 
    "Hello World!" 
end 
+0

Wow, Sinatra sembra davvero fantastico! Ho già un programma di nove linee che chiama un programma remoto tramite drb e invia i risultati a una pagina web. – mmr

+0

@mmr È davvero fantastico. Assicurati di leggere il libro! (Http://www.sinatrarb.com/book.html) –

1

Rails va bene. È possibile avere database di sviluppo e test sulla macchina locale e il database di produzione su una macchina remota. Non deve essere il web server. Ottenere una copia di Agile Web Development with Rails. Ti insegnerà tutto ciò che devi sapere.

+0

Rails va bene, anche se io non voglio usare una qualsiasi delle funzionalità di database di Rails? Cos'è Rails, quindi, se i dati non sono memorizzati in un database? – mmr

+0

Rails è un framework costruito attorno al modello di architettura Model-View-Controller, ma la parte del modello è molto inseribile.L'ORM che Rails utilizza come livello del modello, ActiveRecord, può essere completamente disabilitato, lasciandoti solo con i controller e le viste. Quello che usi per la memorizzazione dei dati, dipende da te. –

Problemi correlati