Quali sono i modelli alternativi per il software desktop remoto? [chiuso]

3

Un collaboratore e io stavamo cercando di fare brainstorming e elencare i diversi modi in cui uno sviluppatore di applicazioni può scrivere un programma che consente a un utente su un computer di eseguire da remoto su un altro computer mentre viene visualizzato sul proprio computer. Ha suggerito che tutte le possibilità rientrerebbero in sole tre categorie:

  • software desktop remoto
  • servizio ospitato
  • apparecchio

Penso di capire come uno sviluppatore di applicazioni potrebbe avvicinarsi a questo utilizzando il primo modello (ad esempio, scrivendo un'applicazione che utilizza un servizio sul server tramite un protocollo.) Non sono sicuro di come il secondo modello sarebbe diverso da il primo, e non capisco cosa significherebbe in questo caso il termine "appliance".

Quello che vorrei sapere è come dovrebbe uno sviluppatore di applicazioni confrontare queste alternative quando si progetta una strategia per una nuova applicazione, che verrà utilizzata in remoto?

    
posta Mark Rovetta 10.10.2013 - 22:02
fonte

2 risposte

1

Non sono sicuro che questo rientrerebbe in una delle categorie menzionate, ma una specie di modello web è una possibilità. Supponiamo tu abbia due clienti con identiche capacità. Condividono un'origine dati che potrebbe risiedere su entrambi i client, entrambi o completamente separati.

Nel caso di entrambi, dovresti considerare i conflitti per le operazioni in cui l'origine dati viene colpita con una richiesta da un client (con un timestamp successivo) prima di essere colpita dall'altro client (con un timestamp precedente), ma potrebbe implementare una scrittura esclusiva simile ai prodotti Microsoft Office per facilità. O vai sulla rotta di google e hai una scrittura apparentemente simultanea.

Solo un pensiero. Le applicazioni Web sembrano un'ottima soluzione per l'accesso remoto alle risorse.

    
risposta data 10.10.2013 - 23:25
fonte
5

Il modo migliore per capire che cosa intendesse il tuo collega è chiederglielo, piuttosto che assumere che questi nomi si riferiscano a concetti standard condivisi da altri. Chiedile.

Se dovessi provare a decifrare questi termini, direi che il primo è l'utilizzo di Servizi terminal / Desktop remoto (su Windows) in cui un'applicazione thin client (il Remote Deskto Client) funge da finestra per un processo in esecuzione sul server, dove è in esecuzione il processo effettivo. Un concetto simile è il sistema X Windowing su macchine Unix, in cui l'applicazione viene eseguita in un processo o server (X Server) e invia comandi (come Open Window, Mostra UI, ecc.) A un processo X Client che rende solo l'interfaccia utente .

La seconda opzione, direi, è ciò che hai suggerito per il # 1. Scrivi un'applicazione che viene eseguita localmente sul tuo computer, ma che è relativamente sottile nella logica: accede a un servizio remoto in cui viene eseguita la logica aziendale e il sollevamento pesante, ottenendo i risultati e visualizzandoli localmente. In questo scenario c'è più lavoro a livello locale, piuttosto che essere un burattino UI nelle mani del server, il cliente è responsabile di chiedere i dati e mostrarli. Tuttavia, il cervello dell'operazione si trova sulla macchina remota.

E per quanto riguarda il n. 2, il termine "appliance" è usato principalmente per riferirsi a software di terze parti che si acquista (ad esempio, un server di posta o un database) che, invece di dover installare se stessi sulle macchine, viene già pre -configurato sulla propria macchina (server fisico o macchina virtuale). Non sono sicuro di come si riferiva alla tua domanda.

    
risposta data 10.10.2013 - 22:15
fonte

Leggi altre domande sui tag