2013-03-21 70 views
0

我正在從事與銀行領域相關的項目,其中我們使用的是用於BPM(工作流引擎)的weblogic JPD框架。按照需求對於新項目,我們需要使用開源BPM框架。我搜索了一下,發現了JBOSS JBPM。我擔心的是JBPM在大規模銀行應用中足夠穩定,不要誤解我的意思,因爲JBPM不是商業產品,因爲它是weblogic JPD。是否有任何其他開源BPM框架選項。是JBPM穩定的開源BPM框架

回答

6

這裏是我的2美分。我應該開始說,我是一個java小夥子,現在已經與jBPM合作了大約兩個月。我沒有翻遍代碼,我依賴(新的)jBPM 5書(這是體面的),在線用戶指南,這是體面的,和討論組的問題/答案。我是BPMN新手。我見過一些漂亮的商業工作流程產品。我敢肯定,如果你使用Google搜索,你會發現Activiti,但jBPM是我的域名體驗的程度。 1)對Kris沒有任何不敬,但我想知道jBPM的適應程度有多寬。請注意,頻繁的源提交;我的感覺完全取決於在線社區。例如,一些項目(例如Apache Camel)具有令人難以置信的文檔,最重要的是活躍的用戶羣。我覺得jBPM的「專業知識」領域非常小。我的意思是,如果你看看討論組,大部分問題的答案都來自大約六個人。值得慶幸的是,這些項目的開發/管理(如克里斯)都是非常重要的,所以他們非常有知識。他們知道需要深入瞭解代碼的小技巧(特殊鑄造,可以自動使用的變量等)。

2)對我而言,演示/示例僅適用於其特定的有限上下文。例如,安裝所有AS7和jBPM工具套件到端口8080上是一個單獨的命令,這要歸功於包含的ant腳本。但是,花了我數天的時間纔將它放在7070端口上。您看到的許多視頻的設置/複製比它們看起來要複雜得多。

3)你會使用規則嗎?不要以爲因爲你可以在jBPM中使用rules/drools,他們很好(或者至少直覺上)集成在一起。當它們被觸發時,它們的使用方式如何使用,除了最基本的情況外,在所有情況下都是一個混亂的源泉。

4)Drools Flow和jBPM項目在一年前合併。我不確定這是否相關,但我經常被jBPM和Drools之間的類命名類困惑,但是在不同的包中。您不會在文檔中找到包使用信息。例如,當我知道我可以訪問ProcessInstance時,通常我首先要做的是system.out類名,以查看它是哪個實現,因爲無論我是從規則訪問它還是工作項處理程序或腳本任務等。

5)我發現了一些元素,特別是與持久性有關的,有點kludgy。例如,如果你想獲得在你的會話中運行的進程列表(ksession),ksession.getProcessInstances()的效果很好......除非你使用了持久化 - 那麼,雖然你仍然可以調用它,但它會返回一個空的清單。在這種情況下,您必須求助於設置記錄器,並從日誌表中查找進程ID。這很容易做到,javadoc中有關於getProcessInstance的註釋,但我仍然認爲這很醜陋。

你似乎專注於開源。我不確定你是否有資格獲得發展,或者你是否會僱用某人。我會說,就像所有的開源代碼一樣,代碼是免費的,但實際上做的事情不會是。我在這裏預測,但我懷疑用jBPM開發一個大型產品會讓你的成本大大超出你的預期。此外,谷歌「jbpm無法伸縮」的關於可伸縮性的一個有趣的(和良好的)討論。

請不要以爲我是jBPM抨擊;我今天正在建設一個項目,這是一個非常「自由」和令人印象深刻的能力。祝你好運。 HTH