Qual è la migliore strategia per la licenza di un'applicazione desktop utilizzando un servizio Web, quando tutto ciò che devo sapere è quando le persone usano il prodotto?

4

L'applicazione principale della nostra azienda è un programma desktop che viene utilizzato nei magazzini e scritto in C # e Windows Presentation Forms.

La prossima cosa che vogliamo essere in grado di fare è tenere traccia quando i clienti aprono l'applicazione e quando viene utilizzata. Il motivo è che possiamo caricarli mensilmente, in base a se non sono / non usano l'applicazione. Il mio capo mi sta facendo ricerche su diversi modi per "autorizzare" il prodotto in base a questi requisiti.

Non avendo alcuna esperienza in questo, mi vengono in mente alcune cose. Potrei creare un'applicazione web che gira su un server e ogni volta che l'applicazione desktop viene aperta e l'utente accede, l'applicazione si connette al server e segna un database con DateTime. O c'è un software di licenza che posso usare per realizzare questo? Sto solo cercando consigli / consigli da persone che hanno esperienza con questo tipo di cose.

    
posta Kevin Quiring 20.11.2012 - 00:08
fonte

1 risposta

1

Il modo più rapido ed economico è fare qualcosa di simile a quello che hai suggerito: ogni volta che l'utente esegue una funzione principale del tuo programma, diciamo che è "Pack Widgets on Warehouse Floor", registra quella funzione, con un ID dell'individuo installazione del programma, nome utente e forse anche il nome della macchina. Genera l'ID univoco all'installazione, magari un GUID generato durante il processo di installazione.

La ragione per cui dico una funzione principale (o più / tutte le funzioni principali) del programma è che potrebbero avviare il programma una sola volta e si avrà solo una voce per la fatturazione. In questo modo puoi evitare questo scenario e avere anche l'ulteriore vantaggio di vedere quali funzioni del tuo programma quali utenti effettivamente usano di più. Ciò può aiutare il tuo team di vendita e anche il tuo team di sviluppo a scegliere le aree corrette.

Assicurati di dire al cliente che li fatturerai in base all'utilizzo e che il programma deve connettersi a server esterni per funzionare. Tuttavia, è necessario assicurarsi che l'attività del cliente possa continuare a funzionare quando la sua connessione Internet non funziona. Memorizza in cache questi log di utilizzo localmente in una cache crittografata (in modo che i clienti esperti di tecnologia non riescano a sfruttare il tuo sistema facilmente) e poi abbiano un periodo massimo in cui il programma può funzionare senza una connessione Internet, ad esempio una o due settimane. Dopo questo periodo, il programma si rifiuterà di funzionare a meno che non si connetta al tuo server.

Diciamo che il client non può connettersi perché un uragano ha bloccato le comunicazioni per due settimane. In quella situazione davvero brutta, il client digita un codice che gli dai al telefono che viene valutato nel tuo programma ( NON qualcosa come "dammi più tempo", ma un codice corretto che viene controllato da un algoritmo relativamente semplice) e ottengono un periodo di grazia di un'altra settimana. Tuttavia, scoraggio questo in quanto aggiunge complessità inutile. Se sei preoccupato per questo tipo di scenario e hai un ciclo di fatturazione mensile, considera piuttosto di impostare il periodo di cache tre o quattro settimane.

    
risposta data 21.11.2012 - 08:55
fonte

Leggi altre domande sui tag