EAS关键目录
金蝶云社区-云社区用户j22d1234
云社区用户j22d1234
2人赞赏了该文章 1,962次浏览 未经作者许可,禁止转载编辑于2015年04月20日 14:07:20

一、支持工作常用关键目录
客户端
客户端加载目录:
a、客户端加载jar包目录 eas\client\lib
eas\client\lib\sp 最高优先级,通常用于二次开发内容部署、私包部署。
eas\client\lib\patch 补丁更新目录,优先级次于sp目录
eas\client\lib\eas(bos) 安装版eas原始包目录

b、客户端加载元数据目录 eas\client\metas
eas\client\metas\sp 最高优先级,通常用于二次开发内容部署、私包部署。
eas\client\metas\patch 补丁更新目录,优先级次于sp目录
eas\client\metas\eas(bos) 安装版eas原始包目录

注:如为行业版EAS,客户端加载最高优先级目录为eas\client\(lib)metas\industry

常用日志目录:Eas\client\logs\
Eas\client\logs\client.log 客户端日志,一般错误分析用
Eas\client\logs\rpcSqlD.V60SP1.log 客户端RPC日志,RPC性能问题分析用,开关在eas\client\deploy\client\PerfLog_Client.properties中,将rpc=off改为rpc=on

服务端
1、服务器加载目录:
a、服务器加载jar包目录 eas\server\lib
eas\server\lib\sp 最高优先级,通常用于二次开发内容部署、私包部署。
eas\server\lib\server(common) 补丁更新目录,优先级次于sp目录

b、服务端加载元数据目录 eas\server\metas
eas\server\metas\sp 最高优先级,通常用于二次开发内容部署、私包部署。
eas\server\metas\eas(bos) 补丁更新目录,优先级次于sp目录

注:如为行业版EAS,服务器加载最高优先级目录为eas\server\(lib)metas\industry

2、客户端更新目录:
a、服务端供客户端更新jar包目录 eas\server\deploy\fileserver.ear\easWebClient\lib
eas\server\deploy\fileserver.ear\easWebClient\lib\sp
通常用于二次开发内容部署、私包部署。
eas\server\deploy\fileserver.ear\easWebClient\lib\patch
补丁内容更新目录

b、服务端供客户端更新元数据目录 eas\server\deploy\fileserver.ear\easWebClient\metas
eas\server\deploy\fileserver.ear\easWebClient\metas\sp
通常用于二次开发内容部署、私包部署。
eas\server\deploy\fileserver.ear\easWebClient\metas\patch
补丁内容更新目录

常用日志目录:eas\server\profiles\server(n)\logs\
eas\server\profiles\server(n)\logs\apusic.log.0 服务端日志,一般错误分析用。
eas\server\profiles\server(n)\logs\RpcSqlD.V60SP1.log 服务端RPC日志,供性能问题分析用。
eas\server\profiles\server(n)\logs\SqlPlanD.V60SP1.log 服务端执行计划日志,供性能问题分析用。

二、二次开发

BOS工具开发
使用BOS工具开发的二次开发内容一般合并打包
类包标准命名为eas_sp.jar 分别部署在服务端以下2个目录
eas\server\lib\sp
eas\server\deploy\fileserver.ear\easWebClient\lib\sp
元数据包标准命名为sp-bim-metas.jar 分别部署在服务端以下2个目录
eas\server\metas\sp
eas\server\deploy\fileserver.ear\easWebClient\metas\sp

常见BOS二次开发内容有有以下几类
1、 单据加字段以及与之对应的界面控件及数据绑定。
此种类型开发通常涉及实体元数据、query元数据、UI元数据的修改,其部署将生成一系列的抽象类、Info类、接口。基于标准单据进行个性化开发修改的是标准元数据,发布生成的类将在sp目录中优先于同名标准类被客户端、服务端加载。
常引发的问题:如二次开发基于比较老旧的元数据修改,发布生成的Info抽象类中没有后续产品变化新增的字段、UI抽象类中没有后续产品变化增加的控件、接口中没有后续产品变化新增的业务方法等等,此时环境打上较新的近期补丁,抽象类、接口等优先加载了sp目录中的二开发布内容,而业务UI、ControllerBean加载的是补丁更新内容,此时无论UI或ControllerBean中调用接口的新方法、使用二次开发抽象类中不存在的新字段、新控件,都将使单据无法使用(noSuchMethodError、noSuchFieldError等)。这种问题是由二次开发的环境打补丁而未进行“合并元数据”操作。
顾名思义,合并元数据是将二次开发修改过的老旧元数据与补丁新元数据进行比对,而后将差异部分合并过来,使二次开发达到基于最新元数据修改的效果,而不需要取新元数据重新开发。

2、 标准产品对于UI的控制或算法逻辑不符合客户需求、第一点讲述的二次开发所增字段需要算法支持等情况下,二次开发通常有扩展标准UI、ControllerBean的需要。继承标准EditUI或ListUI,使单据菜单项指向二次开发扩展类;继承标准ControllerBean,于元数据中声明使对于该单据的业务操作调用服务端二次开发扩展类。
有种特殊情况,二次开发为了解决单据转换或单据编辑界面打开时报ORA-01445、ORA-00600中断问题,扩展ListUI/EditUI重写getBOTPSelectors/getSelectors方法,精简界面单据对象所需取值的字段,使ORM拼装的sql语句减少不必要的表关联。

DEP平台开发
10年下半年新推出的二次开发平台--动态扩展平台(DEP)
该平台为了解决EAS二次开发内容与标准补丁经常冲突,合并元数据经常出错等问题而生,平台介绍可参考相关说明文档。
简单的新增字段、修改必录项校验等需求使用DEP开发比之以前的BOS开发有着巨大的优势。

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0