本專題的目標是將科學繪圖軟體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.      協助專題書面報告的撰寫
由於小組中只有我的工作同時包含ClientServer兩部分,所以被指派負責協助撰寫書面報告的同學,提供他需要的資訊。

專題中遇到的問題:
1.      工作銜接不良:
原本我們小組的分配是兩位負責Server端,兩位負責Client端,但是在第一學期結束之後有兩位因為學業問題而離開。因為沒有預期到會有這種情況,沒有在工作銜接上做準備,所以多耽擱了一段時間在接回原本的進度。
2.      沒有預先了解系統執行的環境
因為在開發的時候我們使用的作業系統是Windows Vista,但是到了最後廠商安裝的時候才發現廠商使用的都是Windows XP,測試之後才發現ctrl_spw.exe沒辦法在XP下運作。最後我們修改了程式編譯的環境等等才解決了這個問題。
3.      客戶需求超出系統可能做到的範圍
在我們最後Demo的時候,廠商告訴我們希望可以把每筆要求的處理時間降到兩秒以下。但是除了網路速度和系統的影響,光是SigmaPlot本身的圖表處理時間就超過30秒。導致最後我們的系統無法商業化,只能做為一般遠端使用。





Next Post較新的文章 Previous Post較舊的文章 首頁