尽管XML文件正变得越来越流行,但许多计算机系统仍然在使用平面文件来存储数据。所谓的平面文件是与XML数据文件相对的一个概念。XML数据文件是一个树形结构,而许多文件例如DBF数据库文件等并不是树形结构,这类文件我们称之为平面文件。
有些平面文件没有明显的结构,或者我们并不关心它的结构;而有些需要Biztalk处理的平面文件,我们需要清楚它们的结构。Biztalk Server针对平面文件提供了平面文件架构,用于描述平面文件的结构。在技术平面文件的结构时,有些数据是以位置来划分的,有些数据则是以分隔字符来划分的。例如下面用来存储用户ID、用户名和密码的平面文件:
S01 test 12345623
S02 vvzz 778845
S03 fengff 4432
S04 liudan 772432
在这个文件中,不同的记录之间是以回车换行来划分的,而各个字段则是由位置来确定的。用户ID和用户名都占十分字符,用户ID是从记录的第一个字符开始,用户名是从记录的第11个字符开始,密码是从记录的第21个字符开始。
如果我们需要使用Biztalk来处理这个平面文件,我们要完成如下任务:
1.创建一个Biztalk项目
2.创建一个平面文件架构
3.创建一个接收管道
4.创建一个业务流程
5.部署项目进行测试
下面来看具体步骤:
一、创建一个空的BizTalk项目
1. 打开Visual Studio .Net 2003,创建一个新项目,选择项目类型为BizTalk项目,模板为空的BizTalk Server项目,输入名称为FlatFile。
二、创建一个平面文件架构
2. 为FlatFile项目添加新项,选择架构,输入名称为FlatFileSchema.xsd。
3. 在架构树上选择<Schema>,在属性窗口中单击架构编辑器扩展后的“...”按钮,打开架构编辑器扩展,选中平面文件扩展;设置允许过早终止属性为是。
4. 为Root重命名为Items,设置子分隔符类型为十六进制,设置子分隔符为 0x0D 0x0A,表示以回车换行分隔记录。
5. 为Items添加一个子记录Item,设置结构为位置,Max Occurs为*,表示无限制,Min Occurs设置为0,表示最少为0。
6. 为Item添加三个子字段元素,分别重命名为UserId、UserName和Password,设置它们的位置长度属性均为10。
三、创建一个接收管道
7. 为FlatFile项目添加一个新项,选择接收管道,设置名称为ReceiveFlatFilePipeline.btp。
8. 从工具箱中将平面文件拆装器拖放到接收管道的拆装中,设置文档架构为FlatFile.FlatFileSchema。
四、创建一个业务流程
9. 为FlatFile项目添加一个新项,选择BizTalk 业务流程,设置名称为FlatFileOrchestration.odx。
10.在业务流程视图中为业务流程创建一个FlatFileMessage消息,消息类型为FlatFile.FlatFileSchema。
11.从BizTalk 业务流程工具箱中拖放接收操作放到业务流程中,在接收下方放入发送操作。设置它们的消息属性为FlatFileMessage,设置名称分别为ReceiveFlatFile和SendXMLFile。
12.在端口图面中放入一个端口,根据端口配置向导设置名称为ReceivePort,端口类型名称为ReceivePortType,端口通信方向为始终在此端口上接收消息,端口指定为立即指定;设置传输为FILE,设置URI为C:\in\*.txt,设置接收管道为FlatFile.ReceiveFlatFilePipeline。
13.在端口图面中再放入一个端口,设置名称为SendPort,设置端口类型为SendPortType;设置端口通信方向为始终在此端口上发送消息,设置端口绑定为立即指定,设置传输为File,设置URI为c:\out\%MessageID%.xml,设置发送管道为Microsoft.BizTalk.DefaultPipelines.PassThruTransmit。
14.将接收端口ReceivePort与ReceiveFlatFile操作连接起来,将SendPort与SendXMLFile连接起来。
15.设置ReceiveFlatFile操作的激活属性为True。
五、部署项目进行测试
16.编译项目。
17.选择生成\配置管理器菜单,选中部署复选框。
18.选择项目\FlatFile属性菜单,为项目设置通用属性、程序集\程序集密钥文件。密钥文件的生成详见http://blog.csdn.net/fengfangfang/archive/2006/07/11/904725.aspx一文。
19.选择生成\部署解决方案。
20.在BizTalk浏览器中刷新BizTalk配置数据库,将会在业务流程下出现FlatFile.FlatFileOrchestration结点,启动该业务流程。
21.将上面的记录保存为test.txt文件,放入c:\in文件夹下。Biztalk将会自动在c:\out文件夹中输出xml文件。