汽车EDI——Volvo EDI 项目案例
项目背景
作为Volvo的长期合作伙伴,C公司收到Volvo的EDI对接邀请,需要实现EDI对接。C公司将会面临哪些挑战?又应该相应地选择何种EDI解决方案呢?
汽车行业强调供需双方的高效协同(比如研发设计、生产计划、物流信息等的协同与共享),才能使各节点企业受益,达到快速响应市场的目的。尤其是在项目正式量产以后,汽车零部件企业需要高密度、高频次地传输业务数据,并且快速驱动内部的计划与物流体系,满足准时交付。这意味着对于企业的数据传输和处理能力有着较高的要求,传统的下单方式不再满足企业当前的业务需求。
项目挑战
部分汽车主机厂或者大型制造商可以提供Portal网站等平台,使得企业可以获取和发送业务数据。短期来看可以满足与交易伙伴的合作需求,但却无法与企业内部业务系统集成,仍然需要进行人工处理和数据录入。本次需要与Volvo建立EDI连接的企业C公司的主要诉求在于解决这部分人工处理的工作量,实现其内部业务系统与EDI系统的集成,从而使得业务数据能够被自动化处理。
沃尔沃Volvo EDI 项目需求
传输协议:OFTP
沃尔沃Volvo通过使用传输层安全(TLS)实现了会话级加密。TLS通过对沃尔沃Volvo与其合作伙伴之间交换的所有协议命令和数据进行加密,从而提供数据的保密性。这将提供足够的安全性,防止第三方从传输中提取任何有用的信息。启动EDI项目之后,Volvo将会提供OFTP连接参数给C公司,包括:SSID、SFID、DNS名称以及端口号等信息。
报文标准:EDIFACT
业务类型:DELFOR,DESADV
DELFOR: Delivery Schedule 交货计划(长期)
DESADV:Despatch Advice 发货通知
运输标签
除了上述对于传输协议以及报文标准的需求之外,对接Volvo的EDI项目还需要制作标签。Volvo对于运输标签的要求十分严格,因此企业需要提前预留充足的时间进行标签测试。
EDI 解决方案
考虑到供应商的集成需求,在与知行的项目经理沟通后,最终选择中间数据库方案。采用多张数据库表作为中间表,存放知行之桥EDI系统收到EDI报文后解析所得的业务数据以及发送EDI报文需要ERP提供的数据。
供应商当前使用的是金蝶ERP系统,EDI系统和ERP系统通过各自的接口来连接中间数据库表,实现从中间数据库表中存放和读取数据。
传统业务模式 VS 直连EDI
传统业务模式

- 供应商与主机厂通过电子邮件或是电话进行业务沟通;
- 数据通过人工录入到业务系统或制表;
- 物料被送至中间中转仓库或是主机厂;
- 主机厂收货验收,录入系统;
- 供应商确认货物送达,更新货物接收情况。
直连 EDI

- 供应商与主机厂通过EDI系统进行业务沟通;
- 采购方向供货方发送DELFOR/DELJIT,说明物料需求及交付时间等;
- Label附在货物包装上,用于收货确认;
- 供货方向收货方发出的货物发运信息,通知收货方做好收货准备;
- 收货方扫描验收,确认收货。
如何实现与沃尔沃Volvo的EDI对接?
1.搭建EDI传输通道
在知行之桥EDI系统中,建立 OFTP2 连接只需要创建一个 OFTP 端口,并在可视化界面中配置交易双方的连接信息即可。
OFTP端口的 设置 页面中填写 Volvo 的 OFTP2 连接信息:包括SSID/SFID、远程主机地址、Volvo的加密证书等。

个人设置 页面下的 OFTP 选项卡中填写C公司自己的OFTP2连接信息

2.数据格式转换
数据格式转换部分主要实现EDIFACT标准下的EDI报文与数据库XML之间的格式转换。
本项目中使用的数据库端口是MySQL,用于配置数据库表信息,完成与中间数据库表的连接。目前支持的数据库有:MySQL、PostgreSQL、SQLite、SQL Server、Oracle等。
项目成果
根据上述 EDI 需求,我们需要在知行之桥EDI系统中搭建如下所示的工作流:

