JBoss BRMS最佳实践– BPM流程初始化层的提示
介紹
首先,我們需要仔細研究景觀,然后像洋蔥一樣剝開圖層,仔細研究如何提供可擴展的BPM項目。 圖1顯示了我們需要集中注意力的幾個組件層:
- 流程初始化層
- 流程實施層
- 流程資料庫
- 業(yè)務(wù)用戶和開發(fā)人員的工具
- 控制臺,報告和BAM儀表板
- 流程交互層
|
本文將介紹流程初始化層,在此我將向您介紹一些最佳實踐,圍繞您,您的客戶以及如何啟動流程。
在流程存儲庫,工具,業(yè)務(wù)用戶和設(shè)計流程的開發(fā)人員的幫助下,流程實現(xiàn)層是維護流程的地方。 在這里,您還將找到各種實現(xiàn)細節(jié),例如特定領(lǐng)域的擴展,以涵蓋我們項目中特定節(jié)點的類型。 稍后將介紹該層的最佳實踐。
控制臺,報告和BAM儀表板組件是項目中使用的擴展工具,用于提供可用于影響業(yè)務(wù)決策的業(yè)務(wù)價值或信息。 稍后將介紹該領(lǐng)域的最佳做法。
最后,在流程交互層中,您的流程將連接到各種形式的遺留系統(tǒng),后臺系統(tǒng),服務(wù)層,規(guī)則系統(tǒng)甚至第三方系統(tǒng)和服務(wù)。 該領(lǐng)域的最佳實踐將在以后的文章中介紹。
|
流程初始化層
看一下如何初始化流程,我想向您提供一些我多年來在大型企業(yè)中看到的最佳實踐。
似乎有一個主要主題是收集啟動流程所需的客戶,用戶或系統(tǒng)數(shù)據(jù),然后通過startProcess調(diào)用將其注入。 可以通過BRMS jBPM API調(diào)用,使用RESTful服務(wù)或通過標準Java Web服務(wù)調(diào)用將其嵌入到您的應(yīng)用程序中。 無論您如何收集數(shù)據(jù)以初始化流程實例,都可能要考慮從一開始就如何擴展初始化設(shè)置。 通常,最初的項目設(shè)置時對未來沒有太多考慮,因此某些問題沒有被考慮在內(nèi)。
顧客
此處定義的客戶可以是提供初始過程啟動數(shù)據(jù)的人員,系統(tǒng)或某些用戶。 在圖2中,我們對客戶如何提供過程數(shù)據(jù)進行了高層次的研究,然后將這些過程數(shù)據(jù)打包成一個請求,以放入一個過程隊列中。 然后,我們可以從隊列中確定優(yōu)先級,并讓不同的機制獲取這些流程請求,并使用提供的請求數(shù)據(jù)啟動流程實例。 我們在此處顯示了EJB,MDB和云,它們表示可以用來清空進程隊列的任何調(diào)度方式。
Queue列
這些隊列可以像數(shù)據(jù)庫表一樣簡單,也可以像消息隊列一樣完善。 可以按照項目需要的任何方式進行設(shè)置,例如后進先出(LIFO)或先進先出(FIFO)。 使用消息隊列的好處是,您可以通過輪詢機制確定它們的優(yōu)先級。
此設(shè)置的原因有兩個。 首先,您通過不直接從客戶界面啟動流程實例來確保您保留了客戶請求。 它將永遠不會丟失到流程引擎。 其次,您可以對可能無法滿足項目要求的未來流程進行優(yōu)先級排序,例如必須在客戶提交后10秒鐘內(nèi)開始的新流程請求。 如果將其放在需要花費一個小時才能處理的隊列的底部,那么您就遇到了問題。 通過對隊列進行優(yōu)先級排序,您可以調(diào)整輪詢機制以每次以正確的順序檢查適當?shù)年犃小?
Java /云
圖2中的Java圖標代表您可能想用來處理進程隊列的任何JEE機制。 它可以是EJB的,MDB的,您自己編寫的調(diào)度程序或您想拿出的任何程序來拾取流程請求。
云圖標旨在表示服務(wù),您的軟件可以使用這些服務(wù)來實際調(diào)用最終的startProcess方法,以初始化所請求的流程實例并將其傳遞給初始數(shù)據(jù)。 將與jBPM API的交互集中到一個服務(wù)中很重要,這樣可以確保在API更改的情況下進行最少的工作,以便將來進行可能的版本遷移,并且如果您希望在將來的項目中進行擴展,以擴展與jBPM的服務(wù)交互。
結(jié)論
本文簡要介紹了高級BPM體系結(jié)構(gòu),并列出了交互的各個層次。 在較大的企業(yè)BPM體系結(jié)構(gòu)中,交互的第一層是初始化層,以提供對該層內(nèi)最佳實踐的一些見解。 討論不是試圖推動實現(xiàn)細節(jié),而是退后一步,介紹在大型BPM體系結(jié)構(gòu)中反復(fù)遇到的一些基本元素。 它涵蓋了客戶最初提交的處理請求,處理請求的排隊以及以一致且可擴展的方式處理這些隊列。 在以后的文章中,流程實現(xiàn)層,流程交互層,流程存儲庫,工具以及報告和BAM層中還有更多內(nèi)容需要關(guān)注。
參考: JBoss BRMS最佳實踐–來自我們的JCG合作伙伴 Eric D. Schabell的BPM流程初始化層的提示, 有關(guān)中間件,Linux,軟件,騎行和其他新聞的思想…博客。
翻譯自: https://www.javacodegeeks.com/2012/08/jboss-brms-best-practices-tips-for-your.html
總結(jié)
以上是生活随笔為你收集整理的JBoss BRMS最佳实践– BPM流程初始化层的提示的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 车改色备案需要什么手续(车改色备案)
- 下一篇: c 编译器(c 编译 linux)