您的位置:首页 > 运维架构 > 网站架构

全模型驱动架构(f-MDA)的数据架构

2017-03-21 10:24 246 查看

统一数据模型的缘由

 

我们知道,MDA架构的源起于数据库应用系统的开发,在这类系统中有大量的类似功能和类似界面,可以通过比较简单的配置自动生成最终系统所需的常规代码;总而言之,MDA架构的目的之一是提高开发效率。

既然模型驱动架构(MDA)的初衷是为了“用模型描述业务”,那么我们也可以这么考虑:将“开发工具”本身理解为一个应用系统。于是,理论上应该可以用这同一套机制来实现MDA架构的开发工具。

然而,大多数的MDA架构的实现方案中使用的是专门的“运行时类库+元数据配置工具+代码生成工具”构成,在这类实现方案中,开发工具和业务系统采用的不同的技术方案,例如:开发工具使用Eclipse插件、业务系统则采用典型的Web应用架构,开发工具自身并不能享受到MDA架构带来的开发效率提升优势。

全模型驱动架构(f-MDA)的核心思想是“用模型描述业务的全部细节”,与通常的MDA实现方案相比,模型组件的类型大大增加,相应的元数据配置界面多,且需要考虑随时增加新元数据类型的需要,因此,提升开发工具的开发效率就成为一件特别有意义的事情。

 

统一数据模型的关系模型

 

软件系统处理的一切归根结底都可以落实到“数据”,使用MDA架构进行软件系统开发的主要工作就是给“数据建模”。在大多数的MDA架构的实现方案中,采用的是数据与元数据的二元分离方案,对二者进行了人为的割裂,使得开发工具与业务系统自成体系,二者之间难以相互交流、相互促进。

如果我们将数据与元数据统一起来,那么元数据不仅可以用来给数据(业务系统)进行建模,还可以给元数据(开发工具)建模,如下图所示[2]。



单个元数据描述能力总是有限的,将多种类型的元数据组合起来,则能方便的从多个维度对业务进行建模,完整的描述业务的全部细节[2]。



〈组合体 + 组件〉

〈组合体 + 中介 + 组件〉

〈组合体 + 左参 + 中介 + 右参 + 组件〉

 

统一数据模型的特点

 

1.    开发工具可以全面享受到MDA架构带来的优势。由于开发工具也同样可以用元数据来建模,大大提高了开发工具的开发效率。

2.    开发工具与业务系统可以相互重用软件资源。由于开发平台与业务系统可以采用同样的技术方案,从而为二者之间重用软件资源奠定了基础,例如:开发平台引入的界面方案和交互模式可以在业务系统功能中直接重用。

3.    开发工具与业务系统可以相互促进、共同进化。通常将来,开发工具的复杂度大于业务系统,为开发工具研发的大多数特性都可以直接用来服务于业务系统的开发;而业务系统的需求促使平台研发的新特性也常常可以用来改善开发工具的功能。

4.    吃自己的狗粮,有利于持续改善开发工具。开发工具的开发人员是自己开发的工具的第一使用者,在日常工具频繁使用自己的工具,对工具的使用有着最直观的感受,非常有利于持续改善工具。

 

参考文献

1.    http://www.omg.org/mda/
2.    Life平台设计原理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: