Enterprise Engineering Forum

企业工程论坛
Categorized as: 企业应用,模型驱动系统   Tagged as: ,, ,

Gartner模型驱动应用概念论述的若干要点

Author: 余彤鹰,  Source: 企业工程论坛,  Published: 2017-01-13

Excerpt: 2008年和2012年Gartner提出了一些涉及模型驱动的应用系统架构风格的研究报告,对这一概念的解释,与笔者1999年起提出并倡导的模型驱动的新一代企业应用架构相近。本文对Gartner报告中涉及的一些要点做了一点评述。

模型驱动(打包)应用:model-driven (packaged) applications

Woods (2008-08-05) 是Gartner关于这个课题最早的专门研究报告之一,也是最重要的一份。这份报告提出了“模型驱动打包应用”(model-driven packaged applications) 概念 (为简化表达,后文用MDPA缩写),指出这种应用风格的关键特征在于“其行为通过直接操纵显式的业务流程模型形成,而非通过一组参数或参数表”。在Gartner IT术语中的定义更全面和一般化:模型驱动打包应用是一种企业应用,具有元数据驱动的流程、数据或联系的模型;通过元数据模型来动态生成运行期组件,或动态解释、编译,而不是硬编码。关键在于这些模型是由业务分析师或用户维护的。

界定为“打包应用”也许多少有Gartner对于专有名词/词组强烈追求的因素在;但实际上在他们涉及这一概念的许多报告和讨论中,经常直接使用与笔者相同的表述:“模型驱动应用”(model-driven applications, 笔者将其缩写为MDApps,以区分于OMG的MDATM)。在当时在互联网上搜索这个词组(比如用Google加引号搜索)返回的直接结果很少(大部分结果属于OMG“模型驱动开发”方面的),排在前面的就包括笔者在企业工程论坛发布的英文页面[1]。其它相关结果基本只是局部地提到了相似的概念,没发现有相应的研究展开或稍微深入的探讨[2]。Gartner 2008年左右开始的研究,由于其内部(收费)报告的性质,基本不出现在一般网络搜索结果中。笔者是在2013年左右进行的相当全面细致的文献搜索中,才通过一些线索(例如其魔法象限中对模型驱动应用概念的使用)“发现”了Gartner的相关研究[3]

在Gartner较近期的报告中对MDApps而非MDPA的直接使用更多。Cantara et al. (2013-09-23) 中提到一个对MDApps的直接定义(文中说是引用的但出处未看到):以模型为抽象直接操纵应用(解决方案)的一个或多个方面的应用。这明显更贴近笔者对MDS/MDApps的定义,与其早期的MDPA定义相比有所进步。其中强调了模型是一种抽象,提到“用数据描述数据”,并提出“模型驱动应用就是元数据驱动的”。后一点是重要的认识细节,唯此方契合笔者2002年左右开始公开讨论的一些要点。笔者2005年完整发布了这一关键原理的阐述,即“模型驱动机制”。

MDApps概念本身是很通用的,但Gartner的讨论或阐述,与笔者早起的思路一样,基本围绕着企业应用(enterprise/business applications)。他们尤其围绕着BPM(看作企业应用的核心),并结合SOA(例如Woods 2008-08-05)。从2012年开始,大量使用“以流程为中心的模型驱动应用”(process-centric, model-driven application);这一提法,仍然在CRM和BPM方面的最新报告中使用。O’Kane & Blechar (2008-2011) 的内容包括了与主数据管理(master data management, MDM)的关系,基本将模型驱动界定为SOA, BPM, MDM的使能技术与方法。这四大特征并举的框架,在2012年以后的报告中变得更为明确。

模型驱动应用创编(model-driven application composition)