上图为本次对接Volvo EDI 项目的完整工作流,其中红色方框中的部分为发送方向,主要实现的功能为抓取MySQL中间表中的数据,经过格式转换后生成发货通知 EDI报文发送给Volvo。蓝色方框中的部分为接收方向,主要实现的功能为接收Volvo发来的EDI报文,经过格式转换后将其中包含的交付预测数据存入指定的MySQL中间表中。
使用端口计数:总计使用7个端口(其中OFTP端口被分为了发送和接收两个操作)。
以上工作流已经添加到知行之桥EDI系统中,用户可以一键导入此工作流,配置自己的相关信息即可查看转换效果。点击下载知行之桥EDI系统
测试流程
测试流程涉及OFTP连接测试、对EDI报文的业务测试以及标签测试。根据以往的项目经验,在标签测试部分需要花费较多的时间,因此通常情况下测试周期为一个月左右。
OFTP连接测试
目前知行帮助企业与Volvo对接的EDI项目中,都需要供应商申请自己的Odette证书。因此连接测试需要按照如下步骤进行:
1.购买Odette证书,企业可以自行购买或者由知行软件代购。流程参考:申请和更新Odette证书操作指南
2.交换双方的OFTP连接信息,企业需要在知行之桥EDI系统中配置自己和Volvo的OFTP连接信息。
3.开始OFTP连接测试,需要测试接收和发送文件,确保双方能够正常收发。
业务测试
企业需要接收一个DELFOR,并且基于这个DELFOR物料需求计划向Volvo回复一个DESADV发货通知。
业务测试过程中,如果遇到任何问题,可以与Volvo的EDI团队通过邮件进行沟通。
标签测试
知行之桥EDI系统支持生成运输标签,我们的EDI实施工程师根据以往对接Volvo的EDI项目经验,能够设计符合要求的运输标签。此外企业也可以借助标签生成系统自行制作标签。由于标签测试需要打印纸质版并邮寄至Volvo专门负责标签的部门进行检验,需要大概一周的时间。因此企业一定注意预留好标签测试时间,以免影响项目进度。
阅读原文
相关文章:
汽车EDI——Volvo EDI 项目案例
项目背景 作为Volvo的长期合作伙伴,C公司收到Volvo的EDI对接邀请,需要实现EDI对接。C公司将会面临哪些挑战?又应该相应地选择何种EDI解决方案呢? 汽车行业强调供需双方的高效协同(比如研发设计、生产计划、物流信息等…...
Qt应用程序发布
一、静态编译发布 1.0:以Release模式构建工程 1.1:查看当前构建生成路径,并将所生成的.exe单独拷贝出来 1.2:将可执行文件*.exe拷贝至任一目标文件夹:D:\Temporary\QQIF 2:查看安装Qt时发布工具windeployqt.exe所在的目录 windeployqt.exe在Qt开发套件的bin目录下。Qt的每…...
Python 机器学习 基础 之 【常用机器学习库】 NumPy 数值计算库
Python 机器学习 基础 之 【常用机器学习库】 NumPy 数值计算库 目录 Python 机器学习 基础 之 【常用机器学习库】 NumPy 数值计算库...
Linux Kernel nf_tables 本地权限提升漏洞(CVE-2024-1086)
文章目录 前言声明一、netfilter介绍二、漏洞成因三、漏洞危害四、影响范围五、漏洞复现六、修复方案临时解决方案升级修复方案 前言 2024年1月,各Linux发行版官方发布漏洞公告,修复了一个 netfilter:nf_tables 模块中的释放后重用漏洞(CVE-…...
[word] word如何清除超链接 #媒体#笔记#知识分享
word如何清除超链接 办公中,少不了使用word,这个是大家必备的软件,今天给大家分享下word如何清除超链接的操作办法,一起来学习下吧! 1、清除所有超链接 按下组合键CtrlshiftF9,就可以将网上复制带有超链…...
【Linux】进程(9):进程控制1
大家好,我是苏貝,本篇博客带大家了解Linux进程(9)进程控制1,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 1 fork函数2 进程终止(A)终止是…...
华为RH2288H V3服务器iBMC的SSL证书续期
本文对华为RH2288H V3服务器iBMC的SSL证书续期,以避名登录告警提示及主机状态异常。 一、检查现网服务器iBMC的SSL证书到期时间 登录iBMC,点击配置--SSL证书,如下: 可以看到本服务器SSL证书将于今年7月22日到期。 二、联系厂家…...
ubuntu开机黑屏
BusyBox v1.30.1 (Ubuntu 1:1.30.1-4ubuntu6.1) built-in shell (ash) Enter help for a list of built-in commands. 解决: help 看看哪个盘出问题了 fsck -y /dev/sda1 (出问题的磁盘/分区) reboot 就可以进入系统了 fsck命令…...
【risc-v】arm和riscv有什么关系或者联系?
ARM和RISC-V都是基于精简指令集计算(RISC)原理的处理器架构,它们在设计理念上有一定的联系,但同时存在一些关键的区别: 设计理念:ARM和RISC-V都采用了RISC的核心设计原则,即通过简化指令集来提高…...
Flutter项目开发模版,开箱即用
前言 当前案例 Flutter SDK版本:3.22.2 每当我们开始一个新项目,都会 引入常用库、封装工具类,配置环境等等,我参考了一些文档,将这些内容整合、简单修改、二次封装,得到了一个开箱即用的Flutter开发模版…...
私有仓库搭建
目前市面上比较常见的私有仓库搭建方法为: 通过 Sinopia 或 verdaccio 搭建(Sinopia 已经停止维护,verdaccio 是 Fork 自 Sinopia,基本上大同小异),其优点是搭建简单,不需要其他服务。通过 cnp…...
axios设置 responseType为 “stream“流式获取后端数据
使用前景: 工作过程中遇到了后端接口响应过慢,前端界面一致loading的情况,这个时候可以尝试采用将Axios的responseType参数被设置为stream类型实现。 stream介绍: stream类型意味着你希望服务器响应的数据以Node.js流ÿ…...
Apache POI(使用Java读写Excel表格数据)
1.Apache POI简介 Apache POI是一个开源的Java库,用于操作Microsoft Office格式的文件。它支持各种Office文档的读写功能,包括Word文档、Excel电子表格、PowerPoint演示文稿、Outlook电子邮件等。Apache POI提供了一组API,使得Java开发者能够…...
golang中只用定义不用初始化的类型规律总结
在go语言的开发中,有很多的内置类型是我们只需要定义而不需要初始化的, 如上文中提到的bytes.Buffer, strings.Builder。 其实在go语言中官方给我们定义的很多的类型都只需要定义,不需要初始化。 他们都有2个共同的规律ÿ…...
数据库之PostgreSQL详解
一、PostgreSQL介绍 PostgreSQL是一个功能强大的 开源 的关系型数据库。底层基于C实现。 PostgreSQL的开源协议和Linux内核版本的开源协议是一样的。。BDS协议,这个协议基本和MIT开源协议一样,说人话,就是你可以对PostgreSQL进行一些封装&a…...
找出链表倒数第k个元素-链表题
LCR 140. 训练计划 II - 力扣(LeetCode) 快慢指针。快指针臂慢指针快cnt个元素到最后; class Solution { public:ListNode* trainingPlan(ListNode* head, int cnt) {struct ListNode* quick head;struct ListNode* slow head;for(int i …...
ssm629基于SSM的二手交易平台设计与开发+jsp【已测试】
前言:👩💻 计算机行业的同仁们,大家好!作为专注于Java领域多年的开发者,我非常理解实践案例的重要性。以下是一些我认为有助于提升你们技能的资源: 👩💻 SpringBoot…...
【Unity】资源管理与热更 YooAsset+HybridCLR
1 前言 Unity资源管理与热更新该用什么方法?当然是YooAssetHybridCLR了,YooAsset负责资源管理与热更,HybridCLR负责支持代码热更。 但这里我就不自己讲了,我会提供相关学习链接(前人栽树我躺平)。 2 学习链…...
PDF批量加水印 与 去除水印实践
本文主要目标是尝试去除水印,但是为了准备测试数据,我们需要先准备好有水印的pdf测试文件。 注意:本文的去水印只针对文字悬浮图片悬浮两种特殊情况,即使是这两种情况也不代表一定都可以去除水印。 文章目录 批量添加透明图片水印…...
【MySQL】服务器配置和管理
本文使用的MySQL版本是8.0 MySQL服务器介绍 MySQL服务器通常说的是mysqld程序。 mysqld 是 MySQL 数据库服务器的核心程序,负责处理客户端的请求、管理数据库和执行数据库操作。管理员可以通过配置文件和各种工具来管理和监控 mysqld 服务器的运行 官方文档&…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
