模型驅動應用
模型驅動應用(Model-Driven Application)是功能與行為基於或受控於可演變的應用目標事物模型的應用軟體。[1] 其中的模型稱為「應用模型」,所表徵的目標就是應用系統所處理的事物(例如對業務應用系統而言,就是業務的對象或事務)。這些應用模型是應用系統的一部分,可以在運行期改變。應用模型可以決定一個模型驅動的應用系統是哪一種應用系統。例如,參照 TOGAF 對「應用」的定義[2] ,「模型驅動業務應用」可以這樣定義:基於業務(事物)模型運行的業務功能與服務支撐信息技術系統。
歷史
[編輯]模型驅動應用的架構思想最初由余彤鷹1999年提出,在企業工程論壇和一些網絡媒體中長期傳播,在中國企業應用軟體開發行業有一定的影響,並且出現了按照這一架構思想開發商業化的企業應用平台的成功案例[3]。2008年,國際著名信息技術產業諮詢研究機構 Gartner Group 也對此課題做了研究,提出了「模型驅動打包應用」(Model-Driven Packaged Applications)概念。在Gartner IT術語中定義:模型驅動打包應用是一種企業應用,具有元數據驅動的流程、數據或聯繫的模型;通過元數據模型來動態生成運行期組件,或動態解釋、編譯,而不是硬編碼。其關鍵在於這些模型是由業務分析師或用戶維護的。[4]他們在一系列報告中指出,這種應用風格的關鍵特徵在於「其行為通過直接操縱顯式的業務流程模型形成,而非通過一組參數或參數表」。
實例
[編輯]業務流程管理系統(BPMS)是體現了模型驅動應用架構風格的典型例子。根據定義,如果一個BPMS的功能和操作基於運行期(而非系統設計或實施期間)可創建、修改的業務流程模型,它就是模型驅動的。模型驅動帶來的最大好處體現在系統將可以通過修改模型直接適應/處理業務流程的持續變化,而無需修改軟體。一些產業研究認為,這種模型驅動的應用架構,是推動下一代應用現代化的幾個重要技術趨勢趨勢之一。[5]
區別
[編輯]特別需要留意,模型驅動應用架構與 OMG 倡導的模型驅動架構(MDA)和更一般化的模型驅動工程(MDE)不同。後者是一種軟體設計與開發途徑,通常並不限定應用系統的架構風格或運行期構造。
參考資料
[編輯]- ^ Yu, T.-Y. "Model-Driven Applications: Using Model-Driven Mechanism to Bridge the Gap between Business and IT." Díaz, V.G. et al. (Eds.), Advances and Applications in Model-Driven Software Engineering, pp. 53-72. IGI Global, August 2013. ISBN 9781466644953.
- ^ TOGAF® 9.1. pubs.opengroup.org. [2017-04-08]. (原始內容存檔於2021-03-07).
- ^ ChinaLabs "Business system infrastruc-ture platform (Technical report)." Beijing, China: ChinaLabs, 2002.
- ^ Gartner Group. Gartner IT Glossary: Model-Driven Packaged Applications. (原始內容存檔於2018-07-26).
- ^ Winslow, P., Panigrahi, S. & Morrison, D. 「The Apps Revolution Manifesto —Volume 1: The Technologies.」 Credit Suisse. March 29, 2012.