Plummer & Hill (2008-08-04) 提出,由传统的开发 (development) 变为使用模型驱动工具 (model-driven tools) 进行创编 (composition),是创建和维护软件的方法/范式的转换,模型驱动创编意味着“用模型定义、操纵和修改解决方案”,而“创编”更加契合或反映面向服务架构(SOA)的特点。在当年更早的时候,Information Week对时任Gartner副总裁、首席分析师的J. Hill的访谈,也是围绕着模型驱动应用创编这个基本话题 (Doug Henschen, 2008-01)。对于composition中文如何翻译,笔者费过一些思量。在Doug Henschen (2008) 中明确地使用“composition and assembly”与“code development”作为两种对比的范式,这是启发笔者选择用“创编”翻译composition的重要理由。

Hill (2008) 讨论了三种可用于应用创编的模型:

  • 参数模型 (parametric models, PMs):PM就像数学方程,籍此定义某种场景,通过调整其中的固定参数(系数)的值而变更(引用Wikipedia);PM定义模式或状态。
  • 配置模型 (configuration models, CMs):配置模型展示了开发者在软件实现中预设的组件、模块、库等;定义了系统的结构。
  • 显式流程模型 (explicit process models, EPMs):可见的,通常是图形化的,通过业务流程分析或企业架构工具建立。

基于一般日常表达中的“模型”概念理解,对如上述“多样化的”模型概念的讨论,很容易在关键处迷失,堕入模型概念理解与运用最常见的陷阱,在不太多的模型研究者中,对此甚至有一个专门的说法,叫做“模型之惑”[4]。在没有真正解决种种模型困惑之前,直觉模型概念的随意性、模型及其作用方式的多样性等,总会令诸如模型驱动应用系统架构的一些关键点变得含糊不清。例如,人们常常在最关键的地方却忽略了“模型”之所以为模型的根本。

此外,作为三种“基本”的模型类型,所谓显式流程模型(EPMs)固然是当时最容易理解的(因为BPM流行和较为成功,对业务流程建模的讨论与实践也非常丰富),其狭隘和隐含的对于模型驱动应用一般性理解思路的限制(例如,容易忽视业务流程之外的其它企业/业务对象)也是明显的。

Gartner至少捕获了BPM的模型驱动应用特征,也大致界定了更为一般的模型驱动应用架构风格的特征,但在比BPM更进一步方面,除了后面将要谈论的几点,尚未能观察到更多的东西。典型的BPM本身就是模型驱动系统的范例,这一点我们一开始就完全清楚,但笔者研究的重点,正是所谓业务流程模型(或工作流模型)之外的部分。从企业应用概念上说,是综合的“企业模型”(业务/流程是其中的一部分)。

元数据/元模型驱动 (metadata/metamodel driven), 主数据管理(MDM)

2008年的报告中有提到元数据/模型的作用,认为模型驱动实质上就是元数据/模型驱动。Cantara et al. (2013-09-23) 有阐述:“模型驱动应用就是用元数据模型(metadata model)驱动解决方案行为。”并且,“模型驱动应用就是元数据驱动的”。我们前面已经提到,元数据/模型作用的认识,对模型驱动原理的理解是很重要的一个地方。

元数据驱动(metadata-driven)是一个使用很久的概念,笔者也在很早就考察过,例如到底是“元数据”还是“应用数据/模型”在“驱动”一个应用?驱动一词的确切含义是什么。在明了模型驱动机制等基本原理之后,这些问题就基本消解了:这里存在一个应用模型-元模型(建模知识)-操作装置的基本构造,他们之间存在一组明确的制约/作用关系。元数据管理这类应用(其实还包括数据库应用本身的架构),都是笔者早期考虑过的,支持模型驱动机制等基本原理的证据。在Gartner网站上,元数据驱动概念大约从1997年开始出现。“元模型驱动”是另一个可以看到的词语,他们的意思可能相近,但不同人的使用也可能有自己的理解。基于对模型化关系的完整表述,我们可以对这些概念做出更清晰统一的界定和区分。

此外,在Gartner的相关报告中,主数据管理(MDM)与模型驱动应用联系到了一起。主数据管理系统的一种基本架构(其实也是其最好的架构选择),正是所谓“元数据/模型驱动”:这正是模型驱动机制的一个基本体现。

