Guacamole的介紹以及架構
guacd
Web應用程序
在Guacamole中與用戶打交道的就是Web應用程序。
之前說過,Web應用程序自己不實現任何的遠程桌面協議。Web應用程序依賴guacd,只關心優美的界面以及權限認證。
Web應用程序用Java語言編寫,對,只要你願意,完全可以用其他語言實現。因為,事實上,Guacamole被設計成API,我們鼓勵開發者使用API開發自己的應用。
RealMint
VNC Client
開發者一旦接觸HTML5的canvas標簽,就會發現這個標簽Firefox和Chrome已經支持,而且開始替代哪些所謂的Javascript實現的VNC的客戶端了。
完全用javascript實現的客戶端加上java服務器的組件,工作原理是把VNC協議轉化成一樣的基於XML的版本。這樣的實現受限於VNC的特性,無法把一個連接傳送給多個用戶。概念上的項目需要很好的線上環境,雖然發展有點滯后,一個HTML5的VNC客戶端已經在SourceForge上以“Guacamole”的名字注冊了。
當Guacamole慢慢發展,變得不僅僅是一個概念上的產品時,需求快速增長,過去的像RealMint一樣采取長輪詢的XML的解決方案就慢慢被廢棄了。
因為Websocket此時還無法被完全信賴,Java有沒有Websocket的servlets標准,一個替代品,基於HTTP的隧道解決方案應運而生。
遠程桌面網關(Remote Desktop Gateway)