ofbiz简介

| No Comments | No TrackBacks

ofbiz( http://sourceforge.net/projects/ofbiz/ ) 是Open For Business的简称。ofbiz是一个基于J2EE标准的开源企业应用工具。

由 于 framework 的开发情况非常好, 使ofbiz目前已具有了一个非常优秀的 framework. 业务模块的开发已进行了一段时间. 目前正在开发的业务模块包括 e-Commerce,Catalog,Party,Order,Work Effort, 计划开发的业务模块还包括 Financials, Sales Force Automation, Marketing Automation, Service & Call Center, HR & Payroll, Inventory & Warehouse, Shipping & Delivery, Manufacturing.

ofbiz 的 commonapp 包已提供了接近 500 个业务对象, 这些业务对象是通过 XML 格式进行的建模, 涉及到 Common, Accounting, Human Resource, Order, Party, Product, Shipment, Work Effort, Workflow等领域.

ofbiz 广泛遵循了现有的标准, 包括XML,SOAP,HTML,Java,J2EE,RuleML,WfMC,BPML,ECCMA/UNSPSC,ebXML,GAAP/FASB,OMG,ArapXML,qbXML等.

通过 XML 这种自然语言来定义过程,规则,和数据.

两大核心组件(Service Engine和Entity Engine)使obfiz的framework成为目前最有效和易用的 framework, 给企业应用系统的开发带来了极大的方便.

通过 Workflow Engine 和 Message Flow Engine 来管理业务过程.

能通过 SOAP, RMI, EJB Session Bean 等技术来调用 Service Engine 提供的服务, 这使得多年来业界为之努力的业务与技术的分离梦想成真.

Entity Engine 提供了简单有效的数据建模方式, 通过简单的XML文件来描述实体, 不需要写任何代码就能实现实体的创建,存储,删除,查找,排序, 再也不需要编写和维护数据持久化代码, 通过 JDBC 支持任意种类的数据库.

目 前的一些持久化技术, 例如 JDO, CMP Entity EJB, JDBC DAO, Embedded JDBC等, 都未能较好地解决数据持久化问题, 或则即使解决了, 也极大地降底了程序的可维护性. 而 obfiz 的 Entity Engine 在这一点上就做得非常好, 对实体的维护非常方便, 只需要维护 XML 表述的实体模型文件就全部搞定了.

我们知道一般的对象持久化技术(或称为O-R Map技术)首先需要编写数据库的建表脚本进行建表, 然后编写有大量累赘的get/set方法的实体对象, 然后编写 O-R Map 配置文件..., 如果对象模型需要修改, 则又...

ofbiz 的持久化技术的最主要的亮点在于极大地减轻了程序的维护工作量. ofbiz 的业务实体是通过 XML 进行建模, 实体模型的定义在 $OFBIZ_HOME/commonapp/entitydev/ 目录下. 有了实体模型后, 不需要编写任何 SQL 脚本, entity engine 将自动建立数据库表和纪录, 也不需要编写任何实体代码. 当需要对实体做修改时, 只需修改实体模型就行了, entity engine 会自动对数据库进行检查, 也不需要对实体代码进行任何修改, 因为根本就没有实体代码. 可以看看 ecommerce 包, 看看 ecommerce 是怎样应用 entity engine 来进行实体对象的增删改.

http://timesnet.blogchina.com/3325144.html

Ofbiz概况
OFBiz是一个非常著名的开源项目,提供了创建基于最新J2EE/XML规范和技术标准,构建大中型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类WEB应用系统的框架。
OFBiz最主要的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具。包括实体引擎, 服务引擎, 消息引擎, 工作流引擎, 规则引擎等。

系统组成与层次结构

几大引擎

实体引擎, 服务引擎, 消息引擎, 工作流引擎, 规则引擎等;
其中所有最底层的是实体引擎和服务引擎,工作流引擎是基于这两个引擎之上的。

几大应用

下面按应用名称和目录进行排列:
内容管理 content
用户管理 PartyMgr
市场管理 Marketing
编目管理 catalog
设备管理 facility
订单管理 ordermgr(使用了工作流引擎)
帐户管理 accounting
人力资源管理 workeffort
系统管理 webtools

工作流模块特点分析

根据ofbiz开发者在网上的反馈,ofbiz的工作流引擎能满足大多数的用户提出的功能需求;性能也不错。但它的用户群主要来自其他模块。

根据研究和代码分析,ofbiz的代码比较复杂。因为对于想用 ofbiz来开发工作流的开发者来说,它不仅仅是一个纯工作流引擎,它还是一个开发平台和工具集,它的各个模块交叉较多(比如启动流程不是调用工作流引擎的接口,而是调用entity engine和service engine的接口),代码量大。

复杂性的另一个表现是ofbiz的呈现层使用了大量自己定义的TagLib,业务逻辑层的采用自己独立的页面流转控制逻辑,持久层用实体引擎来实现,都不是采用通用的方法。

完整版数据库有500多张表,limit版(自己搭建的用于工作流的版本)数据库有170多张表。

ofbiz的工作流引擎已经有用户使用,而且其他模块已经在很多行业投入应用;但它的工作流引擎还是处于阿尔法版本。

外部资源

*[ofbiz官方网站|http://ofbiz.sourceforge.net]
*[HongSoft工作流研究|http://blog.csdn.net/hongbo781202]

No TrackBacks

TrackBack URL: http://www.wujianrong.com/mt-tb.cgi/5129

Leave a comment

相关文档

上一篇:Ofbiz 入门教程(转) .

下一篇:37巨头上榜"反垄黑名单"