被纳入集中管控的基础数据与实际运转中的各个应用系统中的数据之间的采用或约束关系是怎样实现的,是衡量一个MDM解决方案的能力和运行水准的基本着眼点。可以想见,最差的方式可能需要人为介入维持关联的关系,或许还要干一些数据导入导出的(半)手工活计。而较为理想化的方式下,主数据系统中的数据与其它应用系统中数据的关系可以由系统自动地维护。当然,这里还可以进一步区分所谓“自动维护”的达成方式和程度。模型驱动应用架构原理本质上正是一个MDM可以“自动起作用”的基本模式。这也就是Gartner将MDM与MDApps联系起来背后的合理性内涵。

MDM在实际应用中常会涉及这样一个问题:所谓“主数据”的范围或边界到底在哪里?这种问题通常无法事先划定一个原则,而与所采用的MDM解决方案,采纳的方法特别是实际存在的“其它”业务应用系统动态相关。但是,全面地采用严格的模型化关系来实现整个企业应用系统的架构,会带来整体性的、完全不同的答案。在这里,模型化关系中的各项基本关系,为系统的构件及其相互作用关系确立了新的更为清楚的框架。所谓模型/数据,元模型或元数据,他们描述的对象,约束的对象等等,都将遵循基本的原理和框架得到清楚的界定。换言之,真正能够在背后将诸如EA, SOA, BPM, MDM这些重要的方面有机地联系到一起,形成全新的一代企业应用方案的,正是模型驱动原理。透彻地理解和运用模型驱动的应用系统架构原理,类似MDM解决方案和所谓“元数据驱动”这些概念本身存在的基础就已经改变了。尽管如此,对单纯的主数据管理或元数据管理系统来说,模型驱动也是它们最基本和最佳的架构原理。

直接与间接模型驱动应用 (direct/indirect model-driven applications) 与模型驱动应用连续统(continuum)

在Gartner 2012年发布的报告中还提出了直接与间接模型驱动应用 (direct/indirect model-driven applications) 的概念:直接驱动应用驱动解决方案的几乎全部行为,间接驱动需要开发者的手工干预(Cantara et al. 2013-09-23)。从理解上这个与MDE和MDApps的区别有一定关系。

在Gartner有关阐述中,提出了模型驱动的程度或相对性,并由此引出了所谓“模型驱动应用连续统”概念(model-driven application continuum)。在他们的讨论中,涉及了模型驱动开发、可执行模型等不同的概念/理解方式,但看起来所谓“微妙”的区分仍然停留在感性、直觉上,缺乏更深层次的原理或更精确的界定。对于OMG等为代表的模型驱动工程(MDE)领域存在的一些基本问题,例如模型与代码的关系与区别,模型可执行与代码可执行的区别,模型表达对象(待开发软件系统还是现实世界/应用对象)等认识上的关键点,并未提出更具建设性的、足够清晰的阐述。在这样的背景下引入的模型驱动连续统概念,在某些方面也有点像是在OMG的MDATM和MDApps这两个根本性区分的概念之间和稀泥[5]

上述几个概念的提出,反映了Gartner研究者在模型驱动原理方面的理解有一些进步,但仍然看不出在基本概念、原理、理论基础、现有知识体系借鉴等方面有多少更深入的工作。总体看,其工作仍然停留在基于一般概念性理解和产业产品/方案比较评估、优劣及趋势预测等层面上。当然,这本身也是Gartner作为咨询企业开展业务的基本特点。

数字孪生子(digital twins)与模型驱动

Gartner_digital twins最近一个有意思的发现,在不久前出炉的Gartner 2017十大战略技术趋势中,数字孪生子(digital twins)被界定为“资产的数字实体模型”或“物理事物或系统的动态软件模型”。在其工作原理的图解中,出现了“程序驱动”和“模型驱动”。至少表面上看这符合笔者基于模型化关系对于数字化(赛博)空间的所做的解释或理解。虽然其公开发表的非常扼要的叙述中并没有对图解中的model-driven做进一步阐述,但从其对数字孪生子的定义(数字空间实体/软件模型),对元数据概念的运用等,可以推测其内部的具体研究者可能已经或迟早会将其与模型驱动概念联系在一起。

