Sto lavorando a un'applicazione web per classificare alcuni prodotti sulla base di alcuni fattori.
L'utente invia una query di ricerca a 5 restful webservices che a loro volta inviano una risposta in un formato JSON e talvolta in un formato XML (le risposte non sono strutturate allo stesso modo, poiché i servizi web sono differenti t). Ho scelto di riformattare tutto in una speciale struttura JSON, così posso usarlo.
Il mio problema attuale è che non so da che parte dovrei implementare questa app, che è fondamentalmente un client REST che interferisce con altri servizi web.
The Server Approach:
Il primo modo che avevo in mente è usare un'implementazione lato server (usando python e flask) per inviare una richiesta HTTP e ricevere una risposta, "ReEncode" tutto in un formato json strutturato e rimandalo al client che lo renderà.
Ecco i passi di cose che dovrebbero funzionare utilizzando questo approccio:
- Il client invia una richiesta al mio server contenente la query di ricerca
- Il mio server riformatta la richiesta per creare una richiesta HTTP per ogni servizio web
- Il server invia la richiesta a questi servizi RESTful e recupera una risposta HTTP da ciascun server.
- Il server decodifica le risposte a una speciale struttura dati che ho creato, quindi applica tutte le regole di classificazione e elaborazione ad esso.
- Il server ricodifica tutto in formato json e lo rimanda ai client.
- Il browser del client ripete e rende la risposta json!
Approccio lato client:
Il secondo modo per creare questa app è fare tutte le comunicazioni HTTP, l'elaborazione dei dati, l'analisi e il rendering su un lato client, certo che qui non c'è davvero lato client, dal momento che l'app dovrà comunicare con i servizi web.
I passaggi per questo approccio sono i seguenti:
- Il client digita le parole chiave di ricerca (la query di ricerca)
- I client browser creano una richiesta http (utilizzando la query di ricerca e le chiavi API) e la inviano direttamente ai servizi Web.
- Il browser client decodifica la risposta (json / xml formattato) e crea oggetti nativi che ho bisogno di usare.
- Elabora i dati decodificati (classifica, filtro ...)
- Ricodifica tutto in un formato JSON strutturato
- Render tutto.
Questo approccio utilizzerà solo JS e alcuni framework.
La domanda : In che modo è più efficiente e rapida da configurare?
Cose da considerare:
- Ho una conoscenza limitata di python e js.
- Questo è un progetto part-time.
- Devo terminarlo in meno di un mese.
- Questa è la mia prima applicazione web (ma non il mio primo progetto di programmazione, ho creato software e giochi prima)