zoukankan      html  css  js  c++  java
  • Biztalk 实例之 平面文件架构

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

  • 相关阅读:
    ls命令具有一个r选项,可以递归的列出子目录中的内容。请编写一个具有同样功能的程序。
    BizTalk Server 2006 正式发布了,有120天试用版可以下载 无为而为
    IT人看《国富论》系列:第一篇之第四章:论货币的起源及其效用。UML是软件行业的货币 无为而为
    使用XPathNavigator和XPathExpression求出XPath的值,[源代码] 无为而为
    为XPath自定义函数(因为XPath1.0的函数非常有限)[附源代码下载] 无为而为
    IT人看《国富论》系列:第一篇之第二章:论分工的原由。分工其实是人类利己倾向的结果 无为而为
    非常令人沮丧的是,SQL 2005 发布的 Web EndPoint不支持匿名访问 无为而为
    Team Foundation Server Workgroup Edition 5 用户限制到底是如何限制的呢? 无为而为
    微软发布新的MSN ToolBar V2.5,包含桌面搜索,Outlook搜索,支持IE的选项卡浏览模式 无为而为
    IT人看《国富论》系列:第一篇之第三章:论分工受市场范围的限制。外国人都觊觎的中国市场到底大还是不大? 无为而为
  • 原文地址:https://www.cnblogs.com/cxd4321/p/883446.html
Copyright © 2011-2022 走看看