在完成了统一数据格式的定义之后,我们就开始设计平台的灵魂——元数据了。
首先,从元数据的作用分析,它应具备以下几个作用:
1、ORM的功能。因为要基于元数据来做一个持久层的组件。
2、将扁平化数据进行结构化的工作,这个工作也要依赖与元数据。
3、用户录入数据的校验规则,也要事先在元数据中定义好。
4、简化查询的SQL语句的编写,能够使用元数据动态发生一些SQL语句,或扩充原有的SQL语句。
5、扁平化数据在页面上的自动填充和自动获取。
小小的元数据要定义这么多的东西,如果将每个东西都用元数据来定义话,那么元数据的定义将变得异常复杂和繁琐。所以,我们不想通过技术来解决这个问题,因为个人感觉技术上解决起来比较麻烦。那怎么办呢?答案是通过“使用规范”和“管理手段”。
在元数据上我们定义了一个规范:同一元数据在数据库中、对象中、扁平化数据中还是页面上,它的名称是一样的;同时在一套系统元数据名称不允许重复;该规范的执行和监控由QA负责。
呵呵,这个规范看似很流氓。但是,它产生的影响是深远的。我们只需要像定义数据库表结构一样定义我们的元数据。这样,元数据的定义就变得轻松多了,如此也就更容易的推广了。
相信大家一看到上面的规范,就应该知道我们的元数据是怎么实现了的吧,元数据不管在什么层面都是一一对应的关系,这样处理起来还不简单嘛!
技术可能是万能的,但是通过一定的管理手段,能让我们的技术变得简单不少。我想,这也是我们这些做技术的人缺乏的一点吧,我们总希望用技术解决一些。