图 2.3重定向之后的EDIT请求
1.3 xmlEngine
xmlEngine是Openbravo体系结构中比较有特点的一个部分,他没有使用通常的JSP页面作为表现层(可能是由于历史原因,现在看来这种方式可能值得商榷),而是自己开发了一套基于xml的模板的引擎以渲染表现层,可以根据写有sql的xml文件读取数据,并将数据嵌入xml形式的HTML模板中。
2、 编译系统结构
2.1 概述
得益于Openbravo 较为完善的编译系统,他的一个主要的优点就是其开发速度快,能后迅速的开发出一个应用程序。
主要开发过程如下:
1. 在数据库中生成表
2. 在Openbravo中定义表和字段
3. 在Openbravo中定义windows,tab
4. 编译window
这样一个具有前端显示和后台业务数据结构的程序就生成了。
2.2 编译过程
编译任务由Ant任务compile.development完成。主要有以下几个子任务构成。(参见/src/build.xml)
图 3.1主要Ant任务流程
2.2.1 generate.entities任务
generate.entities的任务主要是检查更新的数据字典,在ModelProvider中实例化org.openbravo.base.model包中的类型,以提供给系统的其他部分使用。
图 3.2任务中的类的主要关系
2.2.2 wad任务
Wad任务的主要工作使用org.openbravo.wad包中的Wad类来完成任务。Wad根据传入的参数,读取数据库信息生成代码,如:
和针对windows的每个标签页生成:
- 含有sql操作的xsql。
- 控制器Java源文件。
- 配置参数和数据域的xml文件。
2.2.3 sqlc任务
将含有sql操作的xml编译成Java源文件,对应业务层中的负责执行SQL的类。
2.2.4 translate任务
根据一些信息,如程序所注册的模块,对数据进行必要的转换。完成之后所有运行时需要的文件都已经生成,重启服务器就可以看到新开发的页面了。
3、 评述
OpenbravoERP的体系结构并不算复杂,自成一体。
软件结构表现层,控制器,和业务层较为清晰。表现层xmlEngine的设计很有独到之处。应用数据字典和编译系统的设计为程序的开发和定制提供了全面的支持,使得开发者几乎不需要手工编写代码就可以自己开发程序。
当然,运行时的三层体系结构还是略显单薄,业务层和持久层的耦合紧密。所以其体系结构对代码重用及模块复用的支持有限,更多的是依靠其较为完备的应用数据字典的定义来生成使用的代码。换句话说,主要是利用引擎生成部分相似的代码的方式来解决复用问题。
Openbravo组织意识到了这种方式的不足,也在逐渐的做出改变,在2.5版本中我们见到了一些OR-Mapping的设计,更多信息可以参考最新的产品白皮书。
分享到:
相关推荐
OpenBravo销售,财务,仓存等系统的 数据库结构基本分析,
《OpenbravoPOS 2.3汉化包详解与应用》 OpenbravoPOS,全称为Openbravo Point of Sale,是一款开源的销售点管理软件,专为零售业设计,旨在提供灵活、高效且易用的销售解决方案。2.3版本的汉化包是针对中国用户特别...
2. **Web基础架构**:基于Java和Ajax技术,Openbravo提供了一个完全基于Web的用户界面,用户可以通过浏览器访问,无需安装额外软件。 3. **灵活性**:Openbravo支持自定义字段、工作流和报告,允许企业根据自身业务...
Openbravo数据库关系表
#### 二、Openbravo 特性详解 - **定制化能力**:Openbravo 支持针对特定行业的功能定制和业务流程优化。 - **许可证灵活性**:提供了开源许可证和私有许可证两种选项,允许合作伙伴和开发者根据自身需求选择合适的...
- **MVC(Model-View-Controller)架构**:这是Openbravo ERP 的基础架构之一,能够清晰地将数据模型、用户界面以及控制器分离,提高系统的可维护性和可扩展性。 - **模型驱动开发**:Openbravo 通过模型驱动的方式...
Openbravo_ERP 的中文介绍,帮你快速走入 Openbravo_ERP 的世界
Openbravo3.0二次开发部署步骤
openbravoPOS 实操 底层数据库写入逻辑 业务推测
Openbravo_ERP安装 说明 分析 以及Openbravo 2.4汉化
Openbravo erp 实施笔记
Openbravo ERP 采用了 MVC(Model-View-Controller)架构模式来组织其内部组件,主要包括以下几个核心部分: ##### 1.5.1 XmlEngine 用于解析 XML 文件,并将数据转化为可以在前端显示的格式。 ##### 1.5.2 SQLC ...
Openbravo 3.0 会计文件,适用与openbravo 3.x所有版本
版本号:epos0.5bate 新增扩展: 1)商品销售时的权限(及高级权限) 2)时间片库存管理(用于盘点的目的 3)各种单据自定 4)快速单据编辑器 5)商品BOM关联 修改项: ... 2)更加人性化的角色权限编辑器 ...
Openbravo数据库的pdm图,使用PowerDseigner打开,可以作为数据库设计或者ERP研究之用
openbravo 配置工具 用来配置openbravo.properties文件
openbravo 货币汉化,最新的Openbravo汉化包
与openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关...
开源ERP OpenBravo的数据库关系图。
Openbravoerp实施笔记.pdf