montaque

小碗喝酒,小口吃肉

博客园 首页 新随笔 联系 订阅 管理

Biztalk 2006 R2是Biztalk 产品到目前为止,最新的版本。R3 还没有正式出来,R3 出来之后就可以跟VS 2008 集成,包括Oslo的支持。据说R3之后的版本才会基于 workflow Foundation Service。所谓计划赶不上变化, PDC 2005 的时候,Microsoft就宣布下一个版本会基于Workflow Foundation。 之后出来2006, 2006 R2,马上 2006 R3,谁知道那个版本才会基于workflow foundation。

为什么说一定要给予Workflow foundation呢?我们知道.net framework 3.0 是个很好的平台。你基于WCF这套可扩展的模型,任何的协议,商业package都可以类似搭积木,陪协议栈一样去集成。 基于WF, 虽然workflow foundation只是个工作流的平台,没有biztalk的 可扩展稳定的消息处理引擎,可视化mapping,基于主题事实的路由,可是有一个非常简单的扩展模型,就是让你的Activity可以自由扩展。这一点也是Biztalk 改进的目标之一,就是biztalk中的Shape 远没有workflow foundation的activity 那么可扩展和定制。

具体展开的几个Blog

WCF的支持。

biztalk 2006 R2 很重要的一点就是引入了对WCF的支持, 这个不是个简单的替换web service 支持的问题。更重要的是引入了一个让你自由扩展对各种系统集成的机会。 在R2之前你要写一个Adapter,比如写一个支持SAP 的adapter是非常的困难。而到了R2只好,你要扩展一个LOB 的支持,不需要去重写一个Adpater,只要利用 WCF Adapter Framework 像是扩展WCF的Binding,Behavior一样。利用Biztak对WCF的支持(元数据,不同的安全要求,不同的Binding), 把你重写的wcf行为配置进去就可以了。 为此,R2的几个LOB Adapter 都是用这种新的模型重写了。会有哪些好处呢?

  1. 写一次,能够被Biztalk 支持,以及一切能够跟WCF 通讯的Client支持。不想以前写的Adapter,只能够Biztalk使用。所以现在.net 开发人员除了可以用.NET SAP Connector跟SAP集成。也可以用SAp Adapter for Biztalk r2
  2. 开发人员和管理人员使用一直的管理和配置界面。无非要回答使用那个Opeartion,点击生成Proxy的问题。

一下是SAP Adapter for Biztalk 2006 R2的架构

image

而之前的呢?

image

 

通过 WCF 跟Biztalk集成,相对于Web service,还有哪些好处呢?

使用soap adapter的时候,在run-time 每次都要有两次序列华,反序列化动态编译程序集的问题。到了WCF,Biztalk 和WCf直接就是直接的消息传递。 WCF 的CLient直接送消息给Biztalk,反之亦然。

下次我会讲一下各种WCF跟Biztalk集成的场景和方式。 相对于web service,非常之灵活。 比如,WCF可以控制消息的layout。对应MessageContract,还是DataContract,或者XmlSerilaizer 序列化方式。 使用WCF,有些Binding支持事务,可以从service调用段flow事务到Biztalk。 等等。

 

BAM的增强

Biztalk可以把异种系统,自治的Service 集成起来。run-time的时候,很多消息流来流去,往返于不同的系统。可能是WCF的服务,或者WF的流程,或者legacy 系统,当然还有Biztalk。 怎么样有一个一致的视图能够告诉用户这些消息流转是否正常,处理能力证明样,Latency有多大? 类似回答一个KPI的问题。希望有那么一个dashboard,用户一看就知道订单处理了多少,那个州的订单额度比较大,比较赚钱? 而要回答这样的一个问题,可能就要到不同的系统中抓数据。能不能够定义一个模型,让各个系统把关键数据按照定义好的关注模型push给中央呢。从Biztlak 2004 的时候,biztalk里面就有了个BAM,2004的时候只支持从流程中提取一些数据, 2006 支持到流程中的消息,而在R2的时候,支持到WCF、WF以及Legacy系统。

由于WCF本省就容易扩展,所以BAM R2 提供了一个EndpointBehavior,配置到WCF。这样WCF 在运行的时候,根据你定义的关注或者拦截模型,就会自动把你关注的数据推给Centrol。

WF也一样,Workflow本省有一个Service扩展模型,BAM R2 提供了一个BAmTrackingService,随着workflow的运行,被命中的事件和数据也会推给Centrol。

如果要是Legacy 系统,bam有个API。

当然WCF、wf需要你写一个xml 配置文件来标注你对那些事件感兴趣,命中的条件以及如何更新Activity模型。

这个xml配置文件没有图形化的配置工具,不想Biztalk的TPE。需要手动写,R2提供了schema,写起来还是很方便。

Interceptor有一个简单的模型,让不同系统写的数据关联到一个Activity所谓的Correlation、Continous模型。下次着重写一个BAM模型。

 

使用BAM帮你回答了几个问题。

  • 如何存储这些数据(可能会很大),交易和分析分开。自动partition
  • 访问的API,AOP的配置模型。
  • 业务人员简单定义模型。
  • Alert模型。

 

 

RFID的支持

RFID其实跟Biztalk 没有关系,可以单独使用。 把你去抽象不同的厂商的FRID设备。以及受到数据之后如何派发给不同的handler,比如可能是写数据库,激活一个流程等。帮你在各种RFID设备之上做了一个抽象和简单的管理。 好像到目前,被动模式的RFID标签已经很便宜了。几分钱一个,打算买个reader 和几个标签。把标签贴到身上,在厕所门边装个reader。统计一下一年上了几次厕所,哈哈。做个报表时间,频率等等。

 

EDI的支持。

早起的Biztalk虽说支持EDI,可是Schema只有一点点。 EDI本省有好多版本,如果你用的话,只能去买Convast的完整版本。R2的时候内置了4G的Schema,比2006丰富多了。

 

另外加上了AS2的支持。传统的EDI都是基于文件,Ftp。AS2基于Http

 

关于HWS。

需要人参与的workflow,在biztalk 中有个HWS,human workflow service。R2中没有做任何的加强。如果Biztalk的workflow需要人的参与,以下是集中建议的方式。

1.用SharpointWorkflow,需要人审判和review的消息。通过sharepoint adapter,送到sharepoint站点的文档区。审批通过的话继续执行。

2.用自己的workflow比如windows workflow, 可以用.net framework 3.5的worklfow service,biztalk 想调用一般的wcf service 一样去调用。

3.用商业的package,比如K2.

posted on 2008-05-24 05:53  montaque  阅读(1732)  评论(3编辑  收藏  举报