这一点值得关注,因为迄今我们看到的Gartner关于模型驱动应用的报告,无论是阐述这个概念还是运用这个概念,几乎都和BPM捆绑在一起,这既是特色,也是局限。数字孪生子概念背后所涉及的,诸如IoT, CPS, 乃至AR/VR等,可能是模型驱动应用原理与现在的技术创新热点结合的重要切入点——这正是笔者最近在研究和关注的。可以看到,完整系统的模型化理论和原理,在这一轮以网络、数据、智能、移动/轻终端等为主角的计算机应用革命中可能出现重要的重合。可以关注的地方不少,例如开放性环境下基于(大)数据的应用的崛起,云/各式XaaS等计算架构的深化发展所体现的计算机应用架构新的功能划分与层级演化趋势,一度沉寂的数字化/赛博空间思维的重新兴起(数字孪生子就是典型例子)等。这是Gartner在数字孪生子的阐述中运用模型驱动概念背后可能值得重视的理由。手握模型驱动原理方面的研究成果,我们有可能从这里找到许多最前沿课题的全新研究进路。

小结,及其他

及时捕获发现IT产业的新技术、新思想,用自己的表达方式加以“界定”,是Gartner的重要立身之道,最有名的案例之一是对ERP概念的界定和推广。在这样的研究中,他们的基本角色是产业观察者、趋势发现者但通常并非真正的技术研发与创新提供者。对模型驱动概念的研究与关注也体现了这一特征。Gartner从当时代表性的企业和BPMS等应用的基本特征总结出(或证实了)模型驱动的应用架构风格的存在,将其判定为未来几年(当时预测是到2012-13年)企业应用升级换代的主流方向。2012年瑞信 (Credit Suisse AG) 发出的题为“应用革命宣言”(The Apps Revolution Manifesto)的研究报告很大程度上重复和验证了Gartner自2008年起有关模型驱动的一些基本想法,并将这个以模型驱动为基本特征的革命性的升级换代的周期再向后推了若干年。从时间上,这几乎就是要与最新一轮的互联网化、智能化应用接轨的节奏——然而其内容完全没有涉及到这个重要的话题——这正是值得我们研究的地方。

“以流程为中心”,从企业应用过去发展上,是很显然的“主流”思路之一;但从对模型驱动原理的理解和其应用空间上,则有所狭隘。笔者的研究,开始于更为中肯的立足点:企业(作为一个动态演变的系统)而不仅仅是业务(流程);正因为如此,才对工作流/BPM进行了初步的考察之后“存而不论”——企业的流程是建立在更为广阔和一般化的事物(资源等等)基础上,我们需要自底向上地构建一种模型化的图景。而在后来的工作中,通过对模型的本质、必然性及其工作原理的广泛研究,我们的工作已经建立在一个更广泛的背景和更合理的理论基础之上。

尽管所见到的Gartner研究中,多数讨论围绕着BPM和业务流程模型,但他们也注意到了模型驱动更广泛的意义。Davies (2008-04-18) 在对CRM架构风格演变的讨论中,提出了五种架构风格,其中两种是“模型驱动”的(model-driven applications和model-driven frameworks),并被认为“更加重要”。

此外,Buytendijk, et al (2013-05-16) 还有一个重要的阐述:模型是人类易读或维护的同时又是机器可解释 (machine-interpretable) 的。机器可解释这一特征,传统上多使用在数据概念上,数据之上还有“信息”,信息之上还有“知识”——由“数据”……而到“模型”,隐藏着更为深刻的认识与理论的背景。这至少可以从笔者2013的论文讨论的模型多重性或多面性进行讨论。在这篇论文中,笔者还阐明了相关理念在计算机科学领域的一些发展背景(例如Smith 1985的经典论文)和哲学背景(例如维特根斯坦的逻辑哲学论),在这个基础上提出了模型“表征应用对象,且人可理解、机器可处理”的三重关系。它的普适性与重要性已经远远超出了诸如“企业应用”这样的话题范围。这背后有笔者的许多研究与思考,涉及计算机应用(架构)的基础原理及创新,这类的工作在Gartner的研究报告中自然无见端倪。

 

