K/3 Cloud集成K3PLM的技术实现方案与部署指南(新版本)
金蝶云社区-yongji_bu
yongji_bu
2人赞赏了该文章 19330次浏览 未经作者许可,禁止转载编辑于2015年07月02日 19:22:06

目录:
一.新版本改进
二.需求范围
三.实现原理
四.部署指南
五.日志管理
六.自定义字段同步
七.常见问题处理办法

一.新版本改进
主要有三部分:
1.旧版本项目实施过程中扩展修改物料,添加自定义字段,需要编译组件替换。新版本完全支持物料扩展,且不需要做任何修改。
2.旧版本将同步方向为PLM系统->IntegrationServicePlatform站点->ServiceInterface站点->K/3 Cloud站点。新版本为PLM系统->IntegrationServicePlatform站点->K/3 Cloud站点。省掉ServiceInterface站点,IntegrationServicePlatform站点到K/3 Cloud站点的请求由WebService方式变为Web API,数据格式更加灵活。
3.IntegrationServicePlatform站点代码架构重构,方便维护,提升同步性能。

二.需求范围
主要有两部分:
1.PLM至K3Cloud物料的数据导入
2.PLM至K3Cloud BOM的版本更新(包含附带在BOM上的材料替代关系的更新)
注:其中,第2项中包含BOM材料的替代关系导入。由于Cloud中替代的实现理念与PLM有所差异,导入的替代关系作为BOM中的替代子项存在,不独立生成替代关系。
另外,上述的导入与更新为单向更新,方向为PLM至K3Cloud,K3Cloud中对已经导入的物料进行修改并不会反向同步至PLM。

三.实现原理
1.使用IntegrationServicePlatform站点为中继站,负责PLM系统的数据格式转换,并向K/3 Cloud站点发起操作请求。如下图:


2.K/3 Cloud站点主要负责公布K3Cloud中业务对象的操作服务(如:物料的保存,BOM保存)。该站点的请求方式为Web API,数据包格式为JSON。
3.IntegrationServicePlatform为集成平台站点,类型WebService服务站点。该站点的主要作用为:
a.接收PLM站点的请求数据。主要数据请求格式为自定义结构的XML。
b.向K/3 Cloud站点发起操作请求,具体操作见向K/3 Cloud站点中发布的Web API接口。

四.部署指南
1.公布接口。K/3 Cloud站点公布的服务接口来源于K/3 Cloud中的Web API列表。
为了满足PLM集成功能实现,需要发布的Web API服务有以下名单:
a.物料(删除,查看,保存,提交,审核,反审核,禁用,反禁用,物料模板复制)


b.物料清单(删除,查看,保存,提交,审核,反审核,禁用,反禁用)


2.建立登录账号。对K/3 Cloud站点发起请求前,需要向该站点进行一次登录。登录账号必须对物料与物料清单拥有权限,否则发起的服务将会受到权限限制的影响而失败。该账号作为集成站点的数据同步用户,需要在导入物料与物料清单的组织下拥有工程员与工程主管的权限角色。


3.设置组织职能。K/3Cloud中要使用物料清单的组织必须满足条件:该组织为业务组织,并拥有工厂职能。因此,配置导入的组织必须要满足这一条件。


4.基础资料控制策略。如果K/3Cloud中,物料的基础控制策略为分配,则在控制策略中存在设定的组织才允许创建物料。请保证导入的组织要满足这一条件。


5.创建IntegrationServicePlatform站点。打开K/3Cloud的安装目录,访问该目录下路径为..\K/3 Cloud\Tools\PLMIntegrationPlaform,寻Kingdee.K3.MFG.IntegrationPlatform.PLMInstall.exe。右键 以管理员身份运行 。
新版本已经在2015年8月20号的补丁上发布了。补丁号是PT098218,需要打了这个补丁才看到\K/3 Cloud\Tools\PLMIntegrationPlaform这个目录,注意不是\K/3 Cloud\Tools\IntegrationServicePlaform目录,这个目录是旧版本的,已经不可使用用。
另外,PLM系统也需要打上最新补丁


在管理中心地址输入框输入本机Cloud所属的管理中心url,点击刷新,程序将自动读取管理中心下的帐套信息。勾选需要发布的业务数据中心,并将步骤2中建立的账号和密码写入下面的输入框。注意,发布集成站点将会加密帐套的同步账号信息,请不要随意更换同步账号的密码,否则修改集成站点下配置文件中的加密密码或者需要将集成站点删除后重新发布。
加密密码修改步骤如下:
a.运行IntegrationServicePlaform站点中BIM目录的Kingdee.K3.MFG.IntegrationPlatform.EncryptionPassword.exe应用程序。


运行后界面如图:


b.将加密密码替换到IntegrationServicePlaform站点中App_Data目录的Common.config文件对应的configuration/Accepters/Accepter中的password内容。



c.回收IntegrationServicePlaform站点对应的IntegrationServicePlaform应用程序池,使得修改Common.config文件生效。


点击部署,稍等片刻后,当前部署的IIS中将会出现一个站点


在浏览器中查看http://127.0.0.1/IntegrationServicePlatform/changenotifier.svc,检查站点是否正常运行。

五.日志管理
1.PLMRequest目录。该目录主要记录的是集成站点内请求被调用的请求数据与返回结果。

一共包括8个子文件夹,对应集成站点公布给PLM调用的服务接口。由上到下分别为 获取bom子项实体字段信息,获取bom实体字段信息,获取物料字段信息,获取组织列表,获取替代关系字段信息,保存BOM,保存物料,验证物料。
每个文件夹下,记录着某个时间点下该服务被PLM调用的详细情况。这些信息包含3部分:


Request为PLM的请求数据,格式为XML结构。
Ret为本次调用的返回结果,格式为XML结构。如果本次执行出现异常,Ret文件将会被errorInfo文件所替代。
TimeCostInfo为执行事件记录,主要用途是定位执行操作异常的位置,辅助分析问题。

六.自定义字段同步
K/3 Cloud项目实施过程中会有扩展修改物料,添加自定义字段的情况。在旧版本需要编译组件替换,现在新版本支持物料扩展,并且不需要做任何修改。

七.常见问题处理办法
1.PLM导入数据发生下图的错误:


错误关键字:quota(8192)
关键句:the maximum string content length quota(8192)has been exceeded while reading XML data…..
该错误主要的问题是PLM发送的数据包长度超过IntegrationServicePlatform设置的范围。
解决办法:打开IntegrationServicePlatform站点下的web.config,寻找Bindings节点。将下面的XML节点替换之


maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647">
maxStringContentLength="2147483647"/>




参考链接:
http://angadbhat.com/2011/11/9/the-maximum-string-content-length-quota-(8192)-has-been-exceeded.aspx

2.ServiceInterface站点服务无法访问metadata节点
解决办法:
a.打开ServiceInterface站点的web.config配置文件,寻找System.Web节点,将该节点内容取消注释后保存。
b.打开IIS程序池,修改ServiceInterface对应的程序池的托管管道模式为 经典


c.打开ServiceInterface站点的处理程序映射列表,添加脚本映射:

3.PLM出现下图异常

解决办法:PLM数据中心执行附件的脚本 Cloud集成脚本.zip