BizTalk 2010/2013 EDI B2B项目实践(1)

时间:2022-05-22 14:39:26

BizTalk 2010/2013 EDI B2B项目实践(1)

BizTalk开发标准EDI B2B是件非常容易的事情,但对于初学者可能有很多专业术语不太理解,不知道如何下手,我之前开始学的时候虽然跟着微软提供的Tutorial也能做成功,可有些地方就是不太明白为什么这样配置才可以。最近正好有同事开始做关于EDI B2B的项目,我顺便重新再看了一下,这下才明白什么叫温故而知新了。

下面我分享一下我对BizTalk在做EDI B2B项目中使用到的一些专业名词和配置解释一下,希望对初学BizTalk的朋友有所帮助。

场景1-BizTalk接收850-PO报文

还是拿BizTalk官方提供的Tutorial(C:\Program Files (x86)\Microsoft BizTalk Server 2013\SDK\EDI Interface Developer Tutorial)

BizTalk 2010/2013 EDI B2B项目实践(1)

Fabrikam就是作为BizTalkServer外部Partner,Fabrikam给BizTalkServer下了一张采购订单(850-PO),BizTalkServer把标准的EDI-850,经过mapping之后产生一个后台OrderSystem可以接受的XML文件,同时回一个ACK告诉Fabrikam我收到了这个报文。

新建Parties

Parties就是定义B2B的两个对象或者说是商业伙伴,在这个场景里面需要建2个OrderSystem,Fabrikam

BizTalk 2010/2013 EDI B2B项目实践(1)

OrderSystem作为BizTalk服务器因此必须在Local BizTalk process message打勾

BizTalk 2010/2013 EDI B2B项目实践(1)

Fabrikam是你的外部客户因此不需要打勾

Parties新建完后系统会自动创建对应的OrderSystem_Profile,Fabrikam_Profile,

新建Agreement

Agreement就是协议,定义双方交换的协议

BizTalk 2010/2013 EDI B2B项目实践(1)

First Party->Second Party 选择谁和谁做交互

Fabrikam->OrderSystem 表示OrderSystem(BizTalk)接收来之Fabrikam提供的850报文

BizTalk 2010/2013 EDI B2B项目实践(1)

InterChange Settings设置来识别和验证EDI报文的第一行,最重要的就是设置ISA6,ISA8

Acknowledgements设置是否回一个ack确认报文给Fabrikam如果不需要那么就不必要配置OrderSystem->Fabrikam这个tab下的信息

Transaction Set Setting设置来识别和验证EDI报文的第二行,第三行的信息

标准的850-EDI报文结构

BizTalk 2010/2013 EDI B2B项目实践(1)

第一行ISA开头专业术语叫Interchange control header,作为交换必要的识别代码*ZZ*就是表示发送方在我系统里的代码和接收放的系统代码,这些必须事先约定好

第二行GS开头专业术语叫Transaction set specific group header,一些相互之间的约定

第三行ST开头Transaction set header,表示这个报文是850是第几个

下面就是PO的具体内容了

接收端口配置

在你的接收端口下的接收位置的Pipeline选择EdiRecive

BizTalk 2010/2013 EDI B2B项目实践(1)

设置好主要的这些参数就可以完成接收一个EDI报文了。

场景2-BizTalk发送一个850-PO给外部客户

就需要配置OrderSystem->Fabrikam这个选项Tab,ISA6,ISA8,正好相反

BizTalk 2010/2013 EDI B2B项目实践(1)

Local Host Settings 设置EDI报文中第一行和第二行中产生的唯一序列,BizTalk会自动更新这些序列

BizTalk 2010/2013 EDI B2B项目实践(1)

配置发送端口,你要将这些配置绑定在哪个端口上,原理就是EDISend pipeline这个组件会在构造这个edi报文读取这些配置。

BizTalk 2010/2013 EDI B2B项目实践(1)

还可以根据实际情况定义EDI报文GS第二行的一些规则比如使用的EDI版本,时间日期等格式,当然也可以不必定义系统会根据默认给出。

BizTalk 2010/2013 EDI B2B项目实践(1)

配置完这些就可以实现对EDI报文接收和发送了。