業務流程引擎是支持業務流程集成方法的核心組件,通常基于Java,為部署EAI、互聯網B2B、EDI和業務流程管理項目提供了高性能的靈活性、可擴展性和一致的環境。我們把業務流程引擎執行集成活動稱為服務。
幾乎任何類型的活動都可以成為業務流程引擎中的一項服務。所有這些服務都實現了某種預定義類型的集成活動。業務流程引擎執行的服務活動示例包括:
1.與外部應用程序或中間件通信(使用稱為適配器的特殊服務);
2.執行數據操作,例如翻譯、轉換、拆分和連接。
3.根據內容或其他標準傳遞數據;
4.向業務流程相關者發布數據,觸發新的業務流程或允許正在運行的流程繼續;
5.執行一項或多項B2B協議;
6.啟動業務流程;
7.對SQL(結構化查詢語言)數據庫表執行操作;
8.在其他自動化流程中實現人機交互。
業務流程引擎運行的服務在系統創建和修改的已定義業務流程模型中進行配置。業務流程是完成業務目標的一系列鏈接活動,稱為服務,即構成業務流程的工作模塊。服務必須完成,業務流程才能成功運行。業務流程模型可以是簡單的線性配置,或者包含一個或多個決策點,需要人工或系統確定流程中的后續步驟。
通常,創建業務流程模型的高級流程包括:
1.分析業務需求
2.確定實現目標必須涉及的服務、適配器和組件
3.配置業務流程中使用的服務和適配器
4.測試業務流程
當數據通過輸入適配器進入系統時,業務流程引擎會自動選擇適當的業務流程模型來運行。當輸入適配器從外部系統接收數據時,業務流程引擎會定位要調用的一個或多個適當的業務流程,并啟動該流程或將傳入的數據傳遞給已在運行的適當流程。
以下是在文檔在BPM中,業務流程引擎如何執行業務流程中步驟的示例:
1.通過適配器接收業務消息或文檔。
2.業務流程引擎根據文檔的內容確定接下來需要啟動的服務,并正式啟動。
3.適配器將消息或文檔以及其他適當的流程狀態信息放在隊列中,以便在選定的業務流程中提供適當的服務。
4.適當的服務從隊列中檢索初始業務流程狀態信息并處理業務流程中的下一步。
業務流程中的每個服務都會更新業務流程狀態信息,并創建相關數據的副本或指向數據的指針,以實現流程可恢復性。它可以將業務流程狀態信息與數據一起發送到特定應用程序,是業務流程中不可或缺的核心組件。