上一篇文章,主要介绍了Openbiz的架构,本篇文章主要为您介绍Openbiz元数据。
Openbiz应用开发步骤
Openbiz是一个基于元数据的框架,因此应用程序的开发过程可能有别于传统开发
步骤1: 收集需求
步骤2: 设计数据模型,例如:数据结构
步骤3: 编写用商业对象包括数据对象及其元数据
步骤4: 编写用户界面包括表单和视图
步骤5: 如果需要则编写自定义的数据、表单或服务对象
步骤6: 优化元数据及自定义代码
步骤7: 测试及调试
步骤3和4都是关于编辑XML元数据,您可以使用您最喜欢熟悉的XML或文本编辑器来编辑他们。OpenbizCubi中也包含了一组工具来帮助您快速的生成或编辑这些元数据。
管理元数据
介绍元数据
Openbiz的核心理念在于他是一个基于元数据驱动的机制,什么是元数据呢?从字面上来解释,元数据是一个描述数据的数据组件。它是“关于数据的数据”。在Openbiz中元数据文件扮演着Openbiz类的配置文件。所有Openbiz核心类都是一般类。它们由不同的元数据重新赋予了不通的意义,它们分别代表着不同的事务与关系。例如:当StudentDO.xml关联到BizDataObj类时,这个BizDataObj实例就是一个“学生”对象,但当SchoolDO.xml 关联到BizDataObj类时,那么这个BizDataObj实例就成为了一个“学校”对象。
正因为Openbiz的类是被元数据所描述的,编写元数据文件就如同实现了一个类,因此,应用程序的开发工作大多数时候就转变成了编写元数据文件的工作,替代了传统意义上的编程。通过元数据的方式来描述应用程序将会使其具有更清晰的逻辑和设计。
元数据可以实现什么:
1.描述对象的属性
2.描述对象间的关系
3.描述表示层对象的渲染(显示)方法
4.描述数据的有效性校验方法
5.描述用户在页面上的交互行为
源数据不能实现什么:
逻辑与功能,这部分应当在真正的程序代码中得以实现,“Class”属性可以使一个元数据绑定到任意一个自定义的对象上,从而实现特殊的逻辑与功能。
元数据范例
让我们来看两个简单的元数据范例。UserDO.xml 代表了一个用户信息对象,UserNewForm.xml代表了一个创建该用户信息对象的表单,两段XML元数据的含义是可以实现自我解释的。
数据对象元数据
UserDO.xml (该文件可以在 Cubi 的 /modules/system/do/ 目录中找到)。
表单对象元数据
UserNewForm.xml (该文件可以在 Cubi 的 /modules/system/form/ 目录中找到)。
通过“包”来管理元数据
一个好的应用程序设计通常是模块化的。Openbiz推荐程序开发人员在app/modules/ 这样的目录结构中创建自己的元数据。这也正是OpenbizCubi遵循的标准。Openbiz源数据文件可以被组织为 模块名 和子目录名,这就像在Java中实现的包的概念。例如:
PackageX.PackageY.metaA.xml 引用了在 modules/PackageA/PackageB 目录中的metaB.xml。