我有一个问题-BizTalk或WF?并且让我澄清一下,我认识到前三个工件背后的类似技术,并且意识到可以构建它们,但是我没有发现它们是WF内置的,所以我试图理解为什么我会使用一个技术胜过其他。
转变
绑定
端口/适配器
BizTalk未来
转变
BizTalk本地支持非常好的,增强的设计器可以启动,可以生成模式和地图。此外,我喜欢这样一个事实,即一切都已改变,因为我不必担心工作流程中的集成点,因为它始终采用一致的格式,这减轻了集成发生变化时的风险-我只需要重构模式和映射。
相比之下,使用WF时,我没有内置的豪华功能,所以我会丢失某些东西吗?或者BizTalk在这里有+1吗?
绑定
绑定是BizTalk中另一个完全封装的功能。由于上述工件,我可以从字面上设置我的工作流程以具有所需的任何绑定,这意味着在测试期间我可以绑定到文件系统,而在生产期间我可以绑定到服务。
相比之下,使用WF时,我没有内置的豪华功能,所以我会丢失某些东西吗?或者BizTalk在这里是否有+2?
端口/适配器
这很可能是BizTalk中存在的最大工件-IMHO。将您的物理连接抽象到众多具体实现中所花费的精力,尤其是在一个非常大的组织中,其中一些具体的实现已经超出了基本文件系统与SOAP / REST的距离,并进入了诸如IBM Mainframe和MSMQ之类的东西。 BizTalk的物理端口适配器非常简单,美观,可以在发送工作流消息之前通过转换自动运行原始数据。
相比之下,使用WF时,我没有内置的豪华功能,所以我会丢失某些东西吗?或者BizTalk在这里是否有+3?
BizTalk未来
最后,我想提一下,根据我的研究,构建BizTalk的同一个人正在构建WF-太好了!此外,Microsoft的长期愿景是使用这个新的时髦术语“集成服务器”,并且实际上是一大堆松散耦合的框架,这些框架提供了BizTalk如今的功能。由于Azure的努力,这种努力对我来说意义非凡-我相信这会有所贡献。但是,我今天需要实施一个将在15年后生效的解决方案,但是我还需要了解如果我将WF应用于BizTalk上,必须将哪些组件组合在一起。请向我提供您的经验。
最佳答案
(免责声明-我的WF经验仅限于WF3.0,因此我可能落后于WF的最新发展)
BizTalk最适合系统间,部门间和公司间集成+业务流程工作流(BPEL)-即企业关注的问题。
到目前为止,IMO WF的定位更多是针对内部系统或应用程序。
但是无疑有越来越多的灰色地带,因为似乎两者都在趋向Azure + Appfabric。
看来您正在寻找WF进行集成?
转换-在BizTalk中无疑是一件好事-鉴于您可以可视化或直接在XSLT中进行映射,因此可以在Ports或Orchestrations上快速转换消息格式,而将物理技术用作事后想法-即,您可以在逻辑级别,不会在任何特定技术(MQ,WCF,SQL,FTP等)中陷入困境。
一个警告-模式管理可能会很痛苦-每个消息都有一个模式,这需要在BizTalk上所有应用程序上都有唯一的XMLNS#Root。而且,您可以是“不可知论”的,并且可以对内部流程使用规范的架构-因此需要良好的命名,配置和管理准则。
如果将BizTalk耦合到许多WCF / WebService服务,则模式管理将变得特别繁重-每个消耗的服务都会有一个请求和响应模式(如果使用MessageContract,则可以共享通用模式)。
绑定-您已经掌握了。另外,如果使用直接(消息框)绑定,则可以选择具有多个传入接收位置,或通过简单地添加带有适当过滤器的新端口来选择发送目的地。此发布订阅功能构成Bizalk ESB工具箱的基础。对于不同环境(Dev,UAT,Prod等)的绑定也可以很好地管理。
适配器-同意-从文件切换到MQ系列就像更改端口配置一样简单。 BizTalk与MSMQ和IBM MQ配合得很好。
此外,请不要低估管理和维护EAI / BP解决方案的工作量-集成通常对企业而言至关重要,跟踪错误并避免停机至关重要。 BizTalk具有以下操作优势:
运营管理-跟踪/跟踪,管理挂起的消息,SCOM集成包等
可伸缩性/群集/故障转移功能,适配器重试,自动限制等
业务监控和事件-BAM
IMO BizTalk的主要“缺点”是:
成本
提高开发技能的时间(BTS有其古怪之处,例如僵尸和在XLS和XML文件中定义BAM定义)
为网络/管理员专业人员增加时间来熟练掌握运营管理
底线:如果您要在2或3个应用程序之间集成少量非关键消息,则采用专有或WF路线,但是如果您正在寻找企业范围的解决方案,那么像BizTalk这样的EAI / BPEL引擎将是这种方式前锋。
关于workflow-foundation - WF 4或BizTalk 2010?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9607544/