当前位置: 首页 > 科技观察

如何理解过程自动化领域?

时间:2023-03-15 23:36:07 科技观察

【.comExpressTranslation】今天的流程自动化有多种形式。不断发展的工具生态系统可以自动化一切,从简单、重复的任务到复杂的自定义工作流程。2015年,德国电信开始使用机器人流程自动化(RPA),这是全流程自动化领域的众多工具之一。随着时间的推移,该公司已成功开发了2,500多个机器人过程自动化(RPA)系统。但他们也很清楚,即使机器人过程自动化(RPA)的名称表明“过程自动化”,但实际上并不是真正意义上的过程自动化,而是任务自动化。这是一个常见的误解,其根源在于过程自动化世界的复杂性,其工具类别是多维的且难以捕捉。以下内容回答了常见问题——什么是流程自动化?并概述了过程自动化领域的发展。为简洁起见,流程自动化已缩小为以下内容:业务和数字流程:这些是典型的业务流程(例如,客户入职、理赔、贷款发放、订单履行等)不同的端到端系统.“数字流程”一词近来似乎越来越流行,因为“业务流程”一词通常被认为已过时。集成过程:专注于系统或服务集成的过程,例如协调微服务或确保远程通信时的一致性。其他流程自动化用例显然不属于此范围:不受信任的参与者之间的流程:这是区块链技术发挥作用的领域。基础设施配置或IT自动化(例如Ansible和Terraform):这是一个具有专用工具的独立领域。持续集成/持续交付(例如,Jenkins、GitHubWorkflows):持续集成(CI)/持续交付(CD)管道是软件工程中的标准流程,由标准软件自动执行。物联网(例如NodeRed):物联网用例通常使用专用工具处理,可以归类为任务自动化。为简单起见,本文不讨论这个。有两种不同类型的数字或集成流程:标准流程:当组织不想按流程区分时,商业现成软件(COTS),例如企业资源规划(ERP)、客户关系管理(CRM)或人力资源(HR)系统。在这种情况下,通常会根据软件调整工作流程。定制流程:一些流程是组织独有的,因此需要根据组织的需要进行定制。尽管这些流程在组织之间可能是相同的(例如,客户入职、订单管理、保险索赔等),但组织设计和实施它们的方式是独一无二的,这有助于在其市场中区分这些流程。这使组织能够变得更具竞争力,更有效地开展业务,降低成本,增加收入,并转变为更加数字化的业务。在定制标准软件时,这两个类别之间存在一些灰色区域。但由于过去的糟糕经历,许多组织在这方面变得更加谨慎。因此,针对组织中的每个流程分别做出决策。这里有一个警告:没有正确或错误的决定,只有组织的选择应该反映其业务战略。本文将重点介绍定制过程。自定义流程涉及构建流程自动化软件。这是“构建软件的软件”,可以大致分为两个方面(工具的性质和自动化的性质),如下图所示:流程自动化侧重于自动化流程的控制流程。它侧重于任务的顺序而不是单个任务。任务自动化使流程中的单个任务自动化,例如通过与某些系统集成。开发人员友好的工具无缝集成到典型的开发人员工具堆栈和流程中,但解决了开发人员流程自动化的特定问题(例如,提供流程状态的持久性、图形流程模型、流程模型的版本控制)。对开发人员友好的工具需要软件开发来构建解决方案。低代码工具允许非开发人员通过提供隐藏技术细节的复杂GUI和向导来自动化逻辑。这允许不同的角色来构建解决方案,但也限制了可能性并且需要使用专有知识。通过这两个维度,可以将工具分组到下面描述的主要存储区域中。低代码任务自动化的典型示例包括应用程序集成工具和机器人流程自动化(RPA):应用程序集成工具(如Zapier、IFTTT、Tray.io、Integromat等):事件发生时的操作,例如,在Trello插入完成时将新数据插入Airtable。其中一些工具超越了任务自动化,还提供了基本的流程自动化功能(例如tray.io)。机器人流程自动化(RPA)工具(如UiPath):机器人流程自动化(RPA)工具可以在不提供任何API的遗留系统中自动执行任务。它是关于屏幕抓取和模拟鼠标或键盘操作,类似于MicrosoftOfficeMacroRecorder。低代码任务自动化工具非常适合自行解决简单的集成问题,并有助于消除手动集成工作,例如将数据从系统A复制到系统B。即时业务价值是机器人流程自动化(RPA)成功的原因。然而,它的自动化范围可能更简单。重要的是要注意,由此产生的解决方案通常未经测试、不成熟且难以维护。许多解决方案专注于成功案例而忘记了异常,异常可能在生产中意外发生并且往往被忽略,从而使解决方案变得脆弱。开发人员友好的任务自动化以开发人员友好的方式自动化单个任务通常意味着不仅要利用软件开发,还要利用以下内容:系统、消息传递中间件和其他接口技术。批处理:自动化单个任务的经典方法是使用批处理作业,它将此任务应用于特定数据集中的每一行。事件驱动架构(EDA):组件可以在不知道数据来自何处的情况下对流程中的数据做出反应。它的常用工具包括ApacheKafka等事件代理。与低代码解决方案相比,对开发人员友好的解决方案需要软件开发人员的参与。另一方面,这些开发人员通常非常高效,因为他们可以在已知堆栈中工作。此外,由此产生的解决方案通常更稳定,可以解决更复杂的问题。逻辑链任务自动化任务自动化工具无法实现业务流程。然而,一系列机器人流程自动化、集成任务或事件订阅可能会形成一个逻辑链来实现业务流程。这带来了两个挑战:首先,流程没有持久性,这使得很难确定任何实例的当前状态。其次,逻辑控制流是不可见的,这使得这些架构难以理解和维护。两类工具专门用于提供对这些任务链的可见性:流程挖掘工具:这些产品可以帮助组织了解如何使用各种遗留工具实现流程自动化。通常,这涉及从这些系统加载和分析一堆日志文件、发现依赖关系和映射过程。流程事件监控工具:这些工具允许用户将事件映射到动态提供或发现的流程模型。与通常基于日志文件分析的流程挖掘不同,流程事件监控工具专注于摄取实时事件流,这可能来自事件驱动架构。低代码流程自动化流程自动化工具自动化多步骤流程的控制流。他们的关注点不再是单一任务,而是更多任务之间的交互。流程在本质上通常是长期运行的,这导致了其自身对工具的要求(持久性、操作工具等)。低代码工具旨在允许非开发人员实施这些流程。典型的工具类别包括:传统业务流程管理套件(BPMS):研究公司Gartner现在将其称为“智能业务流程管理套件”(iBPMS),该领域的工具包括Pega和Appian。集成平台即服务(iPaaS)工具:iPaaS产品提供了实现流程逻辑的基本可能性。示例包括Tray.io和ProcessStreet。机器人流程自动化(RPA)工具:机器人流程自动化(RPA)工具有时会被误用于流程自动化,因此不推荐使用。其中一些工具确实可以帮助实现简单流程的自动化。如果组织是一家初创公司,它可能熟悉一些典型的SaaS应用程序,然后使用iPaaS解决方案来处理它们。然而,这些方法在复杂的业务流程或集成场景中是不够的。人们经常发现,低代码产品往往无法兑现承诺,熟练的开发人员无法自己实现核心流程。因此,组织不得不要求IT部门指派专业的软件开发人员来完成这项工作,但这些方法不适用于复杂的业务流程或集成场景。开发人员友好的流程自动化有一些工具可以使软件开发人员有效地实施流程自动化项目:(1)开发人员友好的工作流引擎、流程编排器或微服务编排器,它们以三种形式出现:开源产品:具有企业版的轻量级工具可以从Camunda、JBossjBPM或Flowable等供应商处获得。拥有一个活跃的开源项目和社区,再加上依赖收入流的供应商的保证,是一个很好的组合。软件即服务(SaaS):许多工具以托管服务的形式提供,既可以简单地作为SaaS(例如AWSStepFunctions或GoogleWorkflow),也可以作为现有开源产品的托管版本(例如CamundaCloud)。重要的是要注意,当今大多数云计算提供商更多地关注集成而不是业务流程。开源项目:大型组织通常会开发自己的工具栈,其中包括工作流引擎。其中一些工具是在开源许可下提供的,但没有任何支持、保证或影响路线图的可能性。这些工具是特定于上下文的,因为它们是为特定组织而不是整个市场构建的。这方面的典型例子是NetflixConductor和UberCadence。(2)数字流程自动化(DPA):该类别基本上扩展了业务流程管理套件(BPMS)类别,以专注于数字化转型背景下的数字端到端流程。这一大类的界限并不明确。出于营销原因,此处列出的所有类别的供应商都需要实施数字流程自动化(DPA)。鉴于数字化和端到端流程自动化本质上很复杂,因此该类别属于对开发人员友好的流程自动化。有时,没有特定过程自动化支持的工具类别也会在过程自动化项目的上下文中进行评估。数据管道就是一个很好的例子。由于它们通常可以以图形方式建模,因此许多人将它们用于过程自动化。(3)数据管道(例如ApacheAirflow、SpringCloudDataFlow):这些工具具有不同的侧重点,因此缺乏流程自动化用例的重要功能,例如对循环等控制流结构的支持。此外,这些工具没有自己的持久化实现,因此流程实例的状态是流经管道的数据项。当然,也可以简单地对所有内容进行硬编码以实现流程自动化,从而产生自定义工作流引擎,这是应该避免的。结论考虑到上述想法,专家创建了下图,其中列出了本文涵盖的主要工具类别,以及一些示例性工具。因此,开发人员友好的工作流引擎是自动化复杂自定义流程的合适选择。低代码方法也有其优势,通常是在不需要太多管理的环境中自动执行单个任务或简单流程时。原标题:理解过程自动化格局,作者:BerndRuecker