Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1857564
  • 博文数量: 354
  • 博客积分: 11021
  • 博客等级: 上将
  • 技术积分: 4048
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-24 10:04
文章存档

2020年(1)

2018年(1)

2016年(1)

2015年(2)

2014年(4)

2013年(4)

2012年(12)

2011年(14)

2010年(37)

2009年(34)

2008年(22)

2007年(68)

2006年(102)

2005年(29)

2004年(21)

分类: LINUX

2006-11-05 10:45:02

Compiere 模型构建

Compiere 最大的技术亮点,就是它基于 AD(应用字典)架构而建立。在实施 Compiere 的过程中,AD 技术使得“Write Nothing, Run Anywhere”成为现实。换句说话,业务顾问可以无需编写程序,就能够定制现有的业务功能,或增加全新的业务功能。

以 Compiere 2.5.2e 为例,让我们看看如何使用 GenerateModel 自动更新模型类。

当我们使用 AD 技术为 Compiere 创建了新的应用字典的表与列时,希望将持久化对象模型类进行同步。这可以通过运行 GenerateModel 类完成。GenerateModel 是 CMP 接口的基类。

假定已在本机安装好 Compiere 服务器端,并已将源代码 RUN_build 完全编译或 RUN_buildIncremental 增量编译。

在 %COMPIERE_SOURCE%/utils_dev 目录下,执行(命令必须位于同一行中):

java -cp ../tools/lib/log4j.jar;../looks/build/;../interfaces/Interfaces.jar;../lib/jboss.jar;
../lib/oracle.jar;../lib/jPDF.jar; org.compiere.util.GenerateModel ..\dbPort\src\org\compiere\model\ org.compiere.model 'U','A','D','C','CUST'


命令末尾的参数 U、A、D、C、CUST 分别代表 User、Application、Dictionary、Compiere、Customization 实体类型,在扩展 Compiere 时用到的一般是 User、Application 或 Customization 实体类型。Dictionary、Compiere 实体类型适用于扩展已有的系统(字典)实体表。

该命令会加载 Compiere 本地环境文件(即 C:\Documents and Settings\Administrator\Compiere.properties 或 /home/username/Compiere.properties),连接至数据库,然后在 %COMPIERE_SOURCE%/dbPort/src/org/compiere/model 目录下更新以 X_ 开头的 Compiere 模型文件(自动生成),这些类也就是访问器类。

模型构建(GenerateModel)完毕,再次执行 RUN_buildIncremental 即可重新打包 Compiere,并自动更新 %COMPIERE_HOME% 部署版本。

Compiere AD(应用字典)技术对“Write Nothing, Run Anywhere”的支持,使得定制、扩展 Compiere ERP & CRM 解决方案的速度非常快捷。可以毫不夸张地说,Compiere 是讫今最优秀的可扩展企业应用构架。

Compiere 未来版本将支持运行时 GenerateModel,并将持久化 Virtual Column(对应于 Physical Column),这会将 AD 技术推至更杰出的高度。届时,Compiere AD 技术中的 Virtual Column 可以储存为 Physical Column,突破了当前定制业务逻辑仍需更改 Java 代码的限制,更使得 Compiere 无需更改 Java 程序就能够定制复杂的业务逻辑。

今天,Compiere 已是手中的玄铁重剑,定制新的业务功能无需编程,可谓毫不费力;未来,Compiere 连定制复杂的业务逻辑都无需编程,最终迈上无剑胜有剑的境界。
阅读(971) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~