運行時設計(Design at Run-time)


1、定義

    傳統軟件開發必須經歷“設計時”和“運行時”兩個階段,運行時設計,顧名思義,就是在軟件運行過程中,對軟件進行實時設計修改,而無需再次進行編譯,用戶即可使用。

    “運行時設計(Design at Run-time)”,就是軟件在用戶使用過程中,可以通過設計器修改界面、功能、甚至對整個頁面進行重新定義,保存發布后用戶即可使用,而不需經過傳統軟件漫長的版本發布周期,也與傳統快速開發平台功能更新后需要重啟服務器,重啟客戶端等任何重置性操作有本質區別,整個軟件修改后,無需編譯,發布等過程,而直接保存即可讓用戶使用到即時修改的功能,它節省了大量開發、測試和發布所需的時間周期,而對客戶的功能需求,更加定位准確。這是在2011年開始逐步開始形成的一種全新的軟件開發理念和設計模式。

2、Any where、 Any Time調整業務功能的能力

核心內容,即軟件在使用過程中可以對功能進行任意調整,而其它用戶使用不受絲毫影響。即Any where、 Any Time對業務進行修改調整,而不會影響到其它業務,運行時設計實際上提供了強大的基礎平台支持,同時管控和設計。功能開發和調整無需發布即時生效

3、核心內容

它的基本核心內容包括:

1) 腳本、表達式解釋器技術:

現代軟件平台設計中大規模的引入腳本,之前業內偶爾見到使用腳本,這也會給軟件開發技術上帶來巨大的挑戰與刺激,因為很少人會為了做一個軟件,去定義一種語言,並為它編寫解釋器,這似乎是一個不可完成的工作,而動態編譯橫行的今天,似乎是殺雞用牛刀了?然而為了更好的靈活性和更加運用自如,同時保證做到真正的“運行時設計”。快速開發平台更需要提供的動態編譯技術,讓靈活得到極大提升。

2) 智能窗體技術:

在動態軟件發展的今天,如果單單說動態界面已經很常見,而現代快速開發平台的動態界面技術,它不是去定義頁面的某個位置的布局,而是全部頁面都自己去定義,拖拉完成,同時配合動態數據源(業務表),它做到了快速定義頁面,開發效率成倍提升。后來有人把部件和頁面定義,統稱為“智能窗體”。

3) 界面與數據源分離,低耦合技術:

正如前面所講,我們需要定義的是一套軟件,而非一個頁面的某個位置(動態表單),所以,必須做到數據與頁面完全分離的技術,這也是運行時設計平台的核心技術之一,真正做到了完全的數據與界面分離。

4) 數據源動態定義技術

動態數據源技術,將數據來源划分,使數據有不同類別,如通過SQL語句形成,通過自己編寫形成等,解決了數據來源的問題,而同時,定義了讀寫和只讀的模式,讀寫表不但可以顯示數據,還可以將變化的數據完整保存到數據庫。

5) 解釋執行與編譯執行技術:

為了提高效率,定義了腳本語法,編寫了解釋器,實際上,腳本解釋器的運行效率非常不錯,但是為了更加提高效率,運行時設計還會把代碼做類似編譯的處理,把它處理為樹型結構的DOM,這有點類似於HTML的DOM結構,這樣的做法,就是每次運行系統時,不再去解釋語言,而直接“執行語言”。似乎說得有點懸乎。

6) 核心工作流技術:

任何工作幾乎都離不開工作流,大部分管理系統中,有一半以上是采用工作流來處理,運行時設計軟件具備自主工作流引擎,可以處理工作流相關事務。

7) 高擴展性技術:

利用現代語言可以很輕松的做到高擴展性,然而,即使所有設計都考慮得非常完美,也總會有10%在例外,所以,一個軟件無論功能有多么強大,必須提供開發擴展,以供用戶實現那10%的例外,所以這也是現代快速開發平台的重要一個特點,實際上,采用腳本技術,對於擴展性不需要做過多的設計並可自然獲得,然而,它卻有着非常重要的意義。

以上7點技術,便是“運行時設計”的重要技術特性,它是貫穿現在軟件快速開發平台設計始末,“運行時設計”,Design at Run-time,是現代軟件快速開發平台的特點之一,也是非常重要的特性。

4、代表公司

     采用此類技術的快速開發平台,目前市面上非常少,典型的代表產品如重慶度量科技旗下的度量快速開發平台,真正做到了運行時設計的理念。

5、發展趨勢:

       具備“運行時設計”的快速開發平台作為一種新型的開發工具,它不僅具備傳統快速開發平台的所有優勢,而且運行時設計能讓在用戶使用過程中立即對軟件功能進行調整,同時節省大量返回公司調整、修改、發布所需要的時間周期,對於准確把握客戶需求,提高客戶滿意度,節省研發成本方面,有不可替代的作用。相信越來越多的平台公司會加入“運行時設計”的理念,做更好服務於客戶的人性化軟件。

 

 

運行時設計如何動態創建並調整窗體視頻:


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com