說到OA系統,通常我們會想到發布公告、審批檔案、檔案管理等等。這些功能,到了開發人員手裡就是儲存資料、查詢資料。用java開發OA軟體有6年了,經常在做重複的工作,於是構思開發一個OA引擎,可以由普通的實施人員,在可視化的介面上配置系統屬性、拖拉控制項。有了OA引擎,就可以根據客戶的個人化要求進行配置,在最短的時間內部署一套全新的OA。
說的簡單些,OA引擎就是一個OA產生器、OA開發工具、OA組態工具、表單引擎。我們構思用javascript定義表單,用java驅動XML,自動建立、修改資料庫。JAVA程式通過讀取XML設定檔,自動產生資料查詢程式、資料錄入程式、資料查詢統計程式等等,用簡單的技術實現引擎驅動的概念。
表單引擎不僅僅是定義表單。傳統概念的表單定義僅僅是定義布局、輸入控制項,在B/S系統裡就是定義html,控制項table和input。在數飛OA系統中,定義表單僅僅是表單引擎的一個步驟,這個步驟主要是用js控制項html,通過點擊拖動實現。這個步驟可以由實施人員或者終端使用者來操作,儘可能的按照使用者自己的意願進行布局和加入需要的控制項。跟資料表的互動由引擎完成,每加入一個控制項我們自動對應一個資料表的欄位,使用者不需要涉及這一快。在儲存表單的時候,系統將欄位情況儲存到XML,同時自己建立或者修改資料表。
我們可以將一個功能模組定義成一個表單,比如人事檔案。在定義介面的同時,可以選擇使用那種權限類別型,是否需要附件、是否需要使用編輯器、是否需要使用word控制項、excel控制項,甚至可以指定是否需要流程審批。這些屬性同樣儲存到XML設定檔中,最終由JAVA驅動實現終端使用者的要求。
沒有匯入匯出、查詢統計的系統肯定不好用,於是我們的XML配置裡加入了匯入匯出、查詢統計的定義。
對於進階使用者的要求,比如需要指定資料表的名稱、資料欄位的名稱、類型等,我們同樣提供了定義功能。
實現了以上的構思後,優勢如下:
1。可以用極少的時間去實現一個功能,不需要重複的編碼,甚至不需要開發人員就可以實現
2。所有的功能都出自表單引擎,代碼集中,不需要花很多精力去維護很多代碼
深圳數飛爾科技致力於以上問題的研究,實現人員ken@soarwell.com,QQ472992,歡迎討論。
圖一: 用js+html實現表單定義的介面
圖二: 系統自動建立資料表格式,使用者也可以選擇自己配置欄位名稱,顯示內容等:
圖三: 定義表單儲存後,系統自動產生對應的程式介面,不需要重新編譯
有興趣的朋友,可以到http://www.soarwell.com/下載以上實現.