现在很多大型企业信息化程度很高,运行中的系统可达到数十乃至上百个。而大部分系统由于建设的时间、开发团队和技术 往往不相同,系统之间的大部分都是独立运行的。随着信息化建设的深入各系统之间的交互需求越来越紧迫。但是由于信息化的建设不可能一触而就,也不可能再组 建一个团队把所有的系统重构。因此需要一个系统与系统之间交互的中间件。

     BizTalk就是这样一个中间件。它本质上是一个消息处理引擎,处理消息验证,映射,业务流程等。以下是BizTalk的运行时高度概括结构,了解其结构可以在更有针对性的开发相关业务。
 
     
     BizTalk运行时通过适配器能接收端口接收数据创建消息,经接收管道处理比如升级消息里的内容为消息属性复制到消息上下文等。消息经处理管道处理之后 将会存储到MessageBox数据库。下一步将决定消息的传送目标,在BizTalk系统中消息可以传给业务流程处理也可直接传往发送端口。不管目标为 哪一个,BizTalk都是采用发布订阅机制,每个订阅方都会从BizTalk消息引擎中获得消息的副本。最终消息由发送管道处理之后由发送适配器以相应 的格式发送到目标。
 
BizTalk主要开发内容
 
消息
       BizTalk 的消息指的是XMl文件、二进制文件、SOAP消息等所有的格式。但在BizTalk内部唯一使用XML文档。每个消息都可以可以视为一个多部分消息,此 类消息可以由一个或零个消息组成。所有消息在BizTalk中都是不可改变的,这就意味着消息在构造之后就不可以再改变(这点在开发过程中很重要)。系统 的每个消息都带有一个属性集,包括消息ID,接收端口,实例ID等信息。消息的属性可以通过管理控制台查看。
       实际开发过程中主要定义消息的格式,由于BizTalk内部唯一使用XML文档因此主要通过Schema编辑器定义XSD(XML架构定义语言)。建议熟悉XSD定义。
 

映射

映射由多个底层组件组成,并依赖于已创建的架构。这些架构又依赖于 XML 架构定义 (XSD) 语言。在开发映射过程中如果懂得XSLT语言则会更加方便。

 
适配器
       适配器是一种软件组件,可以使用符合可识别的常用标准的传输机制通过 BizTalk Server 便捷地发送或接收消息:SMTP、POP3、FTP 或 Microsoft 消息队列 (MSMQ)。BizTalk Server 2006 包含以下类型的适配器(也称为“本地”或“集成”适配器):基本 EDI、BizTalk 消息队列、FILE、FTP、HTTP、MQSeries、MSMQ、POP3、SMTP、SOAP、SQL,以及 Windows Sharepoint Services。

每个本地适配器均关联有一个接收位置,用于在特定地址侦听来自特定传输的消息。在接收位置收到消息后,消息将传递给适配器。适配器将向消息(通常在消息的 正文部分)附加数据流,添加有关接收数据的源终结点的所有元数据,然后将消息提交到 BizTalk 消息引擎。

由于BizTalk提供的适配器已基本满足需求,如有特别需求可以参考SDK文档进行开发。

管道

尽管初始消息是由适配器创建的,但对收到消息的处理过程大部分发生在接收管道中。管道处理针对消息内容以及消息上下文。对消息内容的处理通常发生在解码、拆装和验证阶段,而对消息上下文的处理则可发生在所有阶段。

BizTalk提供了比较方便的管道开发方法,通过继承BizTalk SDK提供的接口将消息流接收过来,经过处理之后再返回接口即可。无需涉及事务,大消息等复杂的内容。因此如需对消息进行底层的开发(例如Excel数据 流转为拆装器可识别的XML数据流,针对XML消息添加命名空间等操作)大部份是在管道中进行。

业务流程

业务流程是用于表示可执行的业务程序的灵活且功能强大的工具。您可以在直观可视化绘图中设计流、解释和生成数据、调用自定义代码以及进行所有处理。

消息、作用于消息的发送和接收操作以及传输消息的端口都是业务流程的基本元素。消息是业务流程与外界进行通信以及实施电子商务的媒介。

业务流程不但跟实际的需求关系紧密而且需要了解的技术也比较多。主要有以下几个需要了解的技术:事务,相关集,多部分消息,类型(端口,多部分消息)。还有应熟悉业务流程设计器提供的各种形状,这些形状表示了业务流程的逻辑流。

