分析决策条件
有几种不同的业务流程可以运行自行车租赁业务。 例如,有自行车租赁流程、归还流程、自行车预订流程以及与自行车没有直接关系的流程(例如,员工的假期预订)。
我们引入了一系列可用于帮助构建这些流程的 Azure 技术。 下面我们将详细说明如何针对给定的流程做出决策。
如何选择服务
下图显示了一个简化的流程图,可帮助你选择用于业务流程的最佳技术:
第一个要问的问题是,你是偏好在 GUI 设计器工具中还是通过编写代码设计工作流。 使用设计优先工具的正当理由包括:
- 设计工作流的人员没有编码经验。
- 今后的设计师和用户可以查阅图形设计,以清楚地了解工作流的进展情况。
此外,也可以选择使用代码优先工具,因为:
- 设计工作流的人员是开发者并且偏好完全使用代码。
- 你希望隐藏来自非编码器的工作流的详细信息。
选择 design-first 技术
如果选择使用设计优先技术,则还必须从 Microsoft Power Automate 和 Azure 逻辑应用之间进行选择。
此处最重要的问题是谁将设计工作流:是开发者还是用户?
在逻辑应用中,有可在其中绘制工作流的视觉对象设计器。 它直观且易于使用,但也可用于深入了解本质和编辑工作流的源代码。 此工具专为拥有开发技能的人员设计。
在 Microsoft Power Automate 中,为常用的工作流类型提供了更多帮助和模板。 无法编辑该工具创建的源代码。 此工具专为那些对业务流程有深入了解但不具备编码技能的用户而设计。
选择 code-first 技术
如果选择使用代码优先方法,则下一步是在 WebJobs 和 Azure Functions 之间进行选择。
由于 Azure Functions 包含其他功能,包括更广泛的触发事件和支持的语言、能够在浏览器中开发测试代码以及按使用情况付费的价格模型,因此请将 Azure Functions 视为默认选择。 以下几种情况,WebJobs 可能是更好的选择:
- 你有一个现有的 Azure 应用服务应用程序,并且希望在应用程序中模拟工作流。 此要求意味着还可以将工作流作为应用程序的一部分进行管理;例如,在 Azure DevOps 环境中。
- 要对 Azure Functions 不支持的
JobHost
进行特定自定义。 - 你想要控制应用的重试策略。
- WebJobs 仅在 Microsoft Windows 上支持 C#。
混合技术
请记住,无需为不同的工作流使用相同的技术:如果要求不同,可能会在决策制定流程结束时得到不同的答案。 此外,还可以从其他工作流调用工作流。 例如,在 Microsoft Power Automate 中实现的工作流可以轻松地调用其他作为 Azure Functions 构建的工作流。
混合业务流程中使用的技术的一个原因是,使用户可以控制整个工作流的一小部分。 通过在 Microsoft Power Automate 中实现该部分,然后从逻辑应用、WebJob 或函数调用该流来执行此操作。