Lotus Domino曾是主流的文檔型辦公系統開發平臺之一,其數據庫訪問方式不同于SQL Server、Oracle等主流的數據庫系統,它采用NSF(Notes Storage Facility)的面向文檔的數據庫來管理半結構化數據,并且利用其視圖可以使查找特定文檔變得高效。
目前國內基于Domino的移動OA系統解決方案一般有以下幾種:一是根據業務需要定制開發每項移動辦公應用。這種方式移動應用體驗良好,且具備較高的穩定性,但構建周期長,時間及財務成本均較大;二是利用VPN(虛擬專用網絡)虛擬桌面技術,通過移動終端遠程操作PC桌面。這種方式無需二次開發,且部署也相對簡單。缺點是在較小的屏幕上操作PC界面,操作不方便,用戶體驗欠佳;三是對原有系統的Web頁面進行數據抽取。這種方式適合大多數系統的移植,應用體驗良好。缺點是難以抽取到業務系統的細節,容易造成處理數據不完整導致數據錯亂,系統穩定性高度依賴于原業務系統的頁面代碼。
本文以公司原有的Lotus Notes/Domino辦公自動化系統為基礎,針對移動OA功能需求和Domino數據庫的讀寫特點,設計與開發基于Lotus Domino的移動辦公系統,對數據庫的讀取操作調用Domino原生的數據庫Web服務,克服非原生Domino移動OA系統的弊端;寫入操作采用頁面抓取方式與PC系統的處理進行同步,實現和原系統的無縫銜接。
1 系統架構設計和拓撲結構
1.1 系統架構設計。Lotus Domino辦公平臺采用的是Web資源與Domino數據庫整合的架構,更偏向于一種扁平和混合的特點,Domino的開發人員在構建系統時利用開發設計器——Domino Designer同時將前端顯示和后端數據結構開發出來,傳統的移動前端Web開發人員難以參與合作開發。
本文采取一種分層的架構設計,整個Domino移動系統被顯式的分為三部分:前端顯示、邏輯服務和數據存儲。前端顯示與邏輯服務層之間通過各類以URL形式表現的服務來調用連接,以Web 2.0通常采用的XML作為交換的數據格式,邏輯服務層與數據存儲層之間直接利用Domino URL命令調用表單或視圖等Domino元素來實現這些服務。在這種架構下,前端顯示層則可以完全由傳統的前端Web開發人員完成,而服務層和數據存儲層的相關實現則交由Domino開發人員負責。圖1為分層架構設計圖:
圖1 Domino Web應用的分層架構設計
1.2 系統拓撲結構。OA系統部署在公司內網,外網用戶通過VPN方式訪問OA系統。移動OA系統搭建在原OA系統服務器上,移動終端和服務器之間通過公網交互,依靠第三方VPN系統傳輸來保證交互的安全性。移動用戶登陸VPN移動版客戶端訪問移動OA系統。拓撲圖如下:
圖2 系統拓撲結構
2 技術路線和系統實現
2.1 系統功能需求。原有OA系統是B/S結構。移動OA適配原OA系統的部分功能,主要實現待辦文件、待閱文件、已辦文件三大功能,實現辦理意見的展示和回寫、正文和附件的查看,實現公文的正常流轉,并與原OA系統的處理同步。
圖3 系統實現功能
2.2 使用PhoneGap實現跨平臺開發。PhoneGap是一款HTML5平臺,開發商可以使用HTML、CSS及JavaScript來開發本地移動應用程序,并且只編寫一次應用程序,便能在7個主要的移動平臺進行發布。選用PhoneGap有以下幾個原因:(1)IOS和安卓是目前的主流手機操作系統,移動OA必須能夠在這兩個系統上運行;(2)開發成本低。理論上來說,相對于原生開發多個平臺的客戶端,PhoneGap的成本會低很多;(3)原系統是B/S結構,移動版使用B/S一致性更好。原系統中的頁面資源能被PhoneGap重用。
2.3 與原系統數據的同步。為了保證和原系統業務的一致性,應最大限度的重用原系統的業務代碼,這就需要深入的研究原系統,提取出原業務代碼直接重用,或者分析出其業務邏輯,編寫一致的業務代碼。本文采用如下策略保證了數據的一致性:
(1)直接訪問Domino數據讀取接口,保證讀取的速度和穩定性。根據原Domino數據庫中的數據,在Domino Des igner中設計需要讀取的視圖,并采用URL指令從Domino數據庫中讀取數據,這樣就最大程度保證了讀取數據的正確與一致。下面是部分數據讀取語句的示例。
[發文待辦]:發文運轉庫fwrun.nsf
(2)數據回寫采用抓取方式,保證業務一致性。針對Domino數據庫架構,本文采用WEB模擬方式,即抓取原系統的POST請求,移動系統利用一致的請求實現相同功能。同時,抓取的數據正確性受到了WEB頁面穩定性的影響,如果原系統頁面代碼進行了更改,會導致數據抓取的錯誤。因原OA系統已經運行多年,需求也相對穩定,無需對WEB代碼進行變更,因此用數據抓取方式來實現數據同步是可行的。這個方法在保證業務一致性的同時,克服了Domino系統無法回寫數據的問題。
圖4 移動辦公系統用戶界面
3 結束語
本文以較低的成本實現了Domino移動辦公平臺,并能實現程序的跨手機平臺使用,這在國內目前的Lotus移動開發領域具有一定的創新意義。基于Lotus Domino平臺的辦公自動化系統在國內用戶眾多,且大多數都有將系統拓展到手機實現移動辦公的需求,因此本文研究的方案有較好的推廣前景。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文網址:http://www.guhuozai8.cn/html/consultation/10820615145.html