BizTalk开发系列(六) BizTalk开发简述

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

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消息添加命名空间等操作)大部份是在管道中进行。

业务流程

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

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

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

时间: 2024-07-31 11:27:28

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

S5PV210开发系列六_Fatfs的移植

S5PV210开发系列六 Fatfs的移植 象棋小子    1048272975 对于固态存储器,其存储容量可以很大,往往需要一款文件系统对存储器用户数据进行组织文件的管理.它对文件存储器空间进行组织和分配,负责文件的存储并对存入的文件进行保护和检索.在嵌入式系统中,往往需要采用windows兼容的文件系统,像相机的照片.视频监控.语音产品等,很多都需要从windows计算机上提取资源或在windows计算机上进一步处理.Fatfs由于其开源免费,支持fat32,受到了广泛的应用,笔者此处就S5

C#程序员学习Android开发系列之搭建开发环境

接触Android好久了,记得09年刚在中国大陆有点苗头的时候,我就知道了google有个Android,它是智能机操作系统.后来在Android出1.5版本之后,我第一时间下载了eclipse开发工具.adt以及android sdk,体验了一把android开发,记得当时搭建开发环境相当麻烦.由于android开发是基于Java的,所以除了上述的工具之外,首先需要安装jdk,记得当时流行的是jdk1.5(后来是1.6,现在是1.7,未来是1.8),安装好之后需要设置环境变量. 时隔4年之后,

iOS开发系列--IOS程序开发概览ios基础

iOS开发系列--IOS程序开发概览 2014-08-04 19:42 by KenshinCui, 72273 阅读, 81 评论, 收藏,  编辑 概览 终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言.ObjC等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序.但是这里我想强调一下,前面的知识是你日后开发IOS的基础,没有那些知识你开发IOS会很痛苦,现在很多开发人员做开发都是一知半解,程序质量确实令人担忧,所以还是希望大家能够熟练掌

S5PV210开发系列一_开发环境以及启动模式

S5PV210开发系列一 开发环境以及启动模式 象棋小子          1048272975 ARM核以其高性能.低功耗.低成本广泛应用在各个领域,包括ARM7.ARM9.ARM11.Cortex-M.Cortex-A等这几个系列.众多的半导体商如NXP.Freescale.Atmel.Samsung.TI等都设计了基于ARM核的自家通用处理器,ARM核从低成本控制处理器到高性能应用处理器,已经深入到我们生活的方方面面.笔者此处就Samsung的Cortex-A8处理器S5PV210作一个简

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

概述 从iOS 8 开始Apple引入了扩展(Extension)用于增强系统应用服务和应用之间的交互.它的出现让自定义键盘.系统分享集成等这些依靠系统服务的开发变成了可能.WWDC 2016上众多更新也都是围绕扩展这一主题来进行了的,例如开发的Siri.iMessage Apps其实都是依靠扩展来工作的.在最新的Xcode 8 beta中也增加了众多的Extension 模板帮助开发者更快的实现不同类型的扩展.因此今天有必要介绍一下扩展相关的开发内容. 扩展的生命周期 iOS对于扩展的支持已经

测试开发系列之Python开发mock接口(一)

本次测试开发系列给大家分享一下怎么用python开发mock接口.本次介绍下什么是mock接口,以及咱们开发之前需要做的准备. 什么是mock接口呢,举个栗子,你在一家电商公司,有查看商品.购物.支付.发货.收获等等等一大堆功能,你是一个测试人员,测测测,测到支付功能的时候,你就要调用第三方支付接口了,真实支付,直接扣你支付宝/微信/银行卡里面的钱了,这下大事不好,测个试还得把自己钱搭进去(当然一般公司都会报销测试的支付费用,但是走报销麻烦),还有一些大额支付的的,可能你账户里面根本就没那么钱,

linux下C++开发系列(六)——文件IO相关的系统调用

linux操作系统中,文件是最基本和最重要的抽象,linux遵循一切皆文件的理念.按照不同的属性,文件可以分为普通文件和特殊文件.特殊文件是以文件方式表示的内核对象,linux支持四种类型的特殊文件: 1.块设备文件 (例如硬盘设备) 2.字符设备文件(例如键盘设备) 3.命名管道 (主要是进程间通信使用) 4.Unix域套接字(主要是网络通信使用) linux系统对于文件的操作,提供了一系列的系统调用个,主要分为以下几类: 1.创建文件(creat) 2.打开文件(open) 3.读文件(re

Android开发系列之UI开发

在app开发的过程中,我们会使用到大量的控件,了解各种控件的特性,熟练的使用它们是非常重要的,本篇会详细介绍几种常见控件的使用方法,废话不多说,直接上代码. 一.TextView 二.EditText 三.ImageView 四.ProgressBar 五.AlertDialog 六.详解四种基本布局 一个丰富的界面不仅需要有多个控件组成,更要选择合适的布局使各个控件有条不絮地摆放在界面上,让界面看起来更佳美观.android开发过程中主要有四种基本布局:LinearLayout.Relativ

Python爬虫开发系列之一》开发IDE安装

中国有句古话说:工欲善其事,必先利其器! 在我最开始学 Python 的时候,因为没有去探索好用的工具,吃了很多苦头.磕磕绊绊走过来之后才知道,好的工具给效率带来的提升不是从 1 到 1.1 倍速,而是从 1 到 10 倍速. 所以说编写和运行程序之前我们必须要先把开发环境配置好,只有配置好了环境并且有了更方便的开发工具我们才能更加高效地用程序实现相应的功能达到事半工倍的效果,然而很多情况下我们可能在最开始就卡在环境配置上,如果这个过程花费了太多时间,想必学习的兴趣就下降了大半,所以本章专门开发