近期收到客户C公司的需求,需要与其合作伙伴IAC Elmdon建立EDI连接,本文将主要为大家介绍IAC Elmdon EDI 对接指南,了解EDI项目的对接流程。
项目需求
传输协议:OFTP2
IAC Elmdon 与其供应商之间使用的传输协议为OFTP2。OFTP2是由Data Interchange在2007年编写的,作为通过互联网、ISDN和X.25网络安全传输商业文件的规范。
OFTP 2可以对信息数据进行加密和数字签名,请求签名的收据,并提供高水平的数据压缩。当通过TCP/IP、X.25/ISDN或本地X.25使用OFTP 2时,所有这些服务都是可用的。当在TCP/IP网络(如互联网)上使用时,通过在传输层安全(TLS)上使用OFTP 2,可以获得更高的会话级安全。
报文标准:EDIFACT
IAC Elmdon 使用EDIFACT报文标准作为其与供应商之间数据传输的标准。本次EDI项目中涉及到的报文类型:
- 接收来自 IAC Elmdon 的DESADV 发货通知
- 向IAC Elmdon 发送DELFOR 物料需求预测
实施方案
CSV全称为Comma-Separated Values是一种常见的文件格式,以纯文本的形式,将逗号作为各字段的分隔符,每行表示一个数据记录。
与其他格式相比,CSV格式占用更少的存储空间,更加轻量级。此外CSV格式的文件还可以在不同系统及软件之间进行交换,具有较强的兼容性,用户直接通过文本编辑器即可打开和查看文件内容。
EDI解决方案
基于知行之桥EDI系统建立OFTP连接,C公司由于业务系统尚未完善,因此本次项目中并不考虑实现EDI系统与企业内部系统的集成,最终选择了CSV方案。
搭建 OFTP 传输通道
基于知行之桥EDI系统建立与IAC Elmdon的OFTP2连接通道需要准备:
- 部署OFTP服务的服务器,且交易伙伴可访问到该服务
- ODETTE ID和ODETTE证书
通过知行之桥EDI系统的OFTP端口,用户可以在可视化界面中进行连接信息的配置,需要双方提供的信息如下:
- SSID SSID:作为OFTP数据传输中的唯一身份标识,即就是向ODETTE申请购买的ODETTE ID。该值将包含在发送的请求中,以标识发送方身份,并在接收消息时可以寻址到相关的OFTP端口。
- Password:与 SSID 相匹配的密码。此密码为自定义值,只需确保交易伙伴系统内配置相同的值即可,长度不超过8位。
- Remote Host:远程 OFTP 服务器的主机名称或 IP 地址。
- Port 端口:连接到远程 OFTP 服务器的端口。
- Public Certificate:发送消息时,用于加密的公钥证书。该证书必须与交易伙伴的私钥证书匹配,并在共享 OFTP 详细配置信息时,交易伙伴应提供此公钥证书。
工作流界面中搭建OFTP端口,在 设置 选项卡下配置IAC Elmdon的OFTP连接信息。界面如下所示:
在 个人设置 选项卡下配置C公司自己的OFTP连接信息,页面如下所示:
数据格式转换
IAC Elmdon 发送给 C 公司:
1.知行之桥EDI系统的OFTP端口接收来自IAC Elmdon的DELFOR报文
2.将接收到的EDI报文通过EDIFACT端口转换为XML
3.通过XMLMap端口实现目标XML与源XML之间的映射处理
4.通过CSV端口实现XML到CSV之间的格式转换
5.通过Email Send端口将存有交付预测数据的CSV文件发送至C公司的指定邮箱中
C 公司发送给IAC Elmdon :
1.C公司将包含发货通知数据的CSV文件发送至指定邮箱中,EDI系统将会自动抓取
2.通过CSV端口,将接收到的CSV文件转换为XML
3.通过XML Map 端口实现源文件到目标文件的映射处理
4.通过EDIFACT端口实现XML到满足EDIFACT报文标准的DESADV报文的格式转换
5.通过OFTP端口将DESADV报文发送给IAC Elmdon
整体方案流程图:
项目成果
在知行之桥EDI系统中针对上述需求可以搭建如下所示的工作流:
项目回顾
转换分析:生成CSV文件时需要注意,要将XML文件转换为CSV文件,输入的XML必须具有“平面”结构。这意味着,不管根元素如何,XML结构的深度都是2。
如果输入的XML文件层级大于2,则无法转换为CSV格式。此时可以将头部信息放在明细信息下,简化层级结构。
传输过程中,头部信息只需出现一次,而明细信息可重复出现多次。在保证信息完整输出的前提下,将头部信息放在明细信息中既满足了XML转CSV的“平面”结构需求,又不影响业务数据输出的完整性。
了解更多 EDI 信息,请参阅: EDI 是什么?
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。