什么是Biztalk
从第一次接触Biztalk到现在也有3年多快4年的时间了。在这段时间里不停地问自己,什么是Biztalk。答案也随着时间的增长变得不同。
第一阶段:Biztalk是一个数据导入工具
第二阶段:Biztalk是一个用来描述消息处理过程的工具
第三阶段:Biztalk是一个企业级消息交互总线
第四阶段:Biztalk是一个强大的跨域,跨组件消息接受,处理以及分发的工具,是企业级应用系统之间的无缝数据,消息交互的桥梁。
就目前我的理解而言,第4种答案最为恰当。
Biztalk能做什么
试想你的公司有几十个系统分管不同的子业务。并且依赖一部分外部管理系统(例如客户的订单管理系统会定时的将客户需要购买的产品信息发送到你的一个子系统中)。传统的数据处理方式会有一下几种
1. ETL
2. Web服务(Web Service, WCF等)
3. 数据共享(ftp等)
4. 其他
你公司中的每个子系统都会开放一部分外部接口或者数据库给其他内外部系统调用,以达到数据交换的目的。但是这样做的缺点如下:
1. 由于系统接口过多,且分布的层次不均,会造成系统与系统之间的耦合过密。经常会产生一部分接口或者数据结构变化后需要同时变更多个系统。
2. 由于对一部分外部接口的依赖,造成外部业务数据与内部业务数据的标准不一致。之间的转换引起大量的工作量。
3. 外部接口版本管理紊乱。以WCF为例,虽然WCF中有相应的接口版本管理,但是一旦关键参数发生变化。还是会引起大面积的对外系统或者接口需要做大量的对应。
4. 对接口流通的数据监管无法做到十全十美
5. 其他
所以我们有了biztalk。biztalk能帮助系统维护人员通过统一的平台,对所有系统与系统消息交互进行管理,监控。并提供了一系列的模板解决方案,让开发人员用最快的速度完成以上的消息处理任务。
下一节我们开始正式学习biztalk的开发方式。