230 likes | 609 Views
HomMeeting Integration Toolkit 簡介. 太御科技企業股份有限公司 副總經理 林俊志. Tel : (04) 2302-2055 Fax : (04) 2302-2057 Add : 403 台中市西區向上路一段 79 巷 82 號 E-Mail : neo@joinnet.tw. 簡介. HomeMeeting Integration Toolkit ( 以下簡稱 HIT) 就是 HomeMeeting 的軟體開發工具包 (SDK) 。
E N D
HomMeeting Integration Toolkit 簡介 太御科技企業股份有限公司 副總經理 林俊志 Tel:(04) 2302-2055Fax:(04) 2302-2057Add:403 台中市西區向上路一段 79 巷 82 號 E-Mail:neo@joinnet.tw
簡介 • HomeMeeting Integration Toolkit (以下簡稱 HIT) 就是 HomeMeeting 的軟體開發工具包 (SDK)。 • HIT 是為了讓第三方應用程式 (例如網頁或 App 等介面) 與 HomeMeeting 伺服器可以靈活彈性地整合所設計的。 • 對第三方應用程式來說,HomeMeeting 伺服器 (以下簡稱 MCU) 單純只是個會議服務提供者,從受信任的第三方應用程式接收會議請求,本身不直接進行任何使用者的身分驗證。 • 第三方應用程式則負責維護使用者資料庫、驗證使用者身分、建立會議請求給 MCU 伺服器,以及提供使用介面給其終端使用者。
使用者端 伺服器端 架構圖 使用者透過瀏覽器或 App 連到第三方應用程式提出請求 1 jnj檔 第三方應用程式根據請求內容建立一個 jnj檔回傳給使用者 2 使用者取得 jnj檔之後會自動啟動 JoinNet 3 jnj檔 JoinNet 傳送 jnj檔給 MCU 下達指令 4 MCU 回應 jnj中指示的請求,以相對應的動作回應 JoinNet 並與 JoinNet 保持連線 5
架構圖 (續) 已加密並含識別碼的 jnj檔 MCU 第三方應用程式 第三方應用程式的私鑰 MCU 的公鑰 第三方應用程式的公鑰 MCU 的私鑰 第三方應用程式使用通關密碼來開啟它的私鑰 4 1 MCU 驗證來源的識別碼 第三方應用程式使用自己的私鑰與 MCU 的公鑰來加密 jnj檔 MCU 使用通關密碼來開啟它的私鑰的私鑰 5 2 MCU 使用自己的私鑰與第三方應用程式的公鑰來解密 jnj檔 6 3 在 jnj檔中加入識別碼
什麼是 jnj檔 • 就如同 doc 是 Word 的檔案類型、ppt是 PowerPoint 的檔案類型一樣,jnj就是 JoinNet 的檔案類型。 • 除了 jnj之外,JoinNet 還有另外一種檔案類型,那就是 jnr。不過 jnr純粹是 JoinNet 的錄影檔,開啟 jnr時 JoinNet 不會與任何 MCU 連線。 • 因此,對開發人員來說了解 jnj是整合最重要的關鍵!唯有在第三方應用程式 (例如網頁或 App 等) 上提供 jnj給使用者,才能啟動 JoinNet,並讓 JoinNet 依據 jnj內指示的動作來連線到 MCU 進行會議、播放錄影檔等。 • MCU 本身負責聽取 jnj的指示來行動,有關驗證使用者身分、權限等就由第三方應用程式負責。
jnj產生流程 第三方應用程式依據使用者請求進行處理 第三方應用程式載入加密程式 jnjencryptor 第三方應用程式以金鑰與加密程式將 XML 內容進行加密 第三方應用程式將加密的使用者資訊與 MCU 的 IP 位址及通訊埠寫入 jnj檔中 第三方應用程式將jnj檔傳送給使用者來啟動 JoinNet 使用者送出請求 第三方應用程式將使用者帳號及請求指令等寫成 XML 內容 第三方應用程式載入自己的私鑰與 MCU 的公鑰
使用者資訊的 XML 內容範例 使用者帳號與名稱 會議識別碼 <?xml version="1.0" encoding="utf-8" ?> <jnj> <owner id="Neo">Neo Lin</owner> <meetingid>20140606001</meetingid> <timestamp>1402472713</timestamp> <command>meeting</command> </jnj> Unix 時間戳記 動作指令
加密的使用者資訊內容範例 |j+FwS3EM3JirNCjsi3Z+5LSlndRqs7s/am0nxPV8IMk=|b6K6a1jqd+NZBxRQKnAaVvVAGhRm0UqrKXOfA8lkYNN0hd44XAdlolHYeQDr+wYjXHkN9D6ZrsJg7vEWFbyLT0o6vNPM4y2Jfu2av86cjlZ2hnXr9MvpFdY+gvGNVQWvXhhl8vMp5vo8OH8l0wExmieG69I9q0XFnI1oo1SUGOdF+NTc0x9R/XkibmK6EsmvAZx6jTcuyiL5LnqM3KB4mGp9YyyItfEI96DKMuwdt1K6aQ==|jqJBYpYfdXtwfwj6tV2sZMtj2u4= 上述看似沒有意義的內容是經過加密的使用者資訊,程式會將其寫入 jnj檔中,請見下一頁的紅色字體區塊。
jnj檔範例 MCU 的 IP 位址或網域名稱 # if you see this file, please download and reinstall JoinNet software from http://www.homemeeting.com [general] codetype=13 ip=mmc.joinnet.tw domain=HomeMeeting portm=2345 userinfo=key_web_localhost|j+FwS3EM3JirNCjsi3Z+5LSlndRqs7s/am0nxPV8IMk=|b6K6a1jqd+NZBxRQKnAaVvVAGhRm0UqrKXOfA8lkYNN0hd44XAdlolHYeQDr+wYjXHkN9D6ZrsJg7vEWFbyLT0o6vNPM4y2Jfu2av86cjlZ2hnXr9MvpFdY+gvGNVQWvXhhl8vMp5vo8OH8l0wExmieG69I9q0XFnI1oo1SUGOdF+NTc0x9R/XkibmK6EsmvAZx6jTcuyiL5LnqM3KB4mGp9YyyItfEI96DKMuwdt1K6aQ==|jqJBYpYfdXtwfwj6tV2sZMtj2u4= MCU 的通訊埠號碼 藍色字體為第三方應用程式識別碼 紅色字體為加密的使用者資訊
Moodle 整合範例 使用者進行新增 JoinNet 端教室請求
Moodle 整合範例 這裡填寫及設定的資訊會被寫入 XML 內容,並在使用者點選儲存並顯示按鈕時,由 Moodle 呼叫程式來進行加密及產生 jnj檔。 使用者在填寫相關表格資料後,點選儲存並顯示
Moodle 整合範例 點選此按鈕就會下載 jnj檔來啟動 JoinNet
<?xml version="1.0" encoding="utf-8" ?> <jnj> <owner id="moodle_test_2" diskquota="1000" maxoutconnection="10">林俊志</owner> <meetingid>539a7017d11a4</meetingid> <timestamp>1402630274</timestamp> <meetingtitle>HIT 教育訓練</meetingtitle> <command recording="1" duration="15" autoextension="1">meeting</command> </jnj> 會議主持人的使用者資訊與 jnj檔 # if you see this file, please download and reinstall JoinNet software from http://www.homemeeting.com [general] codetype=13 ip=mmc.joinnet.tw domain=HomeMeeting portm=2333 gui_rec_ver= gui_min_ver= userinfo=key_web_localhost|Id8b2N0eNLk3tRBN8//0O4uktGtNqsBWa24MmodjLnA=|o2FqIFDXVwbDHzXPYrIkQ5ZghzJTro1ZYUjlZgtk8YbSiCN0sk3Sp5Pd49Rd4WQXVzpP+yCXHsBoadIlr1IZUqKvT5qBWF2kLSTKkLuqxbknwgfuoGlUvg+C2qjX1flnnzLTMrYRoT4in6Dbc0ae9VJSClEw9dRtyenh/h6A8tEh8S2tVTLcnn9s+MnIkXtKAoTNi1fF9sII5YQD0any0vxZ8WHObmmWubvIChwxOENDcSzETtJNx/unDHcihayDcOlSH/7GC6y6RlsY4WeQ4888/LCB5Fdsn0ei4YhHVq/9qe8l0/d248vHm3NOYbGEobvlyjiwAJGkYOEUksprCamz7J2Rei+bmml05KZGGhyvRWoGja+HtFSZdlNA4Je/OQKTuPZUaweyF2jZopPTYUXEk5sAbLz21p4Wvc1isO0mtw==|V9m7hKW45GPd1SPNhbd3/Bm0sEU=
Moodle 整合範例 會議主持人以 Moodle 上的使用者名稱登入 JoinNet
Moodle 整合範例 與會者點選會議主持人建立的活動名稱
Moodle 整合範例 點選此按鈕就會下載 jnj檔來啟動 JoinNet
<?xml version="1.0" encoding="utf-8" ?> <jnj> <owner id="moodle_test_2" diskquota="1000" maxoutconnection="10">林俊志</owner> <meetingid>539a7017d11a4</meetingid> <timestamp>1402630903</timestamp> <meetingtitle>HIT 教育訓練</meetingtitle> <guest invited="1">王昱今</guest> <command recording="1" duration="15" autoextension="1">meeting</command> </jnj> 與會者的使用者資訊與 jnj檔 # if you see this file, please download and reinstall JoinNet software from http://www.homemeeting.com [general] codetype=13 ip=mmc.joinnet.tw domain=HomeMeeting portm=2333 gui_rec_ver= gui_min_ver= userinfo=key_web_localhost|eVQwXVD+b7H00eq9MYk6A0ITfSh/wEq7dmiyjb0SjMs=|DLQjfHjZC1bD/0aGx/v9kKM4UfWrDVZjRk3weiFegm0Q0Q2qgP3GD2MdTmWFdy2tfK1b0p2YeTFVzJv1OAIi4mXN2WKe2yM7a73o3a13y4C1RynHVYBrxw4qRZgjvOf/iwGqAs62cK54nC5Z1A3tL70zjEx+v87TOzU3VImQbYcY4jX4paMvkRYag+k0TP1+gSd0Xj/r7TGpDTHGRHc6mAyK7Q526xd1mc9ADxBGyyEBySEfpG8M1Mh5CkvnaLimaFQs9PxgpFKUYTJaysAF2Pv52q7eVGD7SzUNxgD09MePeRXXr0xMVQiVz5KtNjSigshkamI0ZTXXZ0MfjM+bsA/nG77ggzqo0pPVKZmNaJ+yQEMK/ycFODGdmhxYZhEj6CwHLdES2OXOOWHXd/tGOZ1nN/JIe8IEMUoICUi12tBMe2ttqJP2JG8U/rBZ65LaX6P5HwCO3VsSE9EEYK9tSvmN9jTLdA==|gR7HVI6X3k2w5kKTYU5fHryq3QE=
Moodle 整合範例 與會者以 Moodle 上的使用者名稱登入 JoinNet
會議主持人在這裡填寫及設定的資訊會被寫入 XML 內容,由旭聯智慧大師呼叫程式來進行加密及產生 jnj檔,並在使用者點選建立新會議按鈕時,來下載 jnj檔以啟動 JoinNet。 旭聯智慧大師會議主持人整合範例 <?xml version="1.0" encoding="utf-8" ?> <jnj> <owner id=“085108” diskquota=“1000” maxoutconnection=“10”>chris(鄭慧菁085108)</owner> <meetingid>10001_C_10023908-128523093</meetingid> <timestamp>1402630274</timestamp> <meetingtitle>Joinnet課程</meetingtitle> <command recording="1" duration=“60" autoextension="1">meeting</command> </jnj>
與會者點選會議主持人建立的活動名稱,並在點選進入討論室按鈕時,來下載 jnj檔以啟動 JoinNet。 旭聯智慧大師與會者整合範例 <?xml version="1.0" encoding="utf-8" ?> <jnj> <owner id=“085108” diskquota=“1000” maxoutconnection=“10”>chris(鄭慧菁085108)</owner> <meetingid>10001_C_10023908-128523093</meetingid> <timestamp>1402630274</timestamp> <meetingtitle>Joinnet課程</meetingtitle> <guest invited=“1”>學生</guest> <command recording="1" duration=“60" autoextension="1">meeting</command> </jnj>
BlackBoard Learn 整合說明 在 BlackBoard Learn 系統上,新增一個按鈕,例如雲教室。 當使用者點選之後,BlackBoard Learn 馬上依據使用者登入的身分及請求的指令產生 XML 內容並將其加密後寫入 jnj檔給使用者下載,來啟動 JoinNet。 其 XML 內容範例如下所示: 雲教室 <?xml version="1.0" encoding="utf-8" ?> <jnj> <owner id=“登入 ID” diskquota=“1000” maxoutconnection=“10”>使用者名稱</owner> <meetingid>由 BlackBoard系統自行產生不重複的唯一值</meetingid> <timestamp>抓取現行的 Unix 時間戳記</timestamp> <meetingtitle>課程名稱或雲教室名稱</meetingtitle> <command recording="1" duration=“60" autoextension="1">meeting</command> </jnj>
結論 • 上述的 Moodle、智慧大師等平臺案例就是示範當使用者在網頁上點選某項功能之後,依據使用者的請求來產生 XML 內容並提供 jnj檔。 • 主要就是在第三方應用程式 (網頁或 App) 依據使用者的請求來產生相對的 XML 內容,並使用公鑰以及 jnjencryptor加密程式進行加密,再將結果寫入 jnj檔,讓使用者下載之後來啟動 JoinNet。 • 其它還有播放錄影檔、下載錄影檔、刪除錄影檔、接續錄影檔、影音留言模式、訪客交談模式、準備模式等指令,都是依據使用者請求產生相對應的 XML 內容,再將其進行處理後提供 jnj檔。 • 更多有關 XML 內容的說明,請參考 HomeMeeting 技術手冊 (HomeMeeting 整合工具)。
請多指教 Tel:(04) 2302-2055Fax:(04) 2302-2057Add:403 台中市西區向上路一段 79 巷 82 號 E-Mail:neo@joinnet.tw