`
yuxingfirst
  • 浏览: 50568 次
  • 性别: Icon_minigender_1
  • 来自: 湘潭
社区版块
存档分类
最新评论

Openbravo架构分析

阅读更多

概述

Openbravo ERP是一套适合于中小企业并且基于web可扩展的开源ERP系统。这个ERP系统所包括的强大功能可实现生产管理、仓库管理、销售管理、财务管理。同时内置CRM(客户关系管理)和BI(商业智能)。在2008年获得了1200万美金的风险投资,并在2009获得了Infoworld的最佳开源企业软件的奖项,其前景相当看好。

研究同行业的开源软件,有助于我们掌握其产品架构,了解其设计理念,从而积累软件设计经验,以应用到自己的产品开发中。

图 1.1 Openbravo的体系结构

Openbravo主要的体系结构被称为“应用数据字典”(Application Dictionary,简称AD)结构。这种结构源于另一个开源ERP Compiere ERP(值得一提的是,Compiere ERP也在09年获得了Infoworld的最佳开源企业软件奖)。定义的数据字典将通过Openbravo的WAD引擎生成各种元素。开发者开发的SQL语句将通过SQLC程序生成对应的各个业务组件。所有的程序组装在一起就组成了Openbravo ERP。

我们将从ERP系统结构和编译系统结构两部分来分析Openbravo的软件架构。

1、 ERP系统结构

1.1 概述

图 2.1 Openbravo运行时的逻辑视图

图 2.1 Openbravo运行时的逻辑视图

系统运行时主要分为3层:

  • 表现层:主要由org.openbravo.erpWindows包下的控制器组成,他们继承自HttpBaseServlet。负责使用请求初始化数据,调用业务层,最终使用xmlEngine渲染显示页面。
  • 业务层:负责提供业务中的数据结构,如资产等。Openbravo的业务层和SQL耦合较为紧密,通常会在业务对象类的静态方法中直接执行SQL。处理业务也使用了存储过程,业务对象类里边也会有响应的静态方法执行存储过程(通常会根据数据库类型进行判断)。业务对象可以由编译引擎生成。
  • 基础层:基础层提供一些基础的服务,如提供数据库连接等。

1.2 运行时处理过程

以在OpenbravoERP中编辑数据字典时的程序处理为例,运行时处理过程大概如下:

首先请求被发送每个程序对应的Servlet,如Table,Table继承自一个模板类HttpSecureAppServlet,依靠这个类执行一些必要的初始化工作。响应请求的主要方法为doPost,doPost方法根据名称为Command的参数执行不同的操作。如SAVE_NEW_EDIT表示首先保存一条新增的记录,然后跳转至EDIT页面。

1. 对于一个典型的保存请求(即Command参数的值以SAVE开头):

如图 2.2,在doPost方法中首先使用getEditVariable方法从请求中构造业务数据对象TableData,然后调用其insert/update方法,这个方法将会调用其内部JDBC statement的___executeUpdate方法。最终页面被重定向,Command参数的值被重置为EDIT。

2. 重定向之后的请求

如图 2.3,在doPost方法中将创建一个TableSQLData对象以保存条件,调用TableData对象的selectEdit方法(static方法)获取数据,然后将使用xmlEngie获取视图模板,向模板中注入参数和数据,之后打印模板。

图 2.2一个典型的保存请求

图 2.2一个典型的保存请求

分享到:
评论

相关推荐

    OpenBravo 数据库结构基本分析

    OpenBravo销售,财务,仓存等系统的 数据库结构基本分析,

    Openbravo 3 30.3 中文汉化包

    2. **Web基础架构**:基于Java和Ajax技术,Openbravo提供了一个完全基于Web的用户界面,用户可以通过浏览器访问,无需安装额外软件。 3. **灵活性**:Openbravo支持自定义字段、工作流和报告,允许企业根据自身业务...

    openbravoPOS2.3汉化包

    《OpenbravoPOS 2.3汉化包详解与应用》 OpenbravoPOS,全称为Openbravo Point of Sale,是一款开源的销售点管理软件,专为零售业设计,旨在提供灵活、高效且易用的销售解决方案。2.3版本的汉化包是针对中国用户特别...

    Openbravo数据库关系表

    Openbravo数据库关系表

    00-Openbravo开发手册

    - **MVC 架构**:模型-视图-控制器模式,用于分离数据、用户界面和控制逻辑。 - **模型**:由Openbravo的SqlC实现,负责数据管理。 - **视图**:通过Openbravo开发的XmlEngine实现,负责生成用户界面。 - **控制...

    Openbravo ERP 技术简介(中文)

    - **MVC(Model-View-Controller)架构**:这是Openbravo ERP 的基础架构之一,能够清晰地将数据模型、用户界面以及控制器分离,提高系统的可维护性和可扩展性。 - **模型驱动开发**:Openbravo 通过模型驱动的方式...

    Openbravo_ERP介绍

    Openbravo_ERP 的中文介绍,帮你快速走入 Openbravo_ERP 的世界

    openbravoPOS操作记录

    openbravoPOS 实操 底层数据库写入逻辑 业务推测

    Openbravo_ERP安装说明分析以及2.4汉化资料

    Openbravo_ERP安装 说明 分析 以及Openbravo 2.4汉化

    Openbravo erp 实施笔记.pdf

    Openbravo erp 实施笔记

    Openbravo技术评测

    Openbravo ERP 采用了 MVC(Model-View-Controller)架构模式来组织其内部组件,主要包括以下几个核心部分: ##### 1.5.1 XmlEngine 用于解析 XML 文件,并将数据转化为可以在前端显示的格式。 ##### 1.5.2 SQLC ...

    Openbravo 3.0 会计文件

    Openbravo 3.0 会计文件,适用与openbravo 3.x所有版本

    Openbravo数据库PDM图

    Openbravo数据库的pdm图,使用PowerDseigner打开,可以作为数据库设计或者ERP研究之用

    Openbravo-POS-2.20.exe

    与openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关的openbravo 安装相关...

    openbravo 配置工具

    openbravo 配置工具 用来配置openbravo.properties文件

    openbravo 货币汉化

    openbravo 货币汉化,最新的Openbravo汉化包

    OpenBravo ERP E-R图

    开源ERP OpenBravo的数据库关系图。

    openbravo 开源erp

    Openbravoerp实施笔记.pdf

    Openbravo_ER_Diagram_2.3x

    openbravo 数据库关系表,版本2.3x

    Openbravo中文使用手册.doc

    Openbravo中文使用手册 是我目前看建比较好的文档

Global site tag (gtag.js) - Google Analytics