Metodi comuni per la comunicazione tra software offline e applicazione Web?

0

Lo scopo di questa domanda è scoprire quali sono alcuni dei metodi più affidabili per ottenere la comunicazione tra il software offline esistente e un'applicazione web.

(Esempio) Scenario :

Una persona ha scritto un software che viene eseguito principalmente "offline" su un cluster / rete di server locali (accessibile fisicamente).

Questo software è una mappatura strutturale del sistema autostradale ed è stato scritto in un linguaggio come C ++ per molti anni ed è stato ben mantenuto.

Ora, questa persona desidera creare un'applicazione web (in una lingua come Ruby / Python) che sta tentando di acquisire i dati del flusso di traffico tramite un'API governativa e desidera:

  • Prendi questi dati e caricali nel software offline
  • Utilizza il software offline per mappare flussi di traffico migliori (e altre analisi statistiche)
  • Invia questi dati all'applicazione web per essere comunicati tramite HTML5 / Javascript a un client / s

Alcuni punti da mantenere costante :

  • Questo è il sistema che il client ha specificato e l'unico modo
  • Sia il sistema offline che l'applicazione Web utilizzeranno SQL per i loro database
  • La persona ha investito un gran numero di ore e manutenzione che non garantiscono una riscrittura del software offline

In base a quanto sopra, quali sono alcune opzioni per raggiungere questo ?

Questo può essere ottenuto su un'applicazione e / o sul livello del database?

Quale layer fornirebbe una struttura in cui nessuna delle due applicazioni deve essere modificata per funzionare con l'altra applicazione? (separazione delle preoccupazioni)

Qual è il metodo più comune (noto) per ottenere tale comunicazione?

    
posta Joe 06.10.2014 - 03:55
fonte

1 risposta

1

Ho avuto successo usando JSON per comunicare tra applicazioni online e software per workstation.

Un possibile flusso di lavoro sarebbe il seguente:

  1. Ammettere l'input tramite un'applicazione web (ad es. moduli, REST-API, messaggio di testo, cosa hai)
  2. Emetti un ID "job" in risposta all'input
  3. Codifica l'input come documento JSON
  4. Passare il documento JSON in un'applicazione di elaborazione batch in grado di leggere il file JSON ed eseguire l'applicazione workstation con tali input
  5. L'applicazione workstation memorizza i risultati come file JSON che può essere immediatamente visualizzato sul sito Web o (meglio), archiviato in un database che può essere interrogato dall'applicazione Web.
  6. Contrassegna "id lavoro" come fatto.

L'utente può ora utilizzare l'id del lavoro per recuperare i risultati. Se tutto è molto rapido, puoi fare tutto online e smaltire l'id del lavoro.

Proprio come suggerimento ... ha funzionato per me.

    
risposta data 06.10.2014 - 04:54
fonte

Leggi altre domande sui tag