定義
“運行時設計(DesignatRun-time)”,就是軟體在用戶使用過程中,可以通過設計器修改界面、功能、甚至對整個頁面進行重新定義,保存發布後用戶即可使用,而不需經過傳統軟體漫長的版本發布周期,也與傳統快速開發平台功能更新後需要重啟伺服器,重啟客戶端等任何重置性操作有本質區別,整個軟體修改後,無需編譯,發布等過程,而直接保存即可讓用戶使用到即時修改的功能,它節省了大量開發、測試和發布所需的時間周期,而對客戶的功能需求,更加定位準確。這是在2011年開始逐步開始形成的一種全新的軟體開發理念和設計模式。傳統軟體開發必須經歷“設計時”和“運行時”兩個階段,運行時設計,顧名思義,就是在軟體運行過程中,對軟體進行實時設計修改,而無需再次進行編譯,用戶即可使用。
Anywhere及AnyTime調整業務功能的能力
即軟體在使用過程中可以對功能進行任意調整,而其它用戶使用不受絲毫影響。即Anywhere、AnyTime對業務進行修改調整,而不會影響到其它業務,運行時設計實際上提供了強大的基礎平台支持,同時管控和設計。功能開發和調整無需發布即時生效
核心內容
它的基本核心內容包括:
腳本表達式解釋器技術
現代軟體平台設計中大規模的引入腳本,之前業內偶爾見到使用腳本,這也會給軟體開發技術上帶來巨大的挑戰與刺激,因為很少人會為了做一個軟體,去定義一種語言,並為它編寫解釋器,這似乎是一個不可完成的工作,而動態編譯橫行的時代,似乎是殺雞用牛刀了?然而為了更好的靈活性和更加運用自如,同時保證做到真正的“運行時設計”。快速開發平台更需要提供的動態編譯技術,讓靈活得到極大提升。
智慧型窗體技術
在動態軟體發展的當下,如果單單說動態界面已經很常見,而現代快速開發平台的動態界面技術,它不是去定義頁面的某個位置的布局,而是全部頁面都自己去定義,拖拉完成,同時配合動態數據源(業務表),它做到了快速定義頁面,開發效率成倍提升。後來有人把部件和頁面定義,統稱為“智慧型窗體”。
界面與數據源分離即低耦合技術
正如前面所講,需要定義的是一套軟體,而非一個頁面的某個位置(動態表單),所以,必須做到數據與頁面完全分離的技術,這也是運行時設計平台的核心技術之一,真正做到了完全的數據與界面分離。
數據源動態定義技術
動態數據源技術,將數據來源劃分,使數據有不同類別,如通過SQL語句形成,通過自己編寫形成等,解決了數據來源的問題,而同時,定義了讀寫和唯讀的模式,讀寫表不但可以顯示數據,還可以將變化的數據完整保存到資料庫。
解釋執行與編譯執行技術
為了提高效率,定義了腳本語法,編寫了解釋器,實際上,腳本解釋器的運行效率非常不錯,但是為了更加提高效率,運行時設計還會把代碼做類似編譯的處理,把它處理為樹型結構的DOM,這有點類似於HTML的DOM結構,這樣的做法,就是每次運行系統時,不再去解釋語言,而直接“執行語言”。似乎說得有點懸乎。
核心工作流技術
任何工作幾乎都離不開工作流,大部分管理系統中,有70%以上是採用工作流來處理,運行時設計軟體具備自主工作流引擎,可以處理工作流相關事務。
高擴展性技術
利用現代語言可以很輕鬆的做到高擴展性,然而,即使所有設計都考慮得較為適當,也總會有10%在例外,所以,一個軟體無論功能有多么強大,必須提供開發擴展,以供用戶實現那10%的例外,所以這也是現代快速開發平台的重要一個特點,實際上,採用腳本技術,對於擴展性不需要做過多的設計並可自然獲得,然而,它卻有著非常重要的意義。
以上7點技術,便是“運行時設計”的重要技術特性,它貫穿軟體快速開發平台設計始末,“運行時設計”,DesignatRun-time,是現代軟體快速開發平台的特點之一,也是非常重要的特性。
代表公司
採用此類技術的
快速開發平台,市面上非常少,典型的代表產品如重慶度量科技旗下的度量快速開發平台,真正做到了運行時設計的理念。
發展趨勢
具備“運行時設計”的
快速開發平台作為一種新型的開發工具,它不僅具備傳統
快速開發平台的所有優勢,而且運行時設計能讓在用戶使用過程中立即對軟體功能進行調整,同時節省大量返回公司調整、修改、發布所需要的時間周期,對於準確把握客戶需求,提高客戶滿意度,節省研發成本方面,有不可替代的作用。相信越來越多的平台公司會加入“運行時設計”的理念,做更好服務於客戶的人性化軟體。