BizTalk开发系列(六) BizTalk开发简述的更多相关文章

  1. (一)react-native开发系列之Mac开发环境配置

    写在前面 在开始之前,先说下选择react-native的背景原因 最近一年来,公司为了节省开发成本,以及降低维护成本,指派我开始做起前端开发app的工作,我和公司的小伙伴们就开始了漫长的app开发之 ...

  2. 【Qt编程】基于Qt的词典开发系列<六>--界面美化设计

    本文讲一讲界面设计,作品要面向用户,界面设计的好坏直接影响到用户的体验.现在的窗口设计基本都是扁平化的,你可以从window XP与window 8的窗口可以明显感觉出来.当然除了窗口本身的效果,窗口 ...

  3. 微信小程序开发系列六:微信框架API的调用

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...

  4. leaflet-webpack 入门开发系列六矢量瓦片(附源码下载)

    前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 w ...

  5. iOS开发系列--App扩展开发

    概述 从iOS 8 开始Apple引入了扩展(Extension)用于增强系统应用服务和应用之间的交互.它的出现让自定义键盘.系统分享集成等这些依靠系统服务的开发变成了可能.WWDC 2016上众多更 ...

  6. arcgis api for js入门开发系列六地图分屏对比(含源代码)

    上一篇实现了demo的地图标绘模块,本篇新增地图地图分屏对比模块,截图如下(源代码见文章底部): 对效果图的简单介绍一下,在demo只采用了两分屏对比,感兴趣的话,可以在两分屏的基础上拓展,修改css ...

  7. arcgis api 3.x for js 入门开发系列六地图分屏对比(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

  8. iOS开发系列--IOS程序开发概览

    概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的 ...

  9. Android开发系列之搭建开发环境

    接触Android好久了,记得09年刚在中国大陆有点苗头的时候,我就知道了google有个Android,它是智能机操作系统.后来在Android出1.5版本之后,我第一时间下载了eclipse开发工 ...

随机推荐

  1. 【hdu3948-不同回文串的个数】后缀数组

    题意:求不同回文串的个数 n<=10^5 题解: 先按照manacher的构造方法改造一遍串,然后跑一遍manacher. 如ababa--> $#a#b#a#b#a#@ 然后跑一遍后缀数 ...

  2. 实现窗体随着鼠标移动(控件)--《用delphi开发共享软件》-15.1任务管理器

    private //窗体移动: OldPos,NewPos:TPoint; bMove:Boolean; procedure TForm1.FormMouseDown(Sender: TObject; ...

  3. 《HBase实战》

    对,我正在研读这本书,今天开始,我希望我看完后能有收获和大家分享,这个日志作为开始,勉励自己! 对,我应该静下心,做一些我更喜欢的事情,不能在自我陶醉中迷失! 断断续的看,到今天大概把这本书看完了,没 ...

  4. js点击a链接弹出alert对话框

    代码 <html> <head> <meta charset="utf-8"> <meta name="generator&qu ...

  5. Android开发环境搭建全程演示(jdk+eclipse+android sdk)

    全程演示android开发环境的搭建过程,无需配置环境变量.所有软件都是写该文章时最新版本 一 相关下载 (1) java JDK下载: 进入该网页: http://java.sun.com/java ...

  6. TXT文件去除多余空行

    有的小说段落之间有大批的空行,看起来十分难看,比如: 长达500多页,手动改就尴尬了,废话不多少,直接上代码: #include "stdafx.h" #include <s ...

  7. Unity 逐步旋转

    npc.transform.rotation = Quaternion.Slerp(npc.transform.rotation, Quaternion.LookRotation(moveDir), ...

  8. 网易大手笔领投美国VR触觉公司AxonVR

    12月8日消息,美国西雅图VR触觉公司AxonVR今日宣布完成了580万美元的种子轮融资,由中国网易和Dawn Patrol Ventures领投.此次融资完成后AxonVR的总融资额将攀升至700万 ...

  9. Codeforces Round #252 (Div. 2) B. Valera and Fruits

    #include <iostream> #include <vector> #include <algorithm> #include <map> us ...

  10. ACM 笨小熊

    笨小熊 时间限制:2000 ms  |  内存限制:65535 KB 难度:2   描述 笨小熊的词汇量很小,所以每次做英语选择题的时候都很头疼.但是他找到了一种方法,经试验证明,用这种方法去选择选项 ...