Call me Razor#

我每天重新打造一条秘密小路, 在蜿蜒奇诡的归途中尽情冒险.
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

Biztalk 2006基础认知

Posted on 2008-07-01 11:22  Razor#  阅读(607)  评论(0编辑  收藏  举报

一.认清角色及任务
1.开发者
任务:使用BTS开发工具和.net Framework开发和部署BTS项目。
技能:VS2005开发.net项目,使用.net Framework,了解xml,了解xslt,了解xsd,Web服务的开发和使用。

2.IT专家
任务:保证BTS系统的正经运行。
技能:安装Windows Server,安装Sql Server,安装相应补丁,配置运行环境,配置和管理BTS的正常运行。

3.业务分析专家
任务:完成数据分析
技能:Excel,Access,OLAP,VISIO,PROJECT,POWERPOINT,WORD,OUTLOOK,业务逻辑。

二.BTS的组成

核心组件
Messaging:消息
Orchestration:流程

相关组件
Business Rules Engine:用于定义流程中的规则。
Health and Activity Tracking:监视、管理和跟踪流程的执行过程。
Enterprise Single Sign-on:用于系统间访问的SSO。

信息组件
BAM:于用去业务数据的分析、跟踪和处理,监视流程的运行过程。
BAS:提供一个贸易伙伴间进行交易的一个平台性服务。

三.工作流程

1.输入端口
接收Adapter接收到消息,并通过Rcv Pipeline实现对消息的解密、解码,转换等操作,生成定义好的Schema(XML文件),并送入MessagBox中保存。

2.MessageBox
当接收到指定的消息后,它将消息的Copy发给当前些消息的订阅流程,完成流程中处理过程。
如果流程没有输出,此消息将会被MessageBox清除。
如果流程有输出,将生成的Schema保存到MessageBox中,等待发送。源Schema将会在消息被发送后清除掉。

3.输出端口
从MessageBox中取出待发送的消息,通过Snd Pipeline进行转换、骗码、加密等操作,通过发送Adapter发送到指定的地方去

四.BizTalk Adapter

自从BizTalk2000起,在每次版本升级后,BTS自带的Adapter都会增加,具体有哪些,这里就不一一列举了。

Adapter的作用
完成BizTalk中消息的发送方式。提供配置选项,可以动态修改Adapter,实际也就是更改位置。
可以理解成Adapter就是与BizTalk进行消息传递的门户。Adapter负责消息的收发操作。
例如File Adapter,你只需配置它的接收、发送位置,它就会正常工作,而且可以控制接收时间、条件等等。

Adapter支持自定义开发
你可以开发自己的Adapter,MS不会为每一种应用都开发一个Adapter,它只提供了一些常用的Adapter。对你企业内部的应用、或与其它系统对接时,就需要自己开发Adapter了。
比如:有一个系统,它有一个COM+,你需要使用这个COM+,这样,你的程序就会从中得到想要的实时数据。不过,你完全可以用服务来完成这个操作,但Adapter Framework为你提供了一整套工作完成这个工作,而且它会更加可配置、可管理、可维护。

在BizTalk2000 到 2004中,Adapter开发可是一件不太轻松的事。但到2006后,它将不太那么困难了!
后面会有关它开发Adapter的详细介绍。

五.管道

前面提到过,Adapter只完成从数据文件的输入输出,但不会对数据进行一些其它特殊处理!
比如,File Adapter只用来完成文件的读取或写入,但它不会去问用户,要处理的数据是什么格式。也就是说,Adapter只用来完成数据的in和out。

而MessageBox中要用到的数据是Xml格式,所以有Data -> Xml的处理过程。并且有时由于外系统生成的文件可能是特定的文件格式、或者是经过加密了的数据。这时就需要对这样的文件进行解码、解密等操作。这个工作,在BizTalk中就用pipeline来完成。

管道的种类

Decode :解码器
Disassemble:分解器
Validate:格式验证器
Resolve Party:(暂时还不太理解,应该是用在BAS中的东西)

Encode:编码器
Assemble:装配器
PreAssemble:再次装配

开发管道

微软当然会提供开发接口啦! 
 

六.流程定义的过程

1.使用BizTalk Editor开发出流和中要使用的Schema。
2.使用BizTalk Mapper设计消息间的映射关系。在Mapper中还提供了大量的用于计算的Functoids来完成一些简单数据操作。
3.使用BizTalk Orchestration Designer设计流程。
4.使用WebService交换Xml数据。
5.使用Business Rule Engine定义流程的规则。

七.管理与监控

Ref :http://msdn2.microsoft.com/en-us/library/aa577363.aspx

对于BizTalk安装来说,是越来越简单。但是,还是要在安装之前,检查一下安装前所必需的一些组件。

关于搭建BTS的集成环境。
对于向我这种用于开发的程序员来说,找一台性能较好一点的PC,安装Sql2005+BizTalk2006,还有VS2005。
不过,我还是最喜欢用VMWare虚拟机,安装一个环境后,将文件做多个copy,这样,方便以后的测试与开发。

还有就是以后在生产环境中,Biztalk服务器的安装!主要问题是如何分配主机!
主机:可以运行流程,执行接收端口、发送端口的IO操作。
数据库服务器:很多情况下是单独运行一台服务器,

但主机、数据库的多少,要根据实际需求来选定。
主机,可以提高计算能力,如果流程中,计算量比较大时,还有接收、发送的文件比较多时,当然是主机越多越好了,但软硬件成本也就高了!
数据库,建议将MsgBox中的数据库分散开!因为有时数据库的IO操作量也很变得很大!

关于管理部分
BizTalk Manage已经成熟了很多,还记得在BTS2004时,对于在服务器上(没装VS2003)想对Port进行配置,那可是一件头疼的事!这里就不多说了!操作很简单了!

关于监控
对于BTS来说,HAT还是最好的工具(虽然还不是很方便)。多用用就知道它们的功能与用途了!
 
 
使用BizTalk,主要应该在EAI和B2B。其中免不了要用到数据的映射、计算,以及流程。