跳至内容

EDI 对接方案

基于业务中的 EDI 对接需求,需要实现 EDI 系统并和 Odoo ERP 系统进行对接。

本文记录实现方案和经验

项目背景详情可参考 EDI 项目复盘

主要需求点

  1. 客户发送 EDI 数据报文到我们服务器
  2. 在服务器上接收并解析报文
  3. 确定 EDI 订单的整体流程
  4. 生成并发送 EDI 报文
  5. 异常情况处理
  6. 系统监控

架构图

基于业务需求,我们需要实现 EDI报文处理,EDI通信传输,对接 ERP 系统,主要涉及了以下技术
Bots-Edi(报文处理)
django-pyAS2(数据传输)
Odoo ERP (对接、业务流程管理)
Nginx (反向代理、SSL)


AS2 服务器

由于客户使用的是 AS2 通信协议,所以我们需要先实现一台 AS2 服务器,这样才能正常收发数据
我们使用 django-pyAS2 实现(单击链接可以查看官方文档)
可以根据官方文档教程安装环境并启动项目
该项目是基于 django 的,所以使用方式和 django 基本一致

部署和配置也可参考 AS2 服务器部署
建议在该文档了解如何成功收发消息后,再继续阅读本文档,以便更好理解实现 EDI 的方案

EDI 系统

为了能快速处理 客户当前的数据报文,同时考虑后续新的报文格式及扩展

我们选用了bots-edi 系统 作为 EDI 系统,用来处理 EDI 报文数据

EDI 系统的部署和开发可参考EDI - 服务器部署及开发

总结​

  • 实现了 AS2 服务器和 EDI 系统后,接下来在 ODOO 中根据需要进行模块开发即可
  • AS2 服务器负责通信,数据收发的实现
  • EDI 系统负责 EDI 文件的处理,解析与生成,同时完成与 ODOO ERP 系统的对接和交互
  • ODOO 负责业务流程处理
  • 同时,我们可以通过 Nginx 配置反向代理和 SSL


Odoo
EDI 学习笔记