migliore architettura (web) per il mio progetto

1

Quindi non sono sicuro se questo è davvero il posto giusto per chiedere o anche la domanda giusta ma voglio provarlo.

Requisiti:

Dovremmo avere un database & webservice (o qualcosa di simile) che viene eseguito nel nostro ufficio, i clienti possono accedere all'applicazione via internet ("wohooo"). I clienti devono essere in grado di creare ordini con una semplice maschera. C'è una maschera di base (che tutti i client hanno), ma la maschera può anche avere alcune cose specifiche del cliente. Quando hanno creato l'ordine, un'etichetta con un codice a barre (che contiene il numero dell'ordine) viene stampata localmente (e automaticamente) nel proprio ufficio su una stampante di etichette. Prendono l'etichetta e la mettono su un campione, che poi ci inviano (sul vero post-modo). Otteniamo il campione, scansioniamo il codice a barre sull'etichetta e l'ordine appare nella nostra "schermata di amministrazione". Abbiamo quindi tutte le informazioni di cui abbiamo bisogno sull'ordine (e sul campione). Sicuramente abbiamo anche bisogno di un back-end in cui i nostri membri dello staff possano modificare la maschera specifica del cliente e aggiungere alcuni campi (per client specifici) e altri dati master.

Tutto sommato, questo non sembra troppo complesso. L'unica cosa che si distingue un po ', potrebbe essere la stampa automatica delle etichette al loro posto immagino. Per questo motivo potrebbe non essere possibile utilizzare un'architettura "server-side only" (come jsf o spring con jsp e così via), perché devi avere accesso direttamente alle loro stampanti locali.

Quindi ho pensato che un buon modo è forse quello di usare Spring (con Hybernate, JavaBeans (JEE)) insieme a JavaFX che consentirebbe di accedere alle stampanti locali e così via. Pensavo che avremmo potuto creare un webinstaller / webstart per l'applicazione, che installa i client JavaFX per i client. Il client JavaFX potrebbe quindi comunicare con il server web (molla) e inserire l'ordine lì, ottenere tutte le informazioni richieste come il numero dell'ordine per la stampa dell'etichetta e così via. Per il back-end nel nostro ufficio potrei anche immaginare di usare JavaFX ...

Allora, dov'è la mia domanda?

È semplice: è un buon modo per farlo? Sono queste tecnologie adeguate per farlo? O è già complicato e questo potrebbe essere realizzato in un modo molto più semplice? Se sì, cosa suggerisci?

Ovviamente voglio anche concentrarmi su estensibilità e manutenibilità facili.

    
posta OschtärEi 30.05.2013 - 16:54
fonte

1 risposta

1

Tutti i clienti hanno una stampante per etichette? L'unico modo per essere un cliente efficace è con un'etichettatrice?

Puoi facilmente scansionare un semplice vecchio foglio di carta con un codice a barre che potrebbe essere incluso o contenuto in una lista di imballaggio che un cliente potrebbe includere nella spedizione materiale?

In ogni caso, una soluzione client speciale oltre al browser HTML / CSS / JS probabilmente non sarebbe necessaria da quanto descritto qui.

  • Un codice a barre può essere generato dinamicamente sul lato server.
  • Un elenco di imballaggio consigliato che include il codice a barre può essere inviato al browser come documentazione di accompagnamento con la ricevuta dell'ordine.
  • Un browser può essere forzato a suggerire automaticamente una pagina da stampare. La pagina potrebbe essere una ricevuta dell'ordine (che include l'elenco di imballaggio consigliato con codice a barre). L'utente deve comunque scegliere di procedere con il lavoro di stampa, ma non è obbligato a.
  • Fornire una funzione per visualizzare e ristampare ricevute passate / recenti / ultimi (compresa la lista di imballaggio consigliata che contiene il codice a barre) nel caso in cui un utente annulli inconsapevolmente il primo, flusso di lavoro indotto, richiesta di stampa. Le stampanti possono essere problematiche quindi avere un'opportunità di recupero è una buona cosa.

Forse ci sono altre funzionalità che richiedono una particolare soluzione lato client, ma finora non la vedo.

    
risposta data 30.05.2013 - 20:08
fonte

Leggi altre domande sui tag