Activiti7官方博客翻譯2——概述


Activiti Cloud是第一個雲原生BPM框架,用於為雲環境中的BPM實現提供可伸縮和透明的解決方案。

BPM規程的創建是為了更好地理解組織如何工作,以及如何以迭代的方式改進這些工作。BPM套件的設計基於公司將托管一個中央BPM服務器,該服務器將負責自動化和監視其業務流程。這種方法在現代組織中引起了一些挫折,下面的列表突出了采用BPM套件為中型組織所代表的一些痛點:

  • BPM套件構建在組織內部的IT部門(軟件)不需要知道的技術堆棧之上
  • BPM套件通常不能很好地與其他生態系統集成
  • 用戶需要學習一個全新的工具集來完成這項工作
  • 負責BPM套件將運行的基礎設施的部門並不知道它的需求。對於需要了解BPM套件如何工作以優化數據庫的dba來說也是如此。
  • BPM套件提供的用戶界面通常不夠靈活。許多BPM實現最終需要多個用戶界面的重新實現
  • BPM套件采用通常是由業務推動的,而不是由組織內部的軟件開發團隊支持的,這種摩擦會導致實現過程中的延遲和問題。

大多數這些痛點的出現是因為BPM套件強加了一整套技術,推動組織適應這些技術。這當然會導致排斥、痛苦和沮喪。

隨着雲環境/平台和工具的興起,這些環境(如微服務、容器和服務編排器)的采用越來越方便,BPM套件現在不得不重新設計自己,以便很好地適應這些環境。

容器有助於減輕技術方面的痛苦。我們現在負責的容器,隱藏了運行在其中的任何軟件。但是容器是不夠的。BPM套件的主要問題是,它們中的大多數都被設計為單體,促使采用者孤注一擲。另一方面,您將發現開源BPM框架的目標是盡可能通用,以支持廣泛的開發和部署場景。通過這樣做,這些項目在使用、維護和適應不同的體系結構方面都很麻煩。由於這種通用的方法,開源BPM框架將太多的決策委托給實現解決方案的人,迫使他們不僅要了解框架的內部,還要做出只有專家才能准確做出的復雜決策。

Activiti Cloud試圖將Activiti流程引擎精簡到最低限度,並盡可能保持它的單焦點。同時,Activiti Cloud為大多數BPM實現提供了一組定義良好且集中的服務。這些服務中的每一個都可以使用,但是它們都是相互獨立的。您可以選擇需要什么,不需要什么,如果提供的實現不符合您的需求,甚至可以替換實現。

從Activiti Cloud的角度來看,流程運行時的主要目標是理解(解析)BPMN 2.x業務流程定義並自動執行它們(運行時/流程執行)。

  • 流程運行時不應該擔心:
  • 流程定義存儲在哪里
  • 處理流程版本和更改
  • 身份管理
  • 單點登錄
  • 工作執行
  • 定時器機制
  • 提供系統到系統的集成機制
  • 發送郵件
  • 存儲歷史記錄/審計信息,並提供查詢此信息的方法
  • 使用引擎生成的數據的客戶機的性能
  • 推送關於系統狀態變化的通知

基於此列表的過程運行時不應該做的事情,我們已經創造了一個不同的Activiti Cloud組件,采用第三方組件,將與流程交互運行時提供所有的這些功能,當我們想要實現一個BPM項目需要90%的時間。

Activiti Cloud的設計目的是支持零停機部署(例如kubernetes滾動更新、canary發行版、A/B測試),並從您開始實現時就使用可生產的組件進行伸縮。Activiti Cloud使在現代基於雲的平台上使用Activiti變得很自然。

我們還確保使用我們的工具對於不同的角色(開發人員/ DevOps /最終用戶)來說是很自然的:

  • Spring Boot / Spring Cloud:如果您已經在使用這些技術,那么將Activiti Cloud添加到組合中應該很簡單
  • 如果您正在研究Kubernetes和Docker等技術,那么我們的所有組件都可以使用,並與這些環境的需求保持一致。
  • 如果您想更改/定制一些提供的開箱即用組件,您可以使用我們的* -cloud-starter。
  • 如果您想更改底層技術堆棧,例如將RabbitMQ切換到ActiveMQ或Kafka,您可以這樣做,因為我們依賴於Spring雲抽象層。
  • 如果您擔心流程/應用程序遷移和更新,您可以依賴行業標准的方法來處理容器版本和數據遷移,而不是處理顯式為流程運行時編寫的復雜遷移工具。
  • 如果您已經擁有了一個持續集成/部署管道,那么您可以使用這些工具集成BPM特定的塊。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM