Stiamo avviando una nuova filiale nella nostra azienda. Di solito sto sviluppando interfacce di database o applicazioni / strumenti client / client interni per la nostra azienda, ma non ho mai dovuto fare qualcosa con l'hardware.
Szenario
Il mio capo vuole vendere un dispositivo, che ha uno schermo tattile per configurare molte, molte funzioni. Tuttavia, la configurazione del dispositivo può richiedere molto tempo. Vuole dare un software gratuito per un buon cliente e per un addebito a "piccoli" clienti. Il cliente dovrebbe essere in grado di utilizzare il software solo se si registra nel nostro sistema, in modo che non possa copiare il software senza un avviso da parte nostra.
Requisiti
Il dispositivo ha un cavo USB integrato. Se si collega il computer, viene aperta una nuova porta seriale COM. Il software ha i seguenti requisiti:
- Configurazione di diversi regali per il dispositivo
- Leggere e scrivere i preset sul dispositivo
- Il software si rifiuterà di avviarsi, se l'utente non ha alcuna registrazione sul nostro server
- L'utente può memorizzare i suoi preset sul nostro server e condividerlo con altri clienti
- Un preset, copiato ripetutamente su più dispositivi
Il mio capo ha visto un sistema simile (ha detto qualcosa sui telecomandi di armonia Logitech) ed è ora su di me, per creare l'architettura.
Lato server: Il server non è quel tipo di problema. Abbiamo abbastanza macchine diverse per soddisfare qualsiasi tipo di favore (IIS, LAMPP, Apache / Tomcat ecc.). Potrei usare MSSQL o MySQL DBase per archiviare i dati, questo non è un problema.
Lato client: Questa è la parte difficile per me. Non ho mai fatto qualcosa con l'hardware. Il mio capo mi ha suggerito di usare Silverlight. Ho affermato che voglio farlo con un'applicazione nativa. Ma qual è la migliore combinazione?
- Total Client-Side (C ++, C # o Java sono le lingue che potrei scrivere)
- Struttura mista # 1 Silverlight + applicazione "Driver" nativa
- Applicazione mista # 2 Java-Applet + applicazione "Driver" nativa
- Solo browser - Silverlight o Java-Applet?
- Qualsiasi altro suggerimento
Il dispositivo è destinato a un gruppo di clienti speciali che si sta allenando personalmente con qualsiasi acquisto, quindi i rischi per la sicurezza come il codice non sicuro oi pericolosi plug-in del browser non sono argomenti di vendita negativi.
Ho fatto qualche ricerca sulla connessione della porta seriale COM con Silverlight e P / Invoke, ma non voglio iniziare senza una discussione quale sarebbe il modo migliore.