我們正在設計一個主要基於雲的應用程序。幾乎應用程序的所有功能都將是.NET MVC 4.然而,應用程序有兩個元素需要通過USB驅動兩個特定的硬件。需要架構建議 - 客戶端雲 - 硬件控制
我們將爲Mac和Windows這兩種硬件設備創建必要的驅動程序。
問題是基於瀏覽器的應用程序需要與在客戶端安裝並運行的驅動程序通信。
這是一個多站點部署,因此服務器端需要實時與不同的客戶端進行通信。
例如,讓我們來看一個假裝場景來說明問題。
「基於雲的安全系統,外部託管,需要與特定建築物門上的磁鐵鎖對話。」
驅動程序將在客戶端PC/Mac上作爲守護程序或服務運行。
我很高興的通信是在服務器和司機或前端Web應用程序(Java/HTML)交談的驅動程序(如果可能的話)上運行的後端應用程序之間。
它也需要工作跨瀏覽器和跨平臺的,因此Flash,Silverlight和的ActiveX都出了方程(幸運!!)的
這將是一個強大的,可擴展性和高性能的解決方案?從瀏覽器發出的請求到命中設備驅動程序之間,需要很少的延遲時間。例如,在Web應用程序中發出命令需要10秒才能到達驅動程序,這是不可接受的。
因此,我們需要某種可靠的客戶端 - 服務器服務總線,可以快速跨雲運行。
注意事項:我們正在考慮將AWS作爲託管環境。 AWS是否具有此架構所需的客戶端 - 服務器服務總線?如果我確實使用了亞馬遜AWS路線,這是否會滿足我的需求:http://aws.amazon.com/sns/?
另一個考慮:JavaScript可能觸發客戶端上可能被守護進程/服務拾取的東西?這將是一個非常簡單的解決方案,因爲它幾乎沒有延遲。我知道有很多安全限制(出於顯而易見的原因),所以我不知道JavaScript能夠在客戶端上做什麼。它只需要發送一個XML命令給我的正在運行的服務。
希望有人能建議。
我可以簡單地使用WCF回調功能嗎? – SimonGoldstone