番茄的梦想

那一抹夕阳

  博客园  :: 首页  ::  :: 联系 :: 订阅 订阅  :: 管理

         无意中发觉一篇好文章,脑子中的困惑豁然而解。
        尽管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文件。


 



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=935500

posted on 2007-09-05 19:54  番茄的梦想  阅读(713)  评论(0编辑  收藏  举报