流程控制
在業務流轉的過程中,對數據的控制包括數據流向,狀態控制,觸發,時間控制,以及各種參與其中的影響事件等。針對控制的復雜性與易變性,技術平臺提出了流程控制引擎的概念。通過對流程控制中的節點和路徑的定義,允許用戶創建和調整流程定義,指定流程中的事件處理,通過流程將整個業務處理過程聯系起來。
復雜邏輯的支持
平臺抽象出了控制事件的基本元素是在綜合考慮進各種現實模型的基礎上。開發系統時通過對基本元素的搭建,滿足各種業務需求。
在提供的基本定義上,用戶可以自由的搭建自己的控制事件。用戶可以實現:不同觸發轉向不同狀態,超時的判斷,控制邏輯的組合;以審批事件為例,可以定義多用戶的分級審批,定義權限角色,對於審批的觸發者,可以進行各種定制。
對控制流程到達的每壹狀態,可以進行描述,參數的傳遞,可以對每壹次狀態的轉移設定條件控制。判斷條件可以是:表單數據的數量,監聽,等待指定系統事件的發生,等待超時等。
靈活的變更支持
企業信息化的過程之所以困難重重,就是因為各自千差萬別,隨機而動的業務規則。如果對事件的控制過程是采取系統定制的方法,面對業務變更及變更的潛在危機,將壹籌莫展。
由於在平臺中,對於控制是采取模型驅動,控制事件是根據業務需求自行構建的,當業務發生變更時,只需相應的調整控制邏輯。而且平臺可視化的控制流程圖,基於現實模型的構建單元,使得控制邏輯變更非常的直觀與便捷。
流程控制引擎的控制方式,在面對變化時,有著其無可比擬的優勢,高效靈活的協助企業應對瞬息萬變的市場,以及杜絕壹處變更帶來得與其他運行模塊的潛在沖突。
控制流程的管理和查詢
業務信息流中的各種控制事件,可以是整個業務系統的神經節點,也是各類不同信息系統的特色及工作重點所在。技術平臺對“控制事件”的管理、查詢提供了的支持。可以獲得每個控制事件的狀態描述。
各控制事件在業務系統中,可能對應著各個業務事件,該描述為設計業務系統留下了很大的發揮空間,具體到信息系統中,可作為對業務事件的統壹管理,調度等。
數據訪問層
為了有效使用業務建模中的數據模型定義,平臺加入獨立的數據訪問層(Data Access Layer),作為用戶的業務操作與底層數據庫的隔離層,完成數據源綁定、數據間關系維護、數據操作權限判定等復雜的處理過程,也從系統基本上杜絕了數據的安全隱患。數據訪問層對外提供統壹的接口,開發人員只需要根據數據模型定義,調用這些接口,即可實現業務系統中的數據維護功能。
數據操作的封裝
通過數據訪問層,具體業務系統實現人員可以直接處理數據模型,而不需要考慮數據庫及安全的底層操作,這降低了對業務系統開發人員的技術背景要求,也大大減輕了二次開發的工作強度,使業務系統的開發集中在業務邏輯的設計和實現。
支持多種多數據庫
通過數據訪問層,平臺屏蔽了不同數據庫產品之間的差別,從而使業務系統不再依賴於特定的數據庫產品,同時也為方便用戶根據實際需要選擇合適的數據庫。
目前平臺支持主流數據庫產品Oracle、SQL Server和DB2,並且可以拓展到任意支持JDBC 的數據庫。
平臺對多數據庫的支持,為用戶提供靈活多樣的解決方案,方便用戶對系統的擴展、升級、維護,同時也能充分保護用戶的投資。
數據遷移支持
技術平臺對多數據庫的支持,不僅表現在可以選用不同的數據庫平臺,它也提供了在不同數據庫間轉換的有力支持。平臺在數據庫備份、恢復時提供數據篩選功能,即可以設定條件,對指定範圍數據相應操作。可以通過簡單的操作實現不同需求的數據導入、導出操作。
對數據遷移的封裝,使得最終用戶方在缺乏精通多數據庫人才時,也能夠完成數據庫平臺的轉移工作。在產生信息系統拓展,或其他數據遷移需求時,無需從頭構建業務系統,更高效平穩的實現過渡。同時豐富了數據來源,當新建壹套業務系統時,不必從頭構建,可以從原有系統中集成。
業務單據自動生成
依據數據模型,系統可以根據預定的規則,在業務流程的特定節點自動生成符合需求的表單,在業務過程中無需再進行底層的數據庫操作,支持了業務流程的自運作。
同時,系統對於業務表單提供了統壹的管理機制,在系統運行時,也可以通過控制臺進行察看,統壹的維護。
數據維度
平臺提出“數據維度”(Dimension)的概念,用以管理時間、地域、科目、組織等具有樹狀層次結構的數據屬性,為數據訪問控制、數據匯總以及多維分析提供更為靈活的支持:
可以對各層次以及同壹層次的各個節點賦予不同權限,很好地支持多粒度的數據訪問權限控制;
可以從不同維度,或在壹個維度的不同層次進行數據匯總、分析,實現全方位的數據分析。
以數據為中心的MVC架構
按照SOA的理念,為了合理劃分應用程序結構,明確各個組件的工作重點,並保證系統的運行效率,平臺提出了以MVC架構為核心的程序交互和通信模式:針對某項具體業務功能,首先確定業務處理中涉及的數據,並建立數據模型(Model);
客戶端用戶界面(View)負責業務處理結果的顯示(即數據模型),以及響應用戶的業務處理命令,將用戶修改後的數據模型提交到服務器進行業務處理;
基於數據模型,可以定義對應不同的業務處理命令的數據處理行為(Controller),數據處理行為運行在服務器端,可以組合調用多個後臺服務,最終完成業務邏輯,並依據運行結果更新數據模型,進而影響用戶界面,導致顯示內容的自動更新;
上述程序架構被稱為以數據為中心的MVC架構,通過這種方式進壹步規範應用系統的開發過程,可以更好的確保開發效率和程序質量:
合理劃分系統邊界,簡化應用程序各個部分的開發,促進開發人員的分工合作,提高開發效率;
通過將服務器端的壹連串服務調用組合成為壹次獨立的服務調用,避免了基於SOA的應用程序效率低下的缺點,同時也確保運行過程中的數據壹致性;
客戶端的處理邏輯得到簡化,可以提高用戶界面開發速度,減輕界面測試的工作量;
具體業務邏輯被控制在服務器端運行,可以進壹步提高處理效率,保證業務系統的安全性。
RIA客戶端框架
RIA客戶端框架即Himalaya平臺的桌面客戶端,是平臺為了適應基於Internet部署的需求,同時又能為用戶的核心業務提供穩定、快速、高效的操作界面,而設計實現的Windows客戶端組件。
RIA客戶端融合了桌面程序和瀏覽器的優點,可以為操作人員提供更好的用戶體驗,其特點如下:
基於.Net Framework的桌面應用程序,可以運行在各個版本的Windows平臺上,能夠很好地符合壹般用戶的操作習慣;
使用Web Service與服務器端進行交互,因此對服務器部署的要求與壹般的Web程序完全壹樣,方便系統的部署和實施;
具備自動安裝和升級功能,可以不需要用戶參與,在運行時自動完成功能更新,從而方便系統升級和版本管理,大大減輕系統維護的工作量;
支持客戶端本地緩存和數據壓縮機制,有效降低服務器壓力,減少系統帶寬占用,提高程序界面的響應速度;
可以使用更多的客戶端資源,快速響應用戶操作,並且可以完成壹般使用瀏覽器時無法很好完成的任務,比如讀寫註冊表,離線操作,直接訪問外部設備等等。
報表和查詢
報表和查詢是業務系統不可或缺的組成部分,平臺在報表和查詢的功能設計上,通過“查詢引擎”,“模板設計”,“多格式輸出”等子模塊,采用現有的成熟技術,實現了功能強大,易於擴展的報表和查詢功能,同時也提供方便易用的報表和查詢設計功能,方便用戶對業務系統報表和查詢的改進和調整。
功能全面
平臺內置的查詢引擎可以簡化用戶獲取需要數據的過程:
圖形化的查詢設計界面,用戶可以使用設計工具建立,修改和查看數據的獲取過程;
在數據獲取過程中,使用了流程化數據處理的概念, 通過分步處理, 簡化查詢實現的復雜度;
可重用的數據處理節點組件,方便業務實現的標準化,確保業務知識的積累;
通過集成成熟的報表輸出引擎,平臺在報表輸出上具有如下特點:
支持多層嵌套分組,嵌入圖形圖表,多欄報表,子報表,TOC(Table of Contents)等多種樣式的報表,可以方便地實現多種典型報表:表格、卡片,主從、分組、圖表、套打、分欄;
支持自定義紙張,從而可以方便地實現單據套打等功能;
具有強大的分組和匯總功能,不僅可以實現復雜的多層嵌套分組報表,而且支持交叉報表;
強大的數據處理功能:可以定義不同類型的報表字段,支持字段的條件樣式,能夠自行定義公式,以及將公式的結果作為報表的輸出;
支持柱狀圖,折線圖,餅圖等各種典型統計圖表;
支持在運行時按照需要,將報表結果顯示為各種不同的格式。包括Excel,PDF,HTML等常用顯示格式;
便捷的設計過程
為方便業務系統在實施和運行中,用戶對報表和查詢的設計和調整的需求,平臺為查詢和報表提供了方便易用的設計工具,包括:
基於流程圖的查詢設計工具,用戶通過選擇不同類型的查詢節點,組合得到查詢流程,通過簡單設置節點的熟悉,即可實現數據查詢的定義;這些已定義的查詢可以直接被用於界面顯示和報表;
平臺提供所見即所得的報表設計工具,用戶可以在其中完成報表定義,調整,預覽直至發布的全部工作;
報表設計器提供了格式設置,自動表格對齊,智能位置調整等功能,方便用戶設計報表,通過報表設計器,用戶不僅可以設計壹般格式的報表,還可以設計交叉報表,圖表,條形碼等特殊的報表內容;
高度靈活
為了解決業務系統對報表高度定制化的需求,在提供了上述功能的同時,平臺同時也保留的報表和查詢的功能深化和擴展方面的余地,業務系統可以通過腳本、公式等手段進壹步豐富報表和查詢的功能,方便實現用戶的特殊需求。
用戶認證和系統安全
在Internet上,數據傳輸和處理過程中的安全問題主要集中在以下幾個方面:
用戶認證:如果確認數據傳輸的雙方的真實性;
數據安全:如何保證發送和接收的數據不被第三方竊聽和篡改
目前最通用的解決方法是使用電子簽名和數字證書機制,通過交易雙方的證書簽名,確認雙方的身份;同時基於數字證書,以SSL協議對數據進行加密傳輸,從而保證數據在傳輸過程中不能被竊聽和篡改。
通過對SSL和數字證書的支持等安全措施,平臺可以解決業務處理過程中的安全問題:
首先平臺支持以用戶名/密碼方式的用戶認證,並且支持多種方式的校驗機制,包括基於數據庫的用戶名/密碼匹配,集成Windows Active Directory進行用戶驗證等;
在用戶名/密碼方式的用戶認證的基礎上,無論使用桌面客戶端還是瀏覽器,平臺都支持客戶端數字證書,並且可以在服務器上驗證登錄客戶端的證書信息,從而進壹步保證用戶認證的準確性;
無論是否使用客戶端證書,平臺均內建了對SSL協議的支持,因此,只需要通過配置使服務器運行在HTTPS方式,即可通過SSL協議保證數據發送和接收過程的安全;
在使用桌面客戶端的情況下,平臺還能夠方便地集成客戶端網卡地址綁定,USB Key等安全認證方案,進壹步確保系統的安全。
完善的權限管理
平臺為應用系統提供了完善的權限管理機制,在系統層面對訪問權限提供了統壹的管理和控制:
采用基於角色的權限控制(Role Based Access Control),可以方便地進行權限發放和收回:
角色被賦予多個不同的權限,用戶因為具有某個角色而獲得相應的權限;
用戶可以同時具有多個角色,這種情況下,用戶權限等於其所擁有的角色的權限之和;
多個用戶可以匯總為壹個組,從而可以作為壹個獨立的單元擁有某些角色,這時,這個組中的所有用戶都會具有這些角色。
提供5個類別,多個層面的權限控制:
菜單權限:
對不同功能的菜單項操作權限,不同權限的用戶,如提供給系統管理員和普通操作員的菜單應該不同。
功能權限:
對不同業務功能的權限控制,與菜單權限不同,功能權限是在服務器端控制的。
數據實體權限(表單權限):
定義不同用戶對數據模型中的字典,單據等數據實體的訪問權限。
字段權限:
對數據實體中每個字段的訪問權限,是對上面數據實體權限的深化。
數據記錄權限:
對同壹個數據實體,不同用戶可以訪問的數據記錄也需要通過權限進行控制,平臺通過引入“維度”的概念,實現了具有層次和繼承特點的數據記錄權限控制。
多粒度覆蓋,支持靈活的配置
只需通過簡單的配置項,即可靈活的設置不同類別,不同粒度的訪問權限。業務系統在實施和使用過程中,可以根據需要對業務功能和業務數據的各個方面的進行控制,並可以由系統管理員進行管理和調整。
多級別的數據權限,滿足各類需求
對用戶數據權限的配置從隔離程度上細化為可見性,可增改,可刪除等級別,充分考慮到了業務系統不同需求:
只要選擇不可見的權限,就可以使該類數據對特定用戶群完全隔離;
在用戶可見的基礎上,其對數據的操作權限也可以設定不同的級別;
完善的邏輯體系
平臺針對權限的管理分發,設定了基於“角色”、“用戶”、“組”的完善的邏輯體系。對權限的分發按功能層次分配到各角色;當同壹個登陸者身兼不同角色時,可以通過“用戶”這個概念,實現多角色的疊加;依據現實的組織系統構建的復雜用戶體系,可以通過多級的樹狀“組”條理清晰的表述、管理。
便捷的配置工具
無論是對權限邏輯的設置,還是不同訪問的設定,都是非常直觀便捷的。借助平臺提供的用戶管理工具,可以非常方便的配置以上壹整套的權限管理。
可擴展性和可定制性
源於平臺的設計理念,從最初的版本開始,平臺就把對系統功能的可擴展性和可定制性的支持作為核心功能,目前,平臺已經在多個層面,以多種方式實現了對可擴展性和可定制性的良好支持,可以適應在項目生命周期各個階段的動態業務需求。
開發階段
在產品和項目的開發階段,平臺的服務對象是業務開發人員,在這個層面,平臺主要通過集成在開發設計工具中的相關功能,方便開發人員對系統的擴展和定制:
通過數據模型設計,業務流程設計,以及可視化的界面設計等功能,方便業務開發人員實現業務需求,提高開發效率;
平臺進壹步提供了腳本,公式,以及擴展組件開發的支持,必要時,業務開發人員也可以選擇采用這些方式擴展平臺現有的功能;
平臺為復雜業務邏輯的測試提供了完善的單元測試框架,在測試數據準備、運行環境模擬、測試結果校驗等多個環節提供相應的支持,方便業務開發人員進行單元測試,保證軟件質量。
實施階段
平臺也為系統實施人員準備了相應的配置工具,這些工具將進壹步面向業務,屏蔽底層技術實現,以方便實施人員在項目過程中對系統的定制和調整:
提供面向業務的數據模型和用戶界面的修改調整功能,包括單據字段的新增、隱藏等功能,以便業務人員按照需要調整應用程序的用戶界面;
提供用戶界面快速生成工具,方便系統實施人員快速生成運行界面,以適應實際項目的需要;
實施人員可以通過系統內置的公式,調整應用程序邏輯。
運行階段
在項目正式運行之後,平臺主要是通過以下的兩種方式,來保證用戶可以實時對系統進行調整和擴展:
在平臺中為應用系統保留了很多可配置項目,這些配置項目可以被IT管理員根據實際需要進行調整,以滿足業務系統發展和調整的需要;
平臺提供的界面定義、流程定義、報表定義等功能可以嵌入到應用程序中,形成面向最終用戶的運行界面調整、流程調整、以及自定義報表等功能,供IT管理員和業務人員使用