注释

[1] 这两个页面内容看来有点简陋,却是早早插在计算机应用这一高地上的旗帜,是相关研究在全世界范围内原创性和领先性的标志(这些页面有可能在一些互联网内容存档性质网站的历史记录中找到):

  • 企业工程论坛早期发布的英文页面:http://www.ee-forum.org/english/index.html
  • 余2005的一个英文摘要:A Survey of New Generation of Enterprise Information System, http://www.ee-forum.org/english/yu2005summary.htm, 同时笔者也将一份完整的英文版公开发布到了网上。

当时(2005年左右)www.ee.forum.org的Google PR值曾达4 (of 10)左右,搜索“model-driven application”时,企业工程论坛的页面会出现大概前10左右之内的结果中。笔者当时公开一些内容时的考虑,就包括担心其它人率先发表相似的概念(当时直觉上认为可能性较大),特别是被“有心人”申请专利。这些考虑看来并非多余,2002-2005揭示的基本原理和结构,在相应的软件专利评审中,肯定是有意义的,它们的存在,实际上抹杀了一类软件专利的存在空间(可参看http://www.ee-forum.org/wp/pub/ty/2013-11-p3810.html等文)。笔者最初曾经做过一点专利化探讨,自认没有能力加入到这种专利游戏中,也颇为反感软件专利,因此选择了公开发表。

[2] 可见以下两篇文章

[3] Gartner Research与模型驱动打包应用软件:企业工程论坛创新的背书,http://www.ee-forum.org/wp/pub/ty/2013-12-p3823.html

[4] 参见《一般模型化关系——从模型是什么到如何起作用的基本答案》注[3], http://www.ee-forum.org/wp/pub/ty/2016-07-p4377.html. 而此文(及姊妹篇《模型是什么》,http://www.ee-forum.org/wp/pub/ty/2016-07-p4381.html 就是对“模型之惑”或有关模型的基本问题最基本的解答。

[5] 这里提到的许多问题在企业工程论坛上都有讨论,其中一些还曾经深入到MDE社区与该圈中的实践与研究者做过直接的讨论。

 

作者比特币地址:
 1EzfMQ3GVbwqadKydjLqBhiQfZJDPCHBbh

Copyright

  本发布物版权归原作者所有,经原作者许可在企业工程论坛(EE-Forum.org)公开发布,并允许个人及公益性机构非牟利性使用及传播。传播中需保持从标题、署名到各项内容及此声明包括链接地址等完整内容不变。引用或摘编文中内容或观点应符合公认准则。其它机构,或牟利性使用,请预先取得作者许可。保留一切未说明的权利。
  详细说明见: http://www.ee-forum.org/about/copyright ,管理者电子邮箱:admin(at)ee-forum(.)org

Cite Style

GB7714 style: 余彤鹰. Gartner模型驱动应用概念论述的若干要点[EB/OL]. 企业工程论坛, http://www.ee-forum.org/wp/pub/ty/2017-01-p4407.html, 2017-01-13[2017-03-23 02:13]

Chicago style: 余彤鹰, "Gartner模型驱动应用概念论述的若干要点", 企业工程论坛, http://www.ee-forum.org/wp/pub/ty/2017-01-p4407.html(accessed 2017-03-23 02:13)

Posted by   2017-01-13(Original)   Hits 111   Modified 2017-01-13
Prev Post: 
Next Post: 

Related Entries:

什么是模型驱动应用
跳出软件工程:Bezivin的模型驱动工程新视野
Gartner Research与模型驱动打包应用软件:企业工程论坛创新的背书
模型驱动软件开发与工程的现状
模型驱动工程的语言与系统国际会议MODELS 2011论文征集

Leave a Response

You must be logged in to post a comment.