您将如何用 Java 开发工作流应用程序?
我想开发一个应用程序,允许用户定义工作流程然后执行它们。
我的环境是 JBoss,所以我自然会考虑 jBPM。
我无法使用 jBPM 图形工作流程设计工具,因为我的工作流程非常具体,而且我不想让我的用户接触所有 jBPM 功能。
问题:
- jBPM 是否健壮且可扩展?
- jBPM 是否标准(即被足够多的人使用)?
- 如何将我自己的工作流 GUI 绑定到 jBPM 引擎?
- jBPM 适合这项工作吗?我应该考虑不同的平台还是自己做(工作流程逻辑)?
I want to develop an application that allows its users to define workflows and then executes them.
My environment is JBoss so naturally I'm considering jBPM.
I can NOT use the jBPM graphic workflow design tools since my workflows are very specific and I don't want to expose my users to all jBPM features.
Questions:
- Is jBPM robust and scalable?
- Is jBPM standard (i.e., used by enough people)?
- How do I tie my own workflow GUI to the jBPM engine?
- Is jBPM suitable for the job, should I consider a different platform or maybe do it (the workflow logic) myself?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
jBPM 健壮且可扩展吗?
Ans:是的,Jbpm 非常强大且可扩展。 需要正确配置/开发..
jBPM 是否标准(即被足够多的人使用)?
Ans:你需要到jbpm论坛询问。
如何将我自己的工作流 GUI 绑定到 jBPM 引擎?
Ans: 您需要为每个工作流程开发processConfiguration文件,并部署
这些配置文件(xml 文件),这会更新 jbpm 相关表和您的
工作流程相关表。
jBPM 适合这份工作吗?我应该考虑使用不同的平台还是应该这样做
(工作流程逻辑)我自己?
Ans:它适合大型工作流程(其中阶段/节点和逻辑更多)。
并且易于与规则引擎集成。
Is jBPM robust and scalable?
Ans: Yes, Jbpm is robust and scalable. Need to configure/develop properly..
Is jBPM standard (i.e., used by enough people)?
Ans : You need to ask with jbpm forum.
How do I tie my own workflow GUI to the jBPM engine?
Ans : You need to develop processConfiguration file for each workflow, and deploy
these config file(xml file), this updates jbpm related tables and your
workflow related tables.
Is jBPM suitable for the job, should I consider a different platform or maybe do it
(the workflow logic) myself?
Ans : Its suitable for big workflows( where the stages/Nodes and logic are more).
And easy to Integrate with rule engine.
不是对您问题的直接答案,但我认为您还应该考虑:
Not a direct answer to your question, but I think you should also take into consideration:
在jBPM主页阅读:
jBPM jPDL API 文档概述
Readed at jBPM main page:
jBPM jPDL API docs overview
是的,您有多种选项可以将引擎扩展到大量流程定义、流程实例和/或每秒请求。
很难定义标准;)但是,例如上周它有数千次下载,并且它尽可能地使用标准,例如用于流程定义的 BPMN 2.0 规范,这是目前几乎所有 BPM 供应商都在引入的标准。
取决于 GUI 的用途。 假设您正在使用 GUI 来定义流程定义,并且您不想使用默认提供的基于 Eclipse 或基于 Web 的编辑器,您可以:
- 使用您喜欢的任何 GUI,只要它生成 BPMN2 XML,然后流程引擎就可以读入该 XML
- 你的 GUI 使用流程流畅的 Java API 来使用 Java 创建流程,然后也可以将其加载到引擎中
尝试自己创建一个简单的工作流引擎可能比您想象的要花费更多的精力,因为您可能一开始很简单,但通常最终会添加持久性、监视、集成、动态加载新流程定义和流程实例迁移等功能,并且最终得到一个您必须维护的自行开发的工作流引擎;)您可以通过 jBPM 获得这些开箱即用的功能。
克里斯
Yes, you have a wide range of options to scale your engine to a large number of process definitions, process instances and/or requests/second.
Difficult to define standard ;) But it had for example several thousand downloads last week, and it uses standards as much as possible, like the BPMN 2.0 specification for process definitions, a standard that is currently being introduced by almost all BPM vendors.
Depends what the GUI is for. Assuming you are referring to a GUI for defining the process definitions and you don't want to use the Eclipse-based or web-based editors that are offered by default, you can:
- use any GUI you like as long as it generates the BPMN2 XML, that can then be read in by the process engine
- your GUI uses the process fluent Java API to create processes using Java, which can then be loaded into the engine as well
Trying to create a simple workflow engine yourself probably takes more effort than you might think, as you might start out simple, but usually end up adding features like persistence, monitoring, integration, dynamically loading new process definitions and process instance migration, etc. and end up with a home-grown workflow engine you have to maintain ;) You get these features out-of-the-box with jBPM.
Kris