随着计算机技术和软件工程的高速发展,软件建模作为沟通真实世界与计算机世界的桥梁变得不可或缺。现有技术中有多种软件建模的方法,这些建模方法各有利弊:有些方法只能用于部分场景,不能广泛应用;有些方法理论性较强,缺乏实用性;有些方法的扩展性不强,不利于软件系统的长期发展。不同的建模方法会对软件工程产生巨大的影响。
进入数字孪生的时代,数字化的核心是基于元数据的业务对象建模,尽可能地将客观世界纪录在系统当中,并且被系统理解和识别。元年方舟低代码平台,在领域建模方法论指导下,贯彻数据模型优先的思路,从根本上打通企业以业务为中心建立的信息孤岛,基于元数据驱动的系统建模能力,提升企业的敏捷研发实力,助力企业转型。
元数据(Metadata)是描述对象的数据,是对对象的属性、操作及联系进行的描述性信息。
举个例子:
现实世界的一本书可以当作是一个对象,而描述这本书的信息比如书名、作者、出版时间、页数、分类等等都是对象的属性。书可以看,可以借阅,可以买卖,这些和书相关的行为都是对象的操作。而一本书可以由某个人购买,也可以由图书馆收藏,那对象和对象之间就发生了联系。而元数据就是描述【书】这个对象的数据,将书这个对象所有的属性、操作及联系记录下来。
当我们构建一个计算机系统或者企业应用的时候,其实就是了解企业中这些业务真实发生的过程,将业务发生过程中涉及到的所有内容变成很多的对象,并用元数据将这些对象的属性、操作及联系记录下来,这样的过程就是一个系统建模的过程。当我们完成了系统建模,有了元数据,那我们就可以根据元数据构建企业的计算机系统及企业应用了。
元年方舟企业数字化PaaS平台中的元年方舟低代码平台提供的元数据驱动是一种设计模式,是会改变软件行为的数据,是简单架构构建复杂业务的灵魂。一个系统中的所有模型都是由元数据驱动的。
了解了元数据驱动的概念之后,我们发现一个系统中的所有模型都是由元数据描述和管理的。那元数据这么多,我们怎么使用元数据呢?此时我们需要做的是对元数据统一管理,分层建模。
元年方舟低代码平台的元数据的统一管理可以将杂乱无章的对象按照多种维度进行分类、筛选和整合,并通过预置规则或自定义计划将多个对象按照关系重新组合,以满足在某一业务条件下的特定模型要求。
还是以【书】这个对象为例,如果只是一本书,那我们管理起来会很简单。但如果是成千上万种书,那怎么才能很容易的管理呢?现实世界会用图书目录的方式进行管理,将图书进行分类、分册存放,并记录下放置的位置,将这些信息记录在图书目录上,那只要查看图书目录就会很容易地找到我们要找的书。元数据管理其实也是类似的过程,只是这个过程会更轻松。在建立对象的时候,我们已经提取了对象的所有元数据,我们可以将这些属性进行任意分类、任意组合,将得到更为准确的管理结构。
如果想要查找1990年出版的字数最多的侦探小说,那我们要具体怎么做呢?
元数据驱动可以提供由下而上的建模能力,例如:基于元数据可以构建系统对象,比如菜单对象、用户对象、权限对象、业务对象,也可以是财务业务对象、采购业务对象等。在业务对象基础上可以构建不同产品的对象,如销售订单、采购订单等。在产品业务对象基础上可以构建不同行业产品的对象,如房产销售订单,烟草销售订单等。
免费资料了解:元年方舟数据中台白皮书;元年方舟企业数字化PaaS平台白皮书
回到我们【书】的这个例子,首先我们先要对书这个对象进行分层建模。图书是一个对象的统称,那“图书对象”就是最底层的基础对象,它包含了一些基础属性,比如出版时间、字数、作者等。而书又有很多种,如科学图书、休闲图书、历史图书等,那“休闲图书对象”是基于“书对象”建立起来的一种子对象,它不仅包括所有“图书对象”的所有基础属性,还具有一些特殊的属性,比如内容不一定真实,形式多种多样等等。
那“休闲图书对象”又可以有小说、散文、诗歌等,这样“小说对象”又是一种基于“休闲图书对象”建立起来的子对象。同理又有“侦探小说对象”、“科幻小说对象”等等。这样我们就分层地建立起了一个“图书”对象体系:“图书对象”-> “休闲图书对象”-> 小说对象”-> “侦探小说对象”……
这样我们在使用这些对象的时候只需要将它们公有的属性或特有的属性附于它们身上,那自然我们就可以轻松的构建起我们需要的业务使用场景了,找到“1990年出版的字数最多的侦探小说”也不是什么难事。
我们有了元数据,又有了基于元数据驱动的分层的系统模型,那在此基础上构建我们的计算机系统及企业应用就会非常容易。根据不同的业务场景,输入不同的对象属性和关系,让元数据帮我们组装出不同的业务模型。
那对业务模型的操作怎么解决呢?元年元对象管理系统可以帮我们自动完成。
元年提供了一种使用元数据管理系统对模型对象进行建模的方法和元数据管理系统,以解决或缓解上述现有技术中的一些问题。具体体现在以下几个方面:
一、基于元数据的面向对象建模方法
元年提供了一种使用元数据管理系统对模型对象进行建模的方法,其中元数据包括关于至少一个模型对象的基本信息和属性信息,方法包括:
第一:在元数据管理系统中接收所输入的关于至少一个模型对象的基本信息和属性信息,其中关于至少一个模型对象的基本信息至少包括至少一个模型对象的名称、限定至少一个模型对象与其他模型对象之间的继承关系的信息和对至少一个模型对象进行访问的相应的数据访问接口名称,其中关于至少一个模型对象的属性信息至少包括限定至少一个模型对象与其他模型对象之间的关联关系的信息和对至少一个模型对象进行访问的相应的数据访问接口的属性编码。
根据所输入的关于至少一个模型对象的基本信息和属性信息定义至少一个模型对象,以对至少一个模型对象进行建模。在建模过程中,基于所输入的关于至少一个模型对象的基本信息和属性信息确定至少一个模型对象与其他模型对象之间的继承关系或关联关系,并且在对至少一个模型对象建模完成时使用相应的数据访问接口名称和数据访问接口的属性编码为至少一个模型对象生成相应的数据访问接口,以使得外部应用程序能够访问相应的建模形成的至少一个模型对象。
第二:在输入关于至少一个模型对象的基本信息和属性信息之后,将至少一个模型对象的基本信息存入元数据管理系统的第一数据库表,将至少一个模型对象的属性信息存入元数据管理系统的第二数据库表,针对每个模型对象根据该模型对象的基本信息和属性信息生成用于存储每个模型对象对应的业务数据的附加的至少一个数据库表。而模型对象的基本信息还包括用于存储至少一个模型对象对应的业务数据的附加的至少一个数据库表的名称、模型对象的属性信息还包括用于生成附加的至少一个数据库表的字段的名称。
第三:一个模型对象与其他模型对象之间,包含了继承关系和关联关系的信息,通过以下方式确定至少一个模型对象在建立的模型中所处的层级:
通过在元数据管理系统中输入关于第一模型对象的基本信息和属性信息来定义第一模型对象,将定义的第一模型对象作为待构建的模型的第一层级;
通过在元数据管理系统中输入关于第二模型对象的基本信息和属性信息来定义第二模型对象,并且基于所输入的关于第二模型对象的基本信息和属性信息确定第二模型对象与第一模型对象之间的关系。如果第二模型对象与第一模型对象之间具有继承关系,则将第二模型对象构建到第一模型对象所在的第一层级下方的第二层级;如果第二模型对象与第一模型对象之间具有关联关系,则将第二模型对象构建到第一模型对象所在的第一层级。
二、元数据管理系统
元年提供一种元数据管理系统,包括:
1. 输入单元
被配置用于接收所输入的关于至少一个模型对象的基本信息和属性信息,其中关于至少一个模型对象的基本信息至少包括至少一个模型对象的名称、限定至少一个模型对象与其他模型对象之间的继承关系的信息和对至少一个模型对象进行访问的相应的数据访问接口名称,其中关于至少一个模型对象的属性信息至少包括限定至少一个模型对象与其他模型对象之间的关联关系的信息和对至少一个模型对象进行访问的相应的数据访问接口的属性编码。
2. 处理单元
被配置用于根据所输入的关于至少一个模型对象的基本信息和属性信息定义至少一个模型对象,以对至少一个模型对象进行建模,在建模过程中基于输入元数据管理系统中的关于至少一个模型对象的基本信息和属性信息确定至少一个模型对象与其他模型对象之间的继承关系或关联关系,并且在对至少一个模型对象的建模完成时使用相应的数据访问接口名称和数据访问接口的属性编码为至少一个模型对象生成相应的数据访问接口,以使得外部应用程序能够访问相应的建模形成的至少一个模型对象。
3. 存储单元
元数据管理系统的信息载体。
第一数据库表,被配置用于存储输入元数据管理系统的关于至少一个模型对象的基本信息;
第二数据库表,被配置用于存储输入元数据管理系统的关于至少一个模型对象的属性信息;
附加的至少一个数据库表,被配置为是针对每个模型对象根据该模型对象的基本信息和属性信息生成的,用于存储每个模型对象对应的业务数据。
根据一个实施方案,其中关于至少一个模型对象的基本信息还包括用于存储至少一个模型对象对应的业务数据的附加的至少一个数据库表的名称,关于至少一个模型对象的属性信息还包括用于生成附加的至少一个数据库表的字段的名称,以及其中附加的至少一个数据库表被进一步配置为是针对每个模型对象根据该模型对象的基本信息中的附加的数据库表的名称和该模型对象的属性信息中的用于生成附加的数据库表的字段的名称而生成的。
另外处理单元被进一步配置为:根据限定至少一个模型对象与其他模型对象之间的继承关系的信息和关联关系的信息通过以下方式确定至少一个模型对象在建立的模型中所处的层级:
通过在元数据管理系统中输入关于第一模型对象的基本信息和属性信息来定义第一模型对象,将定义的第一模型对象作为待构建的模型的第一层级;以及通过在元数据管理系统中输入关于第二模型对象的基本信息和属性信息来定义第二模型对象,并且基于所输入的关于第二模型对象的基本信息和属性信息确定第二模型对象与第一模型对象之间的关系,如果第二模型对象与第一模型对象之间具有继承关系,则将第二模型对象构建到第一模型对象所在的第一层级下方的第二层级,如果第二模型对象与第一模型对象之间具有关联关系,则将第二模型对象构建到第一模型对象所在的第一层级。
基于元数据管理系统,元年提供了一种计算机设备,包括存储器和处理器,存储器上存储有计算机程序,计算机程序在由处理器执行时导致上述的使用元数据管理系统对模型对象进行建模的方法被执行。
同时,元年也提供一种非暂时性计算机可读存储介质,其上存储有计算机程序,计算机程序在由处理器执行时导致上述的使用元数据管理系统对模型对象进行建模的方法被执行。
总 结
元年提供了一种新的元数据管理系统和使用该元数据管理系统对模型对象进行建模的方法。利用本方案,通过在元数据管理系统中输入关于模型对象的基本信息和属性信息来定义模型对象,根据该基本信息和属性信息来确定模型对象在模型中所属的层级,可以建立元数据模型,进而能够帮助构建稳定、高效、可扩展的软件模型。使用本方案建立的模型对象可以广泛适用于各种软件系统,特别是企业应用系统。本方案还能够规范模型接口,使得构建的模型能够遵循统一的接口规范和设计原则,保证了系统的稳定性与扩展性。
元年方舟低代码平台正是基于元数据驱动和基于对象的建模能力这两大核心设计思想构建而成,旨在从技术与模型层面进行强力支撑,让开发工作综合提效,为企业降低研发及人力成本,更专注于业务推进,支撑企业数字化转型。