0

我正在从事与银行领域相关的项目,其中我们正在为 BPM(工作流引擎)使用 weblogic JPD 框架。对于根据要求的新项目,我们需要使用开源 BPM 框架。我搜索了一下,发现了 JBOSS JBPM。我担心的是 JBPM 是否足够稳定,可以在大型银行应用程序中使用,不要误会我的意思,因为 JBPM 不是 weblogic JPD 那样的商业产品。是否有任何其他开源 BPM 框架选项。

4

2 回答 2

7

Here are my 2 cents. I should start by saying, I am a java guy who has been working with jBPM for about two months now. I have NOT plowed through the code, I rely on the (new) jBPM 5 book (which is decent), the online user guide, which is decent, and the discussion group question/answers. I am new to BPMN. I have seen a few pretty slick-looking commercial workflow products. I'm sure if you've googled, you have found Activiti, but jBPM is the extent of my domain experience.

1) No disrepect to Kris, but I wonder about how wide the adaptation of jBPM is. Note, there are frequent source commits; my feeling is based solely on the online community. For example, some projects (e.g. Apache Camel) have incredible documentation and most importantly an active user base. I feel the jBPM realm of "expertise" is pretty small. By that I mean if you look at the discussion group, most of the answers to questions come from only about a half dozen people. Thankfully most of these are neck deep in the project's development/management (like Kris), so they are knowledgeable. They know the little tricks (special casting, variables that can be used automagically, etc.) that require intimate knowledge of the code.

2) For me, the demos/examples only work in their specific limited context. For example, to install all of AS7 and the jBPM tool suite on port 8080 is a single command thanks to the included ant script. However, it took me days to stand it up on port 7070. Many of the videos you see are far more complicated to set up/ replicate than they appear.

3) Will you be using rules? Don't think that because you can use rules/drools with jBPM, they are well (or at least intuitively) integrated. Their use, when they are triggered, how they can be used, are a constant source of confusion in all but the most rudimentary cases.

4) Drools Flow and jBPM projects integrated about a year ago. I'm not sure if that is related, but I am often confused by similarly named classes between jBPM and Drools, but in different packages. You wont find package usage information in the documentation. For example, when I learn that I have access to a ProcessInstance, typically the first thing I do is system.out the class name to see which implementation it is because the capability varies wildly whether I'm accessing it from a rule, or workitem handler, or script task, etc.

5) I find the some elements, especially relating to persistence, somewhat kludgy. For example, if you want to get list of the processes running in your session (ksession), ksession.getProcessInstances() works great....unless you're using persistence - then, while you can still call it, it returns an empty list. In that case you have to resort to setting up a logger, and finding the process id from the log table. That is all easy to do, and there is a note in the javadoc about getProcessInstance, but I still think that's pretty ugly.

You seem focused on open source. I'm not sure if you are being paid to develop or if you will be hiring someone. I'd say that like all open source, the code is free, but to make it actually do something wont be. I'm projecting here, but I suspect development of a large-scale product with jBPM will cost you significantly more than you expect. Also, google "jbpm can't scale" for an interesting (and good) discussion about scalability.

Please don't think I am jBPM bashing; I am building a project with it today, and it's an awful lot of "free" and impressive capability. Good luck. HTH

于 2013-04-15T19:29:31.807 回答
0

It is used in a lot of places in production.

And it is also a commercial product, Red Hat is selling subscriptions as part of the BRMS / BPMS platform: http://www.redhat.com/products/jbossenterprisemiddleware/business-rules/

于 2013-03-21T20:27:45.987 回答