Descrizione
L'obiettivo del progetto è mettere in comunicazione un sito di E-commerce, realizzato su piattaforma Shopify e scritto con il linguaggio Ruby on Rails, con il gestionale della casa madre allo scopo di trasmettere al sito dati relativi a prezzi e disponibilità di magazzino e acquisire i carrelli degli ordini inseriti dagli utenti.
Il gestionale è su piattaforma AS400, scritto in linguaggio RPG con database DB2. Il dialogo tra gestionale e piattaforma Internet deve essere misto: a causa del fuso orario Italia-USA, ci saranno dei momenti di attività del sito che corrisponderanno a momenti di inattività del gestionale. Pertanto occorrerà prevedere lo scambio dati: - tramite Web Services, forniti dalla casa madre, per i momenti di attività di entrambi i sistemi, consentendo una trasmissione estemporanea dei dati sui singoli articoli a richiesta dell'utente, - tramite un sistema di dialogo off-line nei momenti di non-risposta del gestionale.
Per questo secondo caso, si potrebbero supporre 2 soluzioni: 1. un invio di dati relativi a prezzi e disponibilità di tutti gli articoli gestiti, su file resi disponibili su FTP; 2. la gestione di un unico file XML contenente i dati di prezzi e disponibilità di tutti gli articoli gestiti (prodotto da un apposito programma fornito dalla casa madre che elabora i dati del gestionale), da trasmettere tramite lo stesso Web Service utilizzato per le chiamate puntuali sui singoli articoli.
In entrambi questi casi nel sistema off-line occorre conservare i dati forniti via FTP o via Web Service, al fine di renderli disponibili on-line, e successivamente parcheggiare temporaneamente eventuali carrelli creati dagli utenti, trasmettibili solo nel momento in cui il gestionale tornasse on-line.