汽车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 服务器的运行 官方文档&…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...
