jBPM 5.4 發布,Java工作流引擎
下載:
文檔:
http://docs.jboss.org/jbpm/v5.4/userguide/
API 和 JavaDocs:
API 和 JavaDocs:
jBPM,全稱是Java Business Process Management,是一種基于J2EE的輕量級工作流管理系統。jBPM是公開源代碼項目,它使用要遵循 Apache License。jBPM在2004年10月18日,發布了2.0版本,并在同一天加入了JBoss,成為了JBoss企業中間件平臺的一個組成部分,它的名稱也改成JBoss jBPM。隨著jBPM加入JBoss組織,jBPM也將進入一個全新的發展時代,它的前景是十分光明的。
jBPM最大的特色就是它的商務邏輯定義沒有采用目前的一些規范,如WfMC's XPDL, BPML, ebXML, BPEL4WS等,而是采用了它自己定義的JBoss jBPM Process definition language (jPdl)。jPdl認為一個商務流程可以被看作是一個UML狀態圖。jPdl就是詳細定義了這個狀態圖的每個部分,如起始、結束狀態,狀態之間的轉換等。
jBPM的另一個特色是它使用Hibernate來管理它的數據庫。Hibernate是目前Java領域最好的一種數據持久層解決方案。通過Hibernate,jBPM將數據的管理職能分離出去,自己專注于商務邏輯的處理。
以下是這次發布的一些新的亮點:
jBPM最大的特色就是它的商務邏輯定義沒有采用目前的一些規范,如WfMC's XPDL, BPML, ebXML, BPEL4WS等,而是采用了它自己定義的JBoss jBPM Process definition language (jPdl)。jPdl認為一個商務流程可以被看作是一個UML狀態圖。jPdl就是詳細定義了這個狀態圖的每個部分,如起始、結束狀態,狀態之間的轉換等。
jBPM的另一個特色是它使用Hibernate來管理它的數據庫。Hibernate是目前Java領域最好的一種數據持久層解決方案。通過Hibernate,jBPM將數據的管理職能分離出去,自己專注于商務邏輯的處理。
以下是這次發布的一些新的亮點:
Simulation
We've added simulation capabilities to the web-based process designer, that allows you to simulate how a process might behave at runtime. This includes the addition of various simulation-related properties (like resources and duration-related attributes for tasks, and probabilities for diverging gateways etc.). Our implementation is based on the specification created by the BPSWG (Business Process Simulation Working Group).
Based on these properties, you can run a number of instances of your process and:
- Use the path finder to look at all identified paths
- Look at the generated charts containing information about minimal, maximum and average completion times, etc. using (horizontal and vertical barcharts, pie charts or tables.
- Check the timeline to get an overview of all the recorded events
Maciej did a blog recently on the ideas and concepts behind it, and Tihomir did a blog, including a 12-minute video, that shows simulation in action.
Local task service
When human actors participate in a business process (also known as human workflow), a task service is used to manage the life cycle of the tasks (claiming, completing, task lists, etc.). While we supported the use of a centralized task service (using HornetQ for remoting), we now also support a local version that runs as a simple Java component next to the engine and all the work it does is synchronous and nicely integrated with the transaction of the process engine.
org.jbpm.task.service.TaskService taskService = new org.jbpm.task.service.TaskService( emf, SystemEventListenerFactory.getSystemEventListener()); LocalTaskService localTaskService = new LocalTaskService(taskService); LocalHTWorkItemHandler humanTaskHandler = new LocalHTWorkItemHandler( localTaskService, ksession, OnErrorAction.RETHROW); humanTaskHandler.connect(); ksession.getWorkItemManager().registerWorkItemHandler( "Human Task", humanTaskHandler);
Spring
We have improved our Spring support, where you can use a Spring configuration file to configure your environment and inject a ksession and/or task service into your application code. For transactions, it integrates with the Spring transaction manager, supporting both JTA and RESOURCE_LOCAL with shared entity manager factory (emf) or shared entity manager (em).
JPA2
jBPM runtime persistence can now also use JPA2 for persistence. That means it is completely independent of the underlying persistence provider (we use Hibernate by default but other persistence providers should be possible as well). You can use Hibernate4 with JPA2 for even better performance. For all the details on how to do this, here's a link to a persistence configuration file for both JPA1 and JPA2.
Some of the other features
- Improvements on some of the BPMN 2.0 constructs in the core engine, related to error events, terminating end events in sub processes,
- Introduction of a business calendar related to timers etc.
- The ability to start a process by name, which will automatically start the latest version of that process.
- We created separate wars for EE6 (AS7) and EE5 (AS5) to avoid a lot of manual dependency management. JBoss AS 7.1.1 is now the new default application server in the installer.
- Improved support for invoking web services from inside your processes.
- A database-backed solution for managing which users are part of which group (UserGroupCallback).
- When configuring handlers for domain-specific services, the ksession is automatically injected as an optional constructor parameter in the handler configuration file.
jBPM 5.4.0.Final has been released in sync with the latest Drools 5.5.0.Final release.
If you have any questions / issues, let us know:
- Ask questions on IRC: chat.freenode.net:6667 #jbpm (there is a web-based client available here)
- Create a JIRA issue: https://issues.jboss.org/browse/JBPM
- Ask the community in the forum
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!