摘 要:本文講述了實現客戶端軟件維護的完全自動化的軟件在線服務系統。當用戶需要某種軟件或軟件需要進行更新升級時就可以向服務器端發出請求,服務器端在校驗用戶信息后即可向用戶提供相應的組件,不需要用戶安裝即可實現軟件下載、安裝、更新、卸載和數據導入導出等服務,使用戶能非常方便的應用服務器端提供的軟件環境來完成工作。本文通過闡述軟件在線服務系統的設計方法和運行過程對軟件在線服務系統進行了論述。
關鍵詞:COM ATL JavaBean
中圖分類號:TP31文獻標識碼:A文章編號:1674-098X(2011)12(b)-0018-02
軟件在線服務系統運用COM組件技術及WEB+ActiveX運行方式,通過網站,在IE瘦客戶機上實現了軟件下載、安裝、更新、卸載和數據導入導出的自動化的功能,具有廣泛的實用性。本文分六個部分對我們所設計的軟件在線服務系統進行了論述。第1個部分是軟件在線服務系統的需求和總體結構設計。第2個部分是系統的執行說明,這一部分簡述了各部分的安裝說明。第3個部分是應用系統,這一部分是我們在設計了軟件在線服務系統之后的技術應用。第4個部分是軟件在線服務系統的設計過程。第5個部分是軟件在線服務系統涉及的相關技術。第6個部分是結束語。
1 需求和總體結構
1.1 無感知系統
無感知系統的思想是設想人類置身于一個網絡的世界,服務無處不在,并己完全融入人們的日常生活中。目的是充分發揮計算機系統和網絡的功能,利用它們更好地為人類服務,極大提高人們的生活質量。這可以認為是信息空間與物理空間的融合,在這個融合的空間中人們可以隨時隨地、透明地獲得數字化的服務。無感知系統能夠同時為許多用戶提供服務。系統能夠根據自己取得的信息主動向用戶進行廣播,說明自己能夠提供的服務,用戶按照自己的所需獲取自己的信息。既用戶能夠在任何時間(any time)、任何地點(anywhere),任何人(anyone)以任何系統(any system)接入網絡,完成任何應用(any application)。一個理想的網絡,應該是一個讓用戶“無感知”的網絡,這不僅表現在解決網絡帶寬瓶頸,支持高密度線速轉發和高穩定的網絡品質,而且還包括信息來源的“無感知”。從背著包袱前行,一下子過渡到“無感知”的網絡,信息化市場的未來可想而知。
1.2 需求的內容
以理論研究為基礎,以應用性為表現形式并應用于軟件開發、教育、教學的技術研發。軟件在線服務系統是軟件公司、教育教學部門的增值系統,其中服務的概念包括下載、安裝、更新、修復、升級和卸載等內容。本課題在全面了解軟件銷售、使用及售后維護階段工作的基礎上,提煉遠程工作任務,實現軟件自動服務的需求,這樣就提高了計算機系統的自動化程度。軟件在線服務系統主要運用了當前軟件開發的新技術COM組件技術及WEB+ActiveX運行方式,在IE瘦客戶機上能實現全部功能,具有廣泛的適應性。
1.3 研究思路
研究的思路是實現客戶端軟件維護的完全自動化,當用戶需要某種軟件或軟件需要進行更新升級時就可以向服務器端發出請求,服務器端在校驗用戶信息后即可向用戶提供相應的組件,不需用戶安裝即可實現軟件環境,使用戶能非常方便的應用服務器提供的軟件環境來完成工作。
1.4 系統功能模塊
該軟件系統包括三大模塊——首先是服務器端網絡應用系統開發,這是一項重要工作,它涵蓋了創建一個網站所涉及的每一部分的相關知識和主要步驟,它采用了MVC三層結構模型,包括頁面展示,處理流程,業務邏輯三項基本功能,方便了網站的維護和擴展,這是重點設計的第一部分。所有軟件都涉及服務的問題,為此系統設計了一個可嵌入任何應用軟件的在線服務組件,這是重點設計的第二部分。另外我們可以利用上兩部分的成果設計教師信息系統和學生幫助系統,這是打算應用成果的第三部分。在這個項目中分別運用了SUN Java和Microsoft Visual C++ ATL兩套開發平臺,通過合理的設計實現多樣化組合的最終目標,從而增強軟件的可重用性。
1.5 服務系統的WEB結構
如圖1所示。
2 軟件服務系統執行說明
第一步:首先使用regsvr32.exe注冊服務系統的DLL;第二步:使用本系統的測試頁面測試服務系統的DLL;第三步:MyActive是本系統的VC源程序;第四步:配置IIS服務器;第五步:以Pages目錄為Web的根目錄建立新的站點;第六步:配置FTP服務器,配置FTP站點;第七步:配置Tomcat服務器,配置myweb站點;第八步:安裝并創建mysql數據庫;第九步:把應用程序的安裝文件setup.exe放在FTP的根目錄下;第十步:生成MyActive.cab,把它放置到 Web的根目錄下;第十一步:如果直接使用DLL,把IE的安全級別降低;第十二步:將當前版本號的頁面和測試頁面放置到Web的根目錄下。
3 應用系統
根據這個系統我們設計了兩個應用系統:“教師信息服務系統”和“學生幫助系統”。(1)“教師信息服務系統”中包括以下功能:信息提示,業務安排,下載文件和上傳文件功能。(2)“學生幫助系統”中包括以下功能:信息提示,課程安排,下載軟件和需要幫助。
4 設計過程
4.1 程序模塊
(1)Java網站底層設計;(2)JSP網站頁面設計;(3)COM組件設計;(4)版本更新設計;(5)ASP Web頁面設計;(6)由DLL到CAB;(7)制作Install。
4.2 Java網站底層設計
如圖2所示。
4.3 JSP網站頁面設計
如圖3,4所示。
4.4 COM組件設計
接口1:下載;接口2:判斷存在性;接口3:安裝;接口4:卸載;接口5:導出導入。
4.5 版本更新設計
連接按鈕;下載更新;Http連接。
4.6 Web頁面設計
JSP和ASP測試頁面;當前版本號頁面。
4.7 由DLL到CAB
搜索Microsoft Cabinet SDK
運行cabare.exe
制做.inf文件(MSDN—Q167158)
cabare n MyActive.cab MyActive.inf MyActive.dll
下載ActiveX SDK Tools包
生成cert證書文件
makecert /sv “key.pvk” /n “cn=vicali” vicali.cer
轉換cert格式文件spc格式文件
cert2spc vicali.cer vicali.spc
對cab文件進行數字簽名
signcode 向導MyActive.cab vicali.spc key.pvk md5
填寫控件說明 加蓋時間戳
5 相關技術
5.1 tomcat 與ⅡS
Java Web的開發是基于Browser/Server結構的,好處是應用程序部署、升級、維護只在Server端進行就可以了,提高了系統的安全性。這樣在Server端必須安裝tomcat或ⅡS。 JSP是基于tomcat 的,而ASP是基于ⅡS的。
5.2 JavaBean
JavaBean是sun公司制定的,描述開發可獨立可重用的Java軟件的標準,它提高了JSP的效率和代碼應用程度。它具有持續性,制定性,自查性,封裝性。使用JavaBean體現了我們設計的標準化程度高,安全程度高,應用范圍廣,符合我們構造和設計的要求。
5.3 Active X
Active X 是MicroSoft針對Internet應用開發的技術,它是軟件組件(component),是在網絡環境中進行相互通信的技術的集合,它與編程語言無關,被廣泛地應用于Web開發中的各個方面,包括在網上發布等等。
5.4 COM
Component Object Model 是一個全新的概念。我們把一個完整的EXE文件分割成功能不同,但相對獨立的幾部分即組件。然后拼裝起來組成程序,在未來發布后,如果業務有變,則可以替換或升級相應組件就可以了。這也是我們在軟件技術中,最終拼裝程序的手段。
5.5 COM接口
如圖5所示。
5.6 Visual C++ 編寫COM
(1)使用C++編寫:花費大量精力,無法使用通用模板;(2)使用MFC編寫:不適合編寫輕量級COM;(3)使用ATL編寫:開發效率、可伸縮性、運行時性能都有提高;
5.7 多語言多環境平臺
我們試圖用Sun和MicroSoft的先進技術來構造我們的網站,有針對性的使用它們的技術來完成我們的工作。兩種服務器同時存在,在組件級交替使用,各取所長來達到我們的目的。
6 結語
目前已按照計劃完成了研究任務,實現了軟件在線服務系統和網站的設計、程序編寫、調試及試運行。其特色在于運用當前軟件產業中流行的COM組件技術及WEB+ActiveX運行方式,在IE瘦客戶機上能實現全部所需功能,具有廣泛的實用性、先進性和適應性。在研究過程中,也充分的考慮了系統設計在教研和教學中的需要,設計和實現過程所用到的知識點包含了軟件專業大部分專業課程的有關內容并在此之上補充了許多新技術和新方法。因此本系統不僅可以作為軟件產品應用,還可以作為學生實訓內容加以革新和完善。