资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
第9页 / 共40页
第10页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
TIPTOP与PDM集成浅析,易拓深圳服务部 都 嘉,2010-07-30,集成功能概述 集成相关浅析 集成开发步骤 常见问题排除 技术细节浅析,一.集成功能概述,接口目的: 实时同步PDM与TIPTOP数据, 使TIPTOP中料件、BOM等与PDM保持一致并记录变更信息. 以中慧TIPTOP与PDM集成为例(中间库版): 料件新增及修改 新增BOM及取替代 修改BOM ( = 产生ECN) BOM取替代新增及修改 ( = 产生ECN) 群组(SET)取替代新增及修改 ( = 不产生ECN只记录abmi610/abmi611) 主要客制: 1. BOM取替代 丽平 2. BOM群组取替代 平凡 3. ECN自动审核 都嘉 4. 同时修改BOM和BOM取替代关系时只产生一张ECN 都嘉 (之前是传两次ObjectID: 1.BMB 2.BMD) 5. 替换BOM元件时产生的ECN为一条记录 即: 4.取代 都嘉(客制中) (之前是两条记录: 1.旧元件失效 2.新元件新增生效),二.集成相关浅析,TIPTOP与PDM集成原理: 借助WebService技术来发送数据同步的请求 XML: 实际是一个字符串变量 关于WebService可参看WebService基础知识,ERP,PDM,WebService,XML,XML,TIPTOP与PDM集成常见类型: 1. WebService Data 传输的数据可以无限大吗? STRING变量理论上可以保存3万个字符,但超过2万就不稳定了 不可以. 例如有时BOM的数据量非常大,以至于接收XML的STRING变量溢出, 所以会借用中间库(临时表)来传递数据.,PDM,接口 程序,Request XML(Data),Response XML,ITEM BOM ,数据比对,ERP,XML解析,数据更新,TIPTOP与PDM集成常见类型: 2. 中间库 注: 任务编号始终唯一,PDM,接口 程序,Request XML(任务编号),Response XML,ITEM BOM ,数据比对,ERP,XML解析 获取任务编号,数据更新,Mid_DB,TIPTOP与PDM集成常见类型: 1. WebService 相关作业: aws_ttsrv2.4gl 作为统一集成接收PDM传递过来的信息 aws_ttsrv2_gateway.4gl aws_updatebom.4gl PDM傳入的參數對TIPTOP中的BOM變更生成相應的ECN單 Debug方式: /u1/topprod/tiptop/aws/4gl r.d2+ aws_ttsrv2 -F $TEMPDIR/g_request_20091231-17:28:33.xml,PDM传递的XML示例:,2. 中间库 相关作业: aws_pdmstd.4gl 从aws_ttpsrv中拆解出来,提供整个集成机制所需的API库,包括客户端和服务端调用 Debug方式: /u1/topprod/tiptop/aws/4gl r.d2+ aws_pdmstd -f $TEMPDIR/pdm_in_20100625-13:38:59.xml,PDM传递的XML示例: 中间库数据: 例如:BOM中间表,两个重要表 Table_1. erpobject 记录各集成对象对应的中间表 如: 料件 ITEM / 产品结构 BOM .,两个重要表 Table_2. erpobjfield 维护中间表各字段名称、字段属性及是否开放给PDM等,一个重要视图 View. azp_file 提供TIPTOP的各营运中心资料给PDM, 供PDM抛转资料时选择.,初步认识TIPTOP的WebService,用ps -ef|grep gasd可以查看TIPTOP的WebService服务进程 注: 新版本有多端口负载均衡(6385-6398),因此会比老版本多9个进程 重启WebService服务命令: (1)startweb as restart (2)y ,如果后面的提示全都是done则表示成功执行. 如果是faild或其他情况,请联系SE帮忙处理.,TIPTOP中WebService配置,三.集成开发步骤,集成开发分两种情况: 1.TIPTOP作为服务端 (例如与PDM集成) 步骤: a.写4GL主程序 b.发布WSDL c.配置服务 2.TIPTOP作为客户端 (例如与易桥集成) 步骤: a.获取服务端WSDL b.根据WSDL文件产生客户端4GL c.客制主程序调用客户端4GL 注: 被动接收请求 - 服务端 主动发出请求 - 客户端 WSDL: Web Services 描述语言,TIPTOP作为服务端: 1.写一个4GL的服务主程序, 编译连接通过 如:aws_pdmstd.4gl 2.带参数运行产生WSDL文件供PDM集成调用 如:ws_pdmstd.wsdl 产生WSDL文件命令: exe2aws_pdmstd-g 3.将服务主程序配置到as.xcf的里面 并在相应的脚本(topprod.sh等)中添加执行程序的选项 /u1/genero.as/etc vias.xcf /u1/topprod/tiptop/setup/config/apache vitopprod.sh,TIPTOP作为服务端WebService主程序写法 4GL可以参考任意5.10.08以后标准出货版aws/4gl目录下: aws_ttsrv2.4gl aws_pdmstd.4gl 注: com.Web等函数说明可以参考genero官方文档的gws文档,带参数运行产生WSDL文件 WebService主函数的写法决定了产生WSDL文件时所用的参数 例如新旧版分别是: 旧版一般是-g参数,运行exe2 aws_ttpsrv -g可产生WSDL文件到$TEMPDIR 新版(标准出货版)一般是2个参数,运行exe2 aws_ttsrv2 -W ServerURL 可产生WSDL文件到$TEMPDIR 最后FTP把WSDL文件抓下来, 给集成对方使用即可,产生WSDL文件的文件名 这个函数指明:产生服务的名称: aws_pdmstd服务的URL: http:/10.1.2.32/cgi-bin/fglccgi/ws/r/aws_pdmstd产生的WSDL文件名称: ws_pdmstd.wsdl默认会生成在$TEMPDIR目录下(或者当前目录)用浏览器(IE等)访问TIPTOP服务地址,如果警报501/505则表示服务是OK的.,四.常见问题排除,1.如果请求方说服务方无法访问,并且我们自己用IE检查报错如下: 那么我们需要 ps -ef|grep gasd 检查集成服务进程: 此时我们需要重启WebService (startweb as restart),2.如果请求方反应服务间歇性无法访问,而我们自己用IE检查又提示501/505不报错,则可能是因为用户数已满,导致无法获得license 需要找到topprod.sh默认脚本写日志的文件 vi进去看是否有user limit的提示 如果有,则表示请求时间点,刚好用户数已满 WebService集成是会临时占用License,五.技术细节浅析,怎样查日志 怎样做Debug Debug设断点 接口开发难点,怎样查日志 集成日志分为3种: 1.genero底层日志 2.topprod.sh等脚本记录的日志 3.aws_ttpsrv等主程序echo写的日志 Genero底层日志存放在$FGLASDIR/log 目录下,一般每天一个文件. 可以vi、cat查看,一般不容易看懂:,topprod.sh等脚本记录的日志一般情况下在$TEMPDIR下,每天一个文件. 按照日期命名: 可以vi、cat等查看,比较容易看懂. 如果在这个目录找不到log日志 就需要从as.xcf找到服务是调用了哪个目录下的topprod.sh 这个topprod.sh又是把日志写到哪里去了(或许根本就没有写) 简单看一下怎么找:,(1)切换到as.xcf所在目录, Vi查看配置 (2)查看aws_ttpsrv服务的配置 (3)$(res.envdir)/tsc.sh 这个表示默认脚本是tsc.sh(等同于topprod.sh),在$(res.envdir)目录下 (4)继续找res.envdir所代表的目录(从第一行开始找比较快) (5)找到res.envdir所代表的目录,我们就能vi tsc.sh了,(6)在tsc.sh中再找aws_ttpsrv的执行段 (7)从下面这段脚本可以看出,执行aws_ttpsrv.42r所产生的日志会记录到$TEMPDIR下,以日期命名 集成主程序的日志,需要查看具体4GL的写法,一般会放在: $TEMPDIR $TEMPDIR/ttp_int /u1/log 等目录下:,程序中可以用echo或Channel写文件 主程序中的集成日志一般直接用echo写文件,下面是文件名的命名规则,怎样做Debug 一般情况Debug会在主程序名后面带2个参数: r.d2+ aws_pdmstd -f $TEMPDIR/pdm_in_20100625-13:38:59.xml 第一个参数-f: 表示是以一个文件做请求XML 第二个参数 : XML的完整路径、文件名,Debug设断点 须熟悉程序逻辑才能很准确的做到 如果是第一次Debug建议F10逐步往下走 待摸清程序逻辑,才会熟悉断点位置,接口开发难点 1.数据比对 2.产生 ECN 注: 由于TIPTOP与PDM系统架构不同 客户先前已基本习惯TIPTOP ECN的样式 常常会要求由PDM产生的ECN与在TIPTOP中做的ECN一致 这里开发量会较大 注: PDM集成时可能会发生: TIPTOP当时把table锁住, 此时PDM则无法更新TIPTOP资料. PDM会提示WebService错误. 可以考虑判断更新时表是否当前被锁. 尽量做单行锁表,不要做整表锁. ITEM不要做synonym.,谢 谢,演讲完毕,谢谢观看!,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号