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_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 连定制复杂的业务逻辑都无需编程,最终迈上无剑胜有剑的境界。
以 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_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 连定制复杂的业务逻辑都无需编程,最终迈上无剑胜有剑的境界。