前段时间收到公司信息安全部门的同事发来文档,上面列了目前在用的PO(Process Orchestration)系统爆出的漏洞清单,好家伙,单单一个50000端口就有23个漏洞。
我到官网查阅相关Note,居然没有适合当前版本的补丁。
发消息给官方技术顾问,对方回复说目前版本SP21 PL0没有相应的补丁,需要升级系统版本。
虽然在公司严格的安全策略下这些漏洞并不会掀起什么大风浪,但有漏洞是事实,无法忽视。
为了验证升级是否真的能够解决漏洞问题,我将PO开发机拷贝一份出来做成升级用的PO沙盒机器,将环境独立隔开。好不容易部署完成,却发现用ERP SystemCopy的方式在PO环境部署上有天然的“不兼容”感。
系统里面的不少数据都是跟系统host和web地址绑定在一起的,所以系统部署完第一件事儿就是得清理旧的数据,保证SLD(系统架构目录)中适配器引擎注册正确,对于不太熟练的我还是相当折腾的。
SAP产品升级版本其实是有一定的“规则”在里面,比如生成当前版本的信息xml文件,上传到维护计划生成版本记录,选择想要升级的目标版本,系统就会自动计算并列出需要下载的文件清单了。
当然,这一切的前提是:系统是有许可的。
最终利用官方SUM升级工具,解压,运行,一路根据需要选择升级步骤就可以了,这个升级过程足足花费了4个小时,很多步骤需要配置。
升级完成之后,发现系统里面的信道信息都消失不见了。
初步认为是升级完成之后手动执行了CPA缓存清理的缘故,好在有迁移工具,将开发机的信道数据给迁移过来了。
整个升级过程之艰辛自不必说,报了很多晦涩难懂的错误消息,百度中文网络根本查不到有价值的信息,只能通过bing搜索查阅英文资料和官方Note。
也好在有一些Basis朋友相助提点,加上自己的钻研领悟,问题也都搞定了。
不过我想说的是:
PO系统作为官方出品的企业一套支持系统间进行数据交换(XI/PI)和业务流程管理(BPM)的平台,为什么我会觉得它不好用呢?
首先系统配置管理比较复杂。
需要经过非常专业的知识学习和技能培训,一旦出现问题,只能寄希望于官方Note和外网英文资料,有时候光有资料还不行,你得看得懂它在说什么。
其次做系统接口比较麻烦。
每个接口的联调都要在PO上面做很多的设置,创建一些Class等,比较繁琐。
作为比较,我们公司除了PO之外,还有一套接口平台,在上面可以实现接口调用透明代理。
SAP接口开发完成之后,外部系统通过这个接口平台发布的http Api地址,以json的格式传输参数就能立马调用SAP RFC接口。
json参数里面规定了接口名、传递的各种类型的参数。不同的系统不同的RFC用户只需要以用户授权码区分即可。
这一切都是自动的。当然,如果接口有增减栏位,这个接口平台只需要重新发布即可,10秒内搞定。
相对PO而言,透明代理平台使得系统之间接口联调和数据传输更方便快捷,让SAP开发人员更专注,而对外围系统而言,调用SAP也更标准化的,毕竟http+json才是现在Api的主流。
不过,PO也有自己的优势——稳定,不易宕机,跟SAP系统无缝对接。这个优势保证了PO系统拥有不少客户群体。