Openbiz框架的设计目标是使设计,开发和维护网络应用程序变的快捷和方便。Openbiz架构的主要创新是其基于元数据的设计。这意味着Openbiz对象是基于元数据文件中的描述的而创建的。对于Openbiz来说在大多数时间构建一个应用程序就相当于设置核开发的他的元数据文件。由于 XML语言的自我解释这一特性,使得Openbiz的应用程序十分易于维护,与此同时Openbiz是如同XML语言一样也一个具有丰富可扩展的框架。
Openbiz核心对象
任何应用都可以由两部分组成-后端和前端。通常的主要业务逻辑运行在后端,而用户界面在前端。在Openbiz中,后端主要为“数据对象”或“服务对象”。前端主要有“表单对象”和“视图对象。”
数据对象
数据对象(又名“DO”)是一个数据单元。Openbiz数据对象将数据库中的表和关系映射到系统对象中。它在对象中封装了(创建,读取,更新和删除)等操作,并提供了高级搜索接口。
一个数据对象包含了一组字段,在典型的用法中,一个数据对象映射到数据库中的表,并且每一个字段映射到数据表中的列或者SQL表达式。
服务对象
服务对象是一个Openbiz的系统单元,其包含业务逻辑实现的一组函数(方法)。典型的Openbiz服务对象的范例是“用户身份验证服务” 和“电子邮件服务”
表单对象
表单对象是用户界面区块的单元,它包含了一组相关的表单控件,他可以是一个标准的HTML表单,一个带有工具栏和导航条的HTML表格,一个图片列表等。
一个表单对象包含了一组表单控件,它即可以是简单的也可以是高级的HTML控件。典型的使用方法是:一个表单对象映射到一个数据对象上,并把每一个表单对象上的表单控件分别映射到数据对象的字段上。
视图对象
视图对象实际上扮演了网页的页面。试图对象是表单对象的容器。你可以把视图对象(网页)想象为是地板,而表单对象就是依附在上面的瓷砖。
核心对象与元数据
核心的Openbiz对象是基于Openbiz元数据定义的。下面摘录的部分是一个数据对象的元数据,元数据的含义我们将在后续章节中讨论。
Openbiz框架将读取这样的元数据并且动态从“Openbiz对象工厂”中创建出这些对象。
Openbiz架构特点
多层面向对象设计
Openbiz是一个多层的面向对象设计。Openbiz应用程序被分为三层设计,表示层,业务逻辑层和数据集成层,在Openbiz中:
表示层是由Openbiz视图和表单实现的。Openbiz还有额外的Javascript库负责通过ajax的方式与服务器后端的表示层对象通信。
商业逻辑层是由Openbiz数据对象 和Openbiz 服务对象 实现的。
第三方包,系统底层由Zend_DB来处理数据集成层的操作。
Openbiz MVC
Openbiz的一个关键性特性就是它是一个基于模块-视图-控制器(MVC)设计模式的框架。这一特点使得基于Openbiz开发的应用程序更加便于管 理。因为表示层(View)是与应用程序的数据和逻辑(Model)清晰的分离开的。所有用户与应用程序的交互全部由前端控制器来处理。
比较Openbiz MVC和市场上主流的MVC框架例如JSF和Strusts等,Openbiz框架更加接近JSF,因为他们同样是基于组件的结构。Openbiz的视图层包括了视图对象,表单对象和表单控件等组件,这些组件在处理请求时都是可被访问的。
Openbiz 对象关系映射
Openbiz 实现了必要的“对象关系映射”功能,允许数据对象代表数据库中的数据和关系。下列列表是Openbiz对象关系映射所实现的功能。