什麼是任務自動化與流程自動化? - infoworld
流程自動化可以使得複雜工作流程變成自動化,這個自動化流程中無需人工干預稽核,而任務自動化是自動執行某個任務的引擎。流程自動化與任務自動化是有區別的:
2015年,德國電信開始應用機器人流程自動化(RPA),它是整個流程自動化領域中眾多工具之一。隨著時間的流逝,該公司成功開發了一支由2500多個RPA“機器人”組成的軍隊。但是他們還必須瞭解,即使RPA的名稱是“流程自動化”,它也不能真正實現流程的自動化,而是實現任務的自動化。
這是一個常見的誤解,其根源在於流程自動化領域的複雜性,在該領域中,工具類別是多維的並且難以捕獲。在本文中,我將回答幾乎每天都被問到的問題(什麼是流程自動化?),並概述流程自動化領域發展情況。
為了簡潔起見,我將流程自動化的範圍縮小到以下範圍:
- 業務流程和數字流程:這是您從大多數公司瞭解的典型業務流程(例如客戶入職,索賠清算,貸款發起,訂單履行),通常跨越兩個不同的端到端系統。如今,“數字流程”一詞似乎很受歡迎,因為“業務流程”一詞通常被認為是老派。
- 整合流程:專注於系統或服務整合的流程,例如,在進行遠端通訊時協調微服務或保證一致性。
其他流程自動化用例顯然不在範圍內:
- 不受信任的參與者(例如獨立公司)之間的流程:這是區塊鏈的潛在設定。
- 基礎架構供應或IT自動化(例如Ansible,Terraform):這是具有專用工具的獨立域。
- 持續整合/持續交付(例如Jenkins,GitHub Workflows):CI / CD構建管道是軟體工程中的標準流程,由標準軟體實現自動化。
- 物聯網(例如,紅色的節點):物聯網用例通常透過專用工具解決,我將其歸類為任務自動化。為簡單起見,我將不在本文討論範圍之內。
現在,有兩種非常不同的數字或整合流程型別:
- 標準流程:每當您的公司不想透過流程進行區分時,您都可以購買商業現成的軟體(COTS),例如ERP,CRM或HR系統。在這種情況下,通常需要使工作流程適應該軟體。
- 量身定製的流程:某些流程是組織所特有的,因此需要針對組織的需求進行量身定製。儘管這些流程在不同組織中可能是相同的(例如,客戶入職,訂單管理,理賠),但是組織設計和實現它們的方式卻是獨特的,可以幫助他們在市場中脫穎而出。這使組織更具競爭力,可以更有效地開展業務,降低成本,增加收入,並轉變為更具數字化的業務。
自動化定製流程的軟體
量身定製的流程涉及構建用於流程自動化的軟體。這是“構建軟體的軟體”,可以按照兩個維度(工具的性質和自動化的性質)粗略分類,如下所示:
- 流程自動化關注自動化流程的控制流程。它著重於任務的順序,而不是單個任務。任務自動化可自動完成流程中的單個任務,例如,透過與某些系統整合。
- 對開發人員友好的工具無縫地整合在典型的開發人員工具堆疊和流程中,但是為開發人員解決了特定於流程自動化的某些問題(例如,提供了流程狀態的永續性,圖形化的流程模型,流程模型的版本控制)。開發人員友好的工具需要軟體開發才能構建解決方案。
- 低程式碼工具允許非開發人員透過提供複雜的圖形使用者介面和嚮導來隱藏隱藏的技術細節,從而實現自動化邏輯。這允許不同的角色來構建解決方案,但也限制了可能性,並且需要專有技術。
有了這兩個維度,您就可以將工具歸入下一部分所述的四個主要區域中。
低程式碼任務自動化
低程式碼任務自動化的典型示例包括應用程式整合工具和RPA:
- 應用整合工具(如Zapier,IFTTT,Tray.io,Integromat):當一些事件發生,例如插入新的資料到應用整合工具可以執行的操作Airtable當Trello完成卡。其中一些工具超出了任務自動化的範圍,還提供了基本的流程自動化功能(例如tray.io)。
- 機器人流程自動化(RPA)工具(例如UiPath):RPA工具可以在不提供任何API的舊系統中自動執行任務。這與螢幕抓取和模擬滑鼠或鍵盤操作有關,類似於Microsoft Office宏記錄器。
低程式碼任務自動化工具非常適合單獨解決簡單的整合問題,並有助於消除手動整合工作,例如將資料從系統A複製到系統B。即時業務價值是RPA如此成功的原因。
但是,自動化範圍必須足夠簡單。並請注意,生成的解決方案通常未經測試,幼稚且難以維護。許多解決方案將重點放在快樂的情況上,而忘記了例外情況,這些例外情況在生產中會意外受到打擊,並且常常不被注意。這會使解決方案變得脆弱。
開發人員友好的任務自動化
以對開發人員友好的方式自動化單個任務通常意味著不僅要利用軟體開發,還要利用以下各項:
- 整合框架(例如Apache Camel):整合框架使開發人員可以輕鬆完成某些任務,例如與檔案系統,訊息中介軟體和其他介面技術的通訊。
- 批處理:自動執行單個任務的經典方法是使用批處理作業,該作業將此任務應用於特定資料集中的每一行。
- 事件驅動體系結構(EDA):元件可以對流中的資料做出反應,而無需知道該資料來自何處。通用工具包括Apache Kafka之類的事件代理。
與低程式碼解決方案相比,開發人員友好型解決方案要求軟體開發人員參與其中。另一方面,這些開發人員通常非常有生產力,因為他們可以在他們已知的堆疊中工作。而且,所得解決方案通常更穩定,並且可以解決更復雜的問題。
連結任務自動化
任務自動化工具不能實現業務流程。但是,一系列RPA機器人,整合任務或事件訂閱可能會形成實現業務流程的邏輯鏈。這帶來了兩個挑戰。首先,流程沒有自己的永續性,這使得很難確定任何例項的當前狀態。其次,控制流邏輯到處可見,這使得這些架構難以理解和維護。
有兩類工具致力於提供對這些任務鏈的可見性:
- 流程挖掘工具:這些產品可以幫助您瞭解如何使用大量舊版工具實際實現流程自動化。通常,這涉及從這些系統載入和分析一堆日誌檔案,發現相關性以及對映流程。
- 流程事件監視工具:這些工具允許使用者將事件對映到即時提供或發現的流程模型。與通常基於日誌檔案分析的流程挖掘相反,流程事件監視著重於攝取實時事件流,這可能是由事件驅動的體系結構產生的。
低程式碼流程自動化
流程自動化工具使多步驟流程的控制流程自動化。他們的關注點不再是單個任務,而是更多地關注任務之間的相互作用。流程通常本質上是長時間執行的,這導致它們對工具有自己的要求(永續性,操作工具等)。
低程式碼工具旨在允許非開發人員實施這些流程。典型的工具類別包括:
- 傳統業務流程管理套件(BPMS):Gartner現在將其稱為“智慧” BPMS(iBPMS),該領域的工具包括Pega和Appian。
- 整合平臺即服務(iPaaS)工具: iPaaS產品提供了實現流程邏輯的基本可能性。例如Tray.io和Process Street。
- 機器人流程自動化(RPA)工具:有時會濫用RPA工具來使流程自動化。我強烈建議您不要這樣做,但為了完整起見,我想在此包括此選項。
其中一些工具確實可以幫助自動化簡單的流程。如果您是一家初創企業,則可能會熟悉一組典型的SaaS應用程式,然後使用iPaaS解決方案進行充分連線。但是,這些方法在複雜的業務流程或整合方案中是不夠的。
我經常發現,低程式碼產品無法兌現其承諾,而且技術嫻熟的公民開發人員也無法自己實現核心流程。結果,公司不得不回到求助於到他們的IT部門,並要求他們指派專業的軟體開發人員來完成這項工作,而這些工作反過來對專有的低程式碼堆疊沒有幫助。
開發人員友好的流程自動化
有一些工具可以使軟體開發人員有效地進行流程自動化專案:
- 對開發人員友好的工作流引擎,流程編排器或微服務編排器,有以下三種形式:
- 開源產品:與企業版本,購自供應商,例如輕量級的工具Camunda,JBoss的jBPM的,或flowable。擁有一個活躍的開源專案和社群,再加上依賴於收入流的供應商的保證,是一個很好的組合。
- SaaS:許多工具以託管服務的形式提供,或者僅作為SaaS提供,例如AWS Step Functions或Google Workflow,也可以作為現有開源產品(例如Camunda Cloud)的託管版本提供。請注意,目前大多數雲提供商都將重點更多地放在整合上,而不是業務流程上。
- 開源專案:較大的組織通常會開發自己的本地工具堆疊,包括工作流引擎。其中一些工具是在開放原始碼許可下提供的,但沒有任何可能的支援,保證或影響路線圖的可能性。這些工具是針對環境的,因為它們是針對某個特定組織而不是針對整個市場而構建的。著名的例子是Netflix Conductor和Uber Cadence,後者是相對較新的初創公司Temporal的基礎。
- 數字流程自動化(DPA):該類別基本上擴充套件了BPMS類別,以在數字轉換的背景下專注於數字端到端流程。這一廣泛類別的界限根本不清晰。這裡概述的所有類別的許多供應商都出於營銷原因要求DPA。鑑於數字化和端到端流程自動化本質上是複雜的,因此我將這一類別歸入對開發人員友好的流程自動化中。
有時,還會在流程自動化專案的上下文中評估沒有特定流程自動化支援的工具類別。資料管道就是一個很好的例子。由於它們通常可以圖形化建模,因此人們很想將它們用於流程自動化。
- 資料管道(例如Apache Airflow,Spring Cloud Data Flow):這些工具具有不同的重點,因此缺少流程自動化用例的重要功能,例如對諸如迴圈之類的控制流結構的支援。此外,這些工具沒有自己的永續性實現,因此流程例項的狀態是流經管道的資料項。
當然,也可以簡單地對所有內容進行硬編碼以使流程自動化,從而產生定製的工作流引擎,您應該避免使用它。
相關文章
- 自動化測試是什麼?
- 什麼是自動化測試?
- 什麼是AI超自動化?AI
- 如何做自動化測試?什麼是自動化測試?
- 專案管理軟體設定任務流程自動化專案管理
- 什麼是自動化運維?為什麼選擇Python做自動化運維?運維Python
- 什麼時候需要自動化什麼時候用自動化?
- 自動化測試是什麼?什麼軟體專案適合自動化測試?
- 前端流程自動化前端
- jenkins 自動化流程Jenkins
- 自動化框架到底是什麼?框架
- 為什麼要做自動化?
- 自動化運維是什麼意思?有什麼作用?運維
- 如何使用ChatGPT來自動化Python任務ChatGPTPython
- 介面自動化與ui自動化區別UI
- CRM自動化有什麼作用?
- 到底什麼是自動化優先思維?與RPA有什麼關係?
- [自動化執行]沒用過Ansible,你的自動化任務會考慮用它嗎?
- 自動化和AI 真正的區別是什麼?AI
- 自動化測試的生命週期是什麼?
- 自動化專項應當研究的是什麼,請教一個落地方向 (介面自動化)
- 使用gulp編寫常用自動化構建任務
- 自動化任務軟體:Macro Recorder Enterprise Mac版Mac
- 如何使用 cron 任務在 Linux 中計劃和自動化任務Linux
- 大家都用什麼做介面自動化
- devops系統自動化部署流程dev
- 資料是自動化與智慧化的基礎
- 製造和新的自動化技術是什麼?
- CRM系統自動化業務流程的好處
- CRM幫助實現銷售流程自動化有什麼作用?
- java自動化——web自動化複習JavaWeb
- java 自動化與 python 自動化哪種程式語言吃香?JavaPython
- 軟體自動化測試有什麼優勢?自動化測試框架有哪些?框架
- 分析BPM再進化:低程式碼與數字流程自動化
- DevOps 自動化實踐 - 定時任務監控的進化之路dev
- 自動化
- CRM銷售自動化有什麼作用?
- 輕鬆搞定專案流程自動化