OFTP简述

来源:互联网 发布:openresty 调用 java 编辑:程序博客网 时间:2024/05/18 00:15

OFTP (TheOdette File Transfer Protocol,RFC 2204)作为两个商业伙伴中建立EDI连接的一种协议它由Odette-Organization于1986年创建,为欧洲及世界大部分地区提供了一套标准的EDI传输方案。起初是为汽车行业而设计,现在又被一些其它行业所采用,包括零售业、大型家用电器、制造业、政府、运输业、保险行业、银行和化学产业及石化产业。

如今,它也为很多VANs网络提供了共同的元素。特别是它能被DINET、Easylink (previouslyAT&T)、GXS (previously GEIS)、Tradanet、IBMIE等等支持。它对VAN供应商很有利因为它简化了他们的服务网络方向。

The OFTP允许传输一些不同的文件类型,包括ASCII (or EBCDIC)或者二进制文件。此外这些文件可以被格式化成定长记录(fixed length records),变长记录(variable lengthrecords),未格式化(unstructured)或者text格式。(这个笔者觉得有点扯,一切文件皆字符,通信传输时有何区别,难道他这里强调不会与它的一些命令符终止符等等发生冲突)

 

SupportedNetworks

X.25,ISDN,Internet(TCP/IP),Secure transport over SSL。

值得一提的是,基于Internet上时,还可以加入TLS(安全传输层协议),使得传输一些敏感的工程设计信息时更安全。

 

Benefits of OFTP

OFTP协议很简单,只有14个命令。

OFTP极其高效,允许在合并的文件重启、数据压缩、安全时利用大传输量窗口。

路由功能(Routing Capability)允许消息通过很多中介(如VANS)传输

OFTP在国际边界内或者通过国际边界能支持多个通信会话。

OFTP 被设计用来实现公司间的直连或者通过一个第三方的party(如比较流行的VANs)。

OFTP 不需要你了解远程用户的系统。

 

一个OFTP会话

 

上图阐述了一个简单的OFTP会话过程,箭头表示命令流传输的方向。至于命令的细节表示以及技术实现,此处不赘述了,除非你要进行OFTP相关的开发,请参考RFC文档。

 

实体软件截图

以下截图来自网络上一些EDI软件的配置截图,由于笔者未接触过,只能够揣测基于ISDN的以及InternetOFTP是如何不同的一副情形。

 

Own Host OFTP Profile配置示例:

基于ISDN


对于用ISDN connection,必须安装ISDN设备在EDI软件的服务器上(技术上在同一个LAN内应该也可以),这个设备往往是前文(《ISDN浅述》)提到的终端适配器(TA)。

 

配置中ISDN电话号码肯定是必填的,但是贸易伙伴(trading partner)可能还会要求你提供ISDN子地址,以及X.25网络用户地址NUAX.25网络用户识别号NUIX.25是一个使用电话或者ISDN设备作为网络硬件设备来架构广域网的ITU-T网络协议。在国际上称其为分组交换网)。但是这两个X.25的玩意具体是什么,笔者无法告知了。

      

基于TCP/IP Connection

基于Internet就不言而喻了,URL(建议)或者IP地址,然后默认端口是3305,如果用TLS安全通信的话,默认端口6619

 

图示的另外一种Server Only,笔者感觉不多用,此处不提,不知道官方RFC上对这个的描述是怎么样的。

不管基于哪种类型,都可以维护多个,可以让贸易伙伴自由地选择接入,同时控制分流。

一个Partner Profile的配置示例:


       有兴趣细细研究这种协议或者开发这方面软件可以去找一些这方面的软件(诸如Mendelsonrssbus等等)结合RFC5024OFTP2),RFC2204OFTP 1.3)比对比对。

 

附:AS2OFTP2的比较


为什么企业会选择不同的通信协议呢?这往往是他们实施ERP的历史条件以及市场状况决定的。由上图看出,AS2OFTP2的多数技术特征相当类似,但是很显然的AS2主要被用于美国零售业与制造业,而OFTP2更广泛地被欧洲汽车行业以及政府所采纳。

历史上OFTP最初被设计在X.25网络上应用,后来又基于ISDN,现在则升级成OFTP2更流行于Internet上了,而且融入了加密方法以及数字证书的概念使通信变得更安全,但欧洲不乏一些守旧的老古董,还用着ISDN,甚至X.25

此外,OFTP2如同FTP这个词眼一样,能工作在push和pullmode,而AS2只能push,但是这个笔者感觉意义不大。

                                                                                           2014.7

0 0