我应该使用BizTalk业务流程吗

我应该使用BizTalk业务流程吗,biztalk,biztalk-orchestrations,Biztalk,Biztalk Orchestrations,我目前正在将现有应用程序(BizTalk 2004)移植到更新版本的BizTalk。当前的解决方案采用多种类型的EDI文档,必要时对其进行修改,并将其发送到我们的遗留系统进行加载和处理 此过程是使用接收端口、管道组件、发送端口和映射、模式和消息队列组件的组合开发的。此解决方案使用10个发送和接收端口来处理流程的各个方面,例如将EDI突发到单个消息中、转换消息、错误处理、EDI验证和EDI消息的批处理。EDI的所有修改都是使用消息队列组件完成的 此解决方案根本不使用编排。我正在考虑将当前解决方案实

我目前正在将现有应用程序(BizTalk 2004)移植到更新版本的BizTalk。当前的解决方案采用多种类型的EDI文档,必要时对其进行修改,并将其发送到我们的遗留系统进行加载和处理

此过程是使用接收端口、管道组件、发送端口和映射、模式和消息队列组件的组合开发的。此解决方案使用10个发送和接收端口来处理流程的各个方面,例如将EDI突发到单个消息中、转换消息、错误处理、EDI验证和EDI消息的批处理。EDI的所有修改都是使用消息队列组件完成的

此解决方案根本不使用编排。我正在考虑将当前解决方案实现为BizTalk编排。我已经阅读了一些关于编排的知识,并使用了一些示例应用程序。但我仍然很困惑,如果不使用编排就可以开发解决方案,那么使用编排有什么好处呢。我肯定我错过了一些东西。业务流程提供了当前解决方案没有的哪些其他好处


编辑:…我应该澄清这个问题…我可以使用基于内容的路由和地图,而无需使用编排。我的问题是,如果我没有使用编排而遗漏了什么?

听起来您可以在只发送消息的解决方案中重新实现该解决方案,而不需要编排。如果可以,那太好了,我们更喜欢消息传递,因为它们更易于维护,而且通常效率更高。如果您需要一个包含多个操作的工作流,或者需要一个仅使用消息传递解决方案无法轻松完成的特殊错误处理,则编排非常有用。

听起来您可以在仅使用消息传递解决方案中重新实现该解决方案,而不需要编排。如果可以,那太好了,我们更喜欢消息传递,因为它们更易于维护,而且通常效率更高。如果您需要一个包含多个操作的工作流,或者需要一个仅使用消息传递解决方案无法轻松完成的特殊错误处理,则编排非常有用。

如果您可以使用基于消息的路由执行手头的任务,则编排就太过繁琐了。
业务流程将帮助您调用规则或处理事务。以下几点可以帮助您决定是否使用业务流程:

  • 处理是事务性的吗
  • 消息的顺序重要吗
  • 是否要使用业务规则处理消息
  • 您必须调用外部程序集吗
  • 引用“Microsoft BizTalk Server模式”

    编曲需要付出相当大的代价。其中许多成本表现为到messagebox的往返,这意味着要跨越流程边界并向数据库(messagebox)写入和读取数据

    对于同一流程,编排可能需要两倍的时间。例如:接收和发送消息的简单过程将使用消息传递方法进行2次消息跳跃,而使用编排进行4次消息跳跃。 以下是只发送消息的解决方案的步骤

  • 通过适配器接收消息并将其保存到消息框
  • 检索发送端口的消息
  • vs:

    编排方法的步骤

  • 通过适配器接收消息并将其保存到消息框中
  • 检索消息以启动业务流程
  • 如果需要,请进行映射
  • 再次检索发送端口的项目

  • 明智地选择

    如果您可以使用基于消息的路由来执行手头的任务,那么编排就太过分了。
    业务流程将帮助您调用规则或处理事务。以下几点可以帮助您决定是否使用业务流程:

  • 处理是事务性的吗
  • 消息的顺序重要吗
  • 是否要使用业务规则处理消息
  • 您必须调用外部程序集吗
  • 引用“Microsoft BizTalk Server模式”

    编曲需要付出相当大的代价。其中许多成本表现为到messagebox的往返,这意味着要跨越流程边界并向数据库(messagebox)写入和读取数据

    对于同一流程,编排可能需要两倍的时间。例如:接收和发送消息的简单过程将使用消息传递方法进行2次消息跳跃,而使用编排进行4次消息跳跃。 以下是只发送消息的解决方案的步骤

  • 通过适配器接收消息并将其保存到消息框
  • 检索发送端口的消息
  • vs:

    编排方法的步骤

  • 通过适配器接收消息并将其保存到消息框中
  • 检索消息以启动业务流程
  • 如果需要,请进行映射
  • 再次检索发送端口的项目

  • 明智地选择

    您能描述一下“使用消息队列组件修改EDI”的含义吗?消息队列通常只是一种传输机制。Biztalk将映射应用于EDI文档,该文档只是一个XML包装器。然后将转换后的xml发送到Microsoft消息队列。队列后面的组件(仅为.net dll)将根据业务规则修改文档并将其发送回biztalk进行批处理,因此您打算用本机biztalk应用程序替换.dll吗?一点也不…dll将保留在原地。您能否描述一下“使用消息队列组件修改EDI”的含义?消息队列通常只是一种传输机制。Biztalk将映射应用于EDI文档,该文档只是一个XML包装器。然后将转换后的xml发送到Microsoft消息队列。队列后面的组件(只是一个.net dll)将根据业务规则修改文档,并将其发送回biztalk供b使用