2009-11-09 163 views
0

這是有關產品開發技術決策的一般問題。 我的目標是開發一個基於Web的遠程支持(桌面共享應用程序)與音頻和視頻通信。基於WEB的應用程序與桌面集成 - 技術?

我的理想解決方案是將其開發爲Web產品,意味着客戶端始終在瀏覽器中運行。客戶端技術是JavaScript的(使用Google GWT)和桌面捕捉,桌面呈現,音頻和視頻我想用Java applets

服務器端使用帶有數據庫後端(Hibernate和基於SQL的數據源)的Java Servlet技術運行。對於數據流,我的計劃是使用通過UDP傳輸的RTP/RTSP(對於桌面數據,內部協議將是VNC(RFB),但傳輸將是RTP本身)。對於音頻和視頻RTP用於傳輸。

我的基本版本(原型)將使用中繼服務器工作,這意味着客戶端始終連接到服務器(登錄,認證,會話控制),並且服務器始終在對等端之間中繼數據。

我的問題是 - 我的技術決策是否正確?我的意思是,我決定由於多平臺支持而轉向純Java。目前我們有Silverlight其中有更先進的桌面支持,但它僅限於一個平臺(Windows)。

我也擔心Java支持音頻/視頻技術。我看到了JMF(Java Media Foundation),它似乎支持RTP/RTSP,音頻和視頻捕獲/顯示,但是這個包看起來非常過時。你怎麼看待這件事?

對於實際的屏幕截圖,我會從AWT Robot類開始。我知道,對於高性能桌面捕捉更低水平的技術是必要像API鉤子或鏡像驅動程序,但我的原型旨在爲屏幕捕獲提供1 FPS所以我相信Java的機器人會做到。

回答

1

Java小程序可以做到這一點,但他們有點傳統時下。在Java方面,你現在也有Java Web Start選擇(更好的谷歌關鍵字是JNLP)和JavaFX。如果您不想回避學習一種新語言並希望獲得真正的RIA,那麼請去JavaFX。否則,Java Web Start A.K.A. JNLP是一個很好的選擇。使用Java,只要它是一個客戶端應用程序,只要它全部在安全限制的範圍內就可以完成所有任務。

以下是一些使用教程:JavaFX tutorialWeb Start tutorial

1

退房的Adobe AIR和JavaFX。

+0

的Flex?這來自Adobe。您可能打算說JavaFX :) – BalusC 2009-11-09 15:17:42

+0

正確,編輯以反映這一點。 – Gandalf 2009-11-09 15:56:43

相關問題