1 Ofbiz概况
OFBiz是一个非常著名的开源项目,提供了创建基于最新J2EE/XML规范和技术标准,构建大中型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类WEB应用系统的框架。
OFBiz最主要的特点是OFBiz提供了一整套的开发基于Java的web应用程序的组件和工具。包括实体引擎, 服务引擎, 消息引擎, 工作流引擎, 规则引擎等。
2 系统组成与层次结构
1)几大引擎
实体引擎, 服务引擎, 消息引擎, 工作流引擎, 规则引擎等;
其中所有最底层的是实体引擎和服务引擎,工作流引擎是基于这两个引擎之上的。
2)几大应用
下面按应用名称和目录进行排列:
内容管理 content
用户管理 PartyMgr
市场管理 Marketing
编目管理 catalog
设备管理 facility
订单管理 ordermgr(使用了工作流引擎)
帐户管理 accounting
人力资源管理 workeffort
系统管理 webtools
3. 工作流模块特点分析
1)根据ofbiz开发者在网上的反馈,ofbiz的工作流引擎能满足大多数的用户提出的功能需求;性能也不错。但它的用户群主要来自其他模块。
2)根据研究和代码分析,ofbiz的代码比较复杂。因为对于想用ofbiz来开发工作流的开发者来说,它不仅仅是一个纯工作流引擎,它还是一个开发平台和工具集,它的各个模块交叉较多(比如启动流程不是调用工作流引擎的接口,而是调用entity engine和service engine的接口),代码量大。
复杂性的另一个表现是ofbiz的呈现层使用了大量自己定义的TagLib,业务逻辑层的采用自己独立的页面流转控制逻辑,持久层用实体引擎来实现,都不是采用通用的方法。
3)完整版数据库有500多张表,limit版(自己搭建的用于工作流的版本)数据库有170多张表。
4) ofbiz的工作流引擎已经有用户使用,而且其他模块已经在很多行业投入应用;但它的工作流引擎还是处于阿尔法版本。