本專題的目標是將科學繪圖軟體SigmaPlot網路服務化,讓使用者不需要在本身電腦安裝,只須經由我們提供的網站頁面就可以使用軟體,藉此打破單機軟體在使用人數及系統環境上的限制。
系統架構
我們的架構分為Client端和Server端兩部分:
Client端:負責與使用者溝通的網頁頁面,接收指令後傳送給Server端處理。
Server端:負責處理試用者的要求,控制SigmaPlot軟體產生結果。
首先,使用者透過網頁瀏覽器連接到網站伺服器首頁,選擇欲繪製的函數圖形。網站伺服器會將此請求存成一份Reservation.xml(預約檔),傳至SigmaPlot伺服器作處理。
在Detective.exe偵測到指令後就會開啟ctrl_spw.exe,根據我們預先輸入好的動作腳本直接控制SigmaPlot,待圖形資料處理完成後再將圖表顯示在網頁端,回傳給使用者。
在專題中我負責的部分
1.
讀入Client端儲存的Reservation.xml
Reservation.xml中包含了使用者想要畫的圖表類型。
2.
Server端讀取SigmaPlot中檔案樹狀結構的功能。
這部分需要先抓取到SigmaPlot視窗以及樹狀結構元件的Handle,再藉由Windows所提供的API來將裡面的所有Node取出存成String。
3.
Client端網頁中讓使用者輸入方程式以產生圖表的功能。
在Client端輸入後存成Reservation.xml,然後在Server端使用Plot Equation功能繪製出圖表並回傳。
4.
製作讓Server端控制SigmaPlot主程式使用的動作腳本。
在腳本中包含了對於鍵盤、滑鼠控制的描述,我們利用這些動作腳本讓ctrl_spw.exe直接送出滑鼠及鍵盤指令,控制SigmaPlot完成使用者的需求。
5.
協助專題書面報告的撰寫
由於小組中只有我的工作同時包含Client和Server兩部分,所以被指派負責協助撰寫書面報告的同學,提供他需要的資訊。
專題中遇到的問題:
1.
工作銜接不良:
原本我們小組的分配是兩位負責Server端,兩位負責Client端,但是在第一學期結束之後有兩位因為學業問題而離開。因為沒有預期到會有這種情況,沒有在工作銜接上做準備,所以多耽擱了一段時間在接回原本的進度。
2.
沒有預先了解系統執行的環境
因為在開發的時候我們使用的作業系統是Windows Vista,但是到了最後廠商安裝的時候才發現廠商使用的都是Windows
XP,測試之後才發現ctrl_spw.exe沒辦法在XP下運作。最後我們修改了程式編譯的環境等等才解決了這個問題。
3.
客戶需求超出系統可能做到的範圍
在我們最後Demo的時候,廠商告訴我們希望可以把每筆要求的處理時間降到兩秒以下。但是除了網路速度和系統的影響,光是SigmaPlot本身的圖表處理時間就超過30秒。導致最後我們的系統無法商業化,只能做為一般遠端使用。
0 意見:
張貼留言