轮胎行业EDI:Tigar 轮胎EDI项目案例

2024-04-16 21:52

本文主要是介绍轮胎行业EDI:Tigar 轮胎EDI项目案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Tigar 轮胎是一家塞尔维亚轮胎制造公司,自2007年开始,被轮胎制造商米其林持有。

Tigar通过EDI来传输与供应商之间的业务单据,优化业务流程。本文将从EDI需求概览、如何基于知行之桥EDI系统实现与Tigar的EDI对接以及项目回顾这三个部分为大家展开介绍。

EDI需求概览

Tigar_edi1.png

EDI传输协议

Tigar选择通过SFTP与其交易伙伴传输EDI单据,SFTP(SSH File Transfer Protocol)安全文件传输协议,与FTP有着几乎一样的语法和功能。而在对接Tigar的EDI项目中,Tigar作为SFTP Client,其供应商作为SFTP Server。

SFTP Server的特性包括:Zlib压缩传输、AES & 3DES加密、公共密钥和密码身份认证。支持IPV6地址、符合FIPS 140 – 2的加密以及Windows用户管理。可以快速、简单的进行自动化安全文件传输。

扩展阅读:如何使用知行之桥EDI系统实现SFTP Client和SFTP Server连接?

EDI报文标准

国际通用的EDI报文标准有很多,Tigar选择使用的EDIFACT,是由联合国主导开发制定的国际通用 EDI 标准。

扩展阅读:EDIFACT学习手册

实施方案

知行之桥EDI系统支持多种集成方案,根据供应商的实际情况,经沟通后选择中间数据库方案。

中间数据库表,作为EDI系统和ERP系统间数据传输的纽带,它既可以用于EDI数据的溯源,避免纠纷,也保证了EDI和ERP集成后的平稳运行。EDI和ERP约定不直接修改中间数据库表中的数据,以此完整保留EDI所传输数据,方便在出现业务数据争议时进行数据溯源;ERP自行从中间数据库表抓取及存放数据,不直接修改ERP生产数据库的数据,便是在EDI和ERP集成中对ERP系统平稳运行的一个侧面保护也可以在不影响ERP原有业务的基础上完成和EDI的集成。

知行之桥EDI系统和金蝶ERP系统,通过各自的接口来连接中间数据库表,实现从中间数据库表中存放和读取数据。知行之桥EDI系统中的数据库端口,用于配置数据库表信息,完成与中间数据库表的连接。目前支持的数据库有:MySQL、PostgreSQL、SQLite、SQL Server、Oracle等。

基于知行之桥EDI系统对接Tigar EDI

实现与Tigar的EDI对接需要在知行之桥EDI系统中搭建如下所示的工作流:

Tigar_edi2.png

工作流中使用到的各类端口功能如下:

  • SFTPServer 端口:作为 SFTP 的服务端,提供文件上传下载服务;
  • Database 端口:数据库端口,用来连接Z公司本地的数据库,实现从数据库中读取数据并将数据写入数据库中的功能。此项目中 Tigar_Database 端口用来连接本地 DB2 数据
    库,从数据库中获取 DESADV、INVOICE 和 DOT 的相关数据,并将 Tigar 返回的 DOT response 信息写入数据库中。
  • Script 端口:用来实现不同功能的脚本,此项目中使用此端口实现了文件重命名,调用外部 API 获取 token,以及调用外部 API 发送 JSON 文件的功能。
  • FileMatch 端口:根据不同的文件名匹配文件,转发到此端口的文件会与此端口中的过滤条件进行匹配。
  • XML Map 端口: 用来映射不同格式的 XML 文件,此项目中主要用来将 DOT,DESADV和 INVOICE 的数据库表格式的 XML 文件映射为自定义的 XML 文件,或者 JSON 格式的 XML 文件,同时将 JSON 格式的 Response XML 文件映射为数据库表格式的 XML文件。
  • JSON 端口: 主要功能是实现 JSON 格式的文件和 XML 格式的文件之间的相互转换。
建立SFTP连接

SFTP Server的特性包括以下几点:

  • Zlib压缩传输
  • AES&3DES加密
  • 公共秘钥和密码身份认证
  • 支持IPV6地址
  • 符合FIPS140-2的加密
  • Windows用户管理

Tigar_edi3.png

首先需要配置自己的SFTP Server信息,打开知行之桥EDI系统的工作流界面,单击界面上方的个人设置,在个人设置界面找到SFTP Server并打开,进行服务器配置。端口号是SFTP Server要使用的端口号(一般为22),还需要在这个界面上传私钥证书,并且设置证书密码(如果没有私钥证书,可以点击服务器证书后的创建证书,进行创建)。下面的根目录是SFTP服务器根目录的绝对路径。配置完成后点击保存变更。

项目回顾
Tigar EDI 数据流

本次对接Tigar的EDI项目中,从中间数据库中获取数据,通过知行之桥EDI系统的匹配与转换。对于DOT文件,通过Script端口调用Tiger的API,将文件发送给Tiger。对于DESADV 和 INVOICE 文件,则需要上传到 SFTP Server 上,Tigar 使用分配的账号登录此 Server 获取文件。数据流程图如下所示:

Tigar_edi4.png

使用Script端口实现文件重命名

对接Tiger的工作流中,被命名为Rename_Script的端口,能够编写脚本实现重命名文件的功能,根据不同的数据库文件的名称,将文件重命名为以 DOT、DESADV 或者 INVOICE 开头的文件,并将此文件的业务主键添加到文件名称中,以便之后的业务处理。

Tigar_edi5.png

了解更多 EDI 信息,请参阅: EDI 是什么?

这篇关于轮胎行业EDI:Tigar 轮胎EDI项目案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/909999

相关文章

Golang操作DuckDB实战案例分享

《Golang操作DuckDB实战案例分享》DuckDB是一个嵌入式SQL数据库引擎,它与众所周知的SQLite非常相似,但它是为olap风格的工作负载设计的,DuckDB支持各种数据类型和SQL特性... 目录DuckDB的主要优点环境准备初始化表和数据查询单行或多行错误处理和事务完整代码最后总结Duck

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

MySQL不使用子查询的原因及优化案例

《MySQL不使用子查询的原因及优化案例》对于mysql,不推荐使用子查询,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,本文给大家... 目录不推荐使用子查询和JOIN的原因解决方案优化案例案例1:查询所有有库存的商品信息案例2:使用EX

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C

javafx 如何将项目打包为 Windows 的可执行文件exe

《javafx如何将项目打包为Windows的可执行文件exe》文章介绍了三种将JavaFX项目打包为.exe文件的方法:方法1使用jpackage(适用于JDK14及以上版本),方法2使用La... 目录方法 1:使用 jpackage(适用于 JDK 14 及更高版本)方法 2:使用 Launch4j(

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke