Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2537031
  • 博文数量: 245
  • 博客积分: 4125
  • 博客等级: 上校
  • 技术积分: 3113
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-25 23:56
文章分类

全部博文(245)

文章存档

2015年(2)

2014年(26)

2013年(41)

2012年(40)

2011年(134)

2010年(2)

分类: Java

2011-08-11 12:43:28


from:

Chapter 1. Overview

1.7. Documentation

1.1. What is jBPM?

jBPM is a flexible Business Process Management (BPM) Suite. It's light-weight, fully open-source (distributed under Apache license) and written in Java. It allows you to model, execute and monitor business processes, throughout their life cycle.

JBPM是一个灵活的Java Business Process Management (业务流程管理)Suite。它是一个轻量级,完全开源的(基于Apache许可发布),它是用java写的。它允许你在业务流程的整个生命周期中建模,执行和监控。

A business process allows you to model your business goals by describing the steps that need to be executed to achieve that goal and the order, using a flow chart. This greatly improves the visibility and agility of your business logic. jBPM focuses on executable business process, which are business processes that contain enough detail so they can actually be executed on a BPM engine. Executable business processes bridge the gap between business users and developers as they are higher-level and use domain-specific concepts that are understood by business users but can also be executed directly.

一个业务流程允许你通过描述为了实现目标和order需要执行的步骤去建立你的业务目标模型。这大大的改善了业务逻辑的可见性和灵活性。jBPM focuses on 可执行的业务流程,它们是包含足够的细节的业务流程,因此他们能够在一个BPM引擎上准确的执行。可执行业务流程是业务用户和开发者之间的桥梁,他们就像是higher- level 和使用特定领域概念,业务用户可以理解使用特定领域的概念也能够直接执行。

The core of jBPM is a light-weight, extensible workflow engine written in pure Java that allows you to execute business processes using the latest BPMN 2.0 specification. It can run in any Java environment, embedded in your application or as a service.

jBPM的核心是一个轻量级,可扩展,用纯Java写的的工作流引擎,它允许你使用最近的BPMN2.0 规范去执行业务流程。它可以运行在任意java环境,嵌入你的应用程序或者作为一种服务。

On top of the core engine, a lot of features and tools are offered to support business processes throughout their entire life cycle:

在这个核心引擎之上,提供了很多特征和工具可以支持贯穿整个生命周期的业务流程:

 

  • Eclipse-based and web-based editor to support the graphical creation of your business processes (drag and drop)
  • Pluggable persistence and transactions based on JPA / JTA
  • Pluggable human task service based on WS-HumanTask for including tasks that need to be performed by human actors
  • Management console supporting process instance management, task lists and task form management, and reporting
  • Optional process repository to deploy your process (and other related knowledge)
  • History logging (for querying / monitoring / analysis)
  • Integration with Seam, Spring, OSGi, etc.

 

 

BPM makes the bridge between business analysts, developers and end users, by offering process management features and tools in a way that both business users and developers like it. Domain-specific nodes can be plugged into the palette, making the processes more easily understood by business users.

BPM是业务分析者,开发者和终端用户之间的桥梁,通过提供流程管理特性和工具,在某种程度上,业务用户和开发者都很like它。特定领域节点可以插入palette,使得业务用户能够更加容易理解流程。

jBPM supports adaptive and dynamic processes that require flexibility to model complex, real-life situations that cannot easily be described using a rigid process. We bring control back to the end users by allowing them to control which parts of the process should be executed, to dynamically deviate from the process, etc.

jBPM支持adaptive和动态流程,这要求对建立复杂,真实情景的模型具有灵活性。我们把控制重新交给终端用户,通过允许他们控制流程的那些部分需要执行,去动态的偏离流程。

jBPM is also not just an isolated process engine. Complex business logic can be modeled as a combination of business processes with business rules and complex event processing. jBPM can be combined with the Drools project to support one unified environment that integrates these paradigms where you model your business logic as a combination of processes, rules and events.

jBPM也不仅仅是一个孤立的流程引擎。复杂的业务逻辑可以被建模,按照业务流程和业务规则的结合以及复杂时间的处理。

Apart from the core engine itself, there are quite a few additional (optional) components that you can use, like an Eclipse-based or web-based designer and a management console.

除了核心引擎以为,有一些附加的(可选的)组件,如基于Eclipse 或基于web的设计器和管理控制台。

 

1.2. Overview


Figure 1.1. 

 

This figure gives an overview of the different components of the jBPM project. jBPM can integrate with a lot of other services as (and we've shown a few using grey bloxes on the figure) but here we focus on the components that are part of the jBPM project itself.

上图给出了jBPM项目的不同组件的一个概览。jBPM能够和许多其它的服务集成,这里我们主要关注jBPM自身的组件。

  • The process engine is the core of the project and is required if you want to execute business processes (all other components are optional, as indicated by the dashed border). Your application services typically invoke the core engine (to start processes or to signal events) whenever necessary.

流程引擎上这个吸纳购买的核心,如果你想要执行业务流程,它是必须的。你的应用程序服务通常在任何需要的时候调用核心引擎。

    • An optional core service is the history log, that will log all information about the current and previous state of all your process instances.

一个可选的核心服务是历史日志,它会记录所有与你的流程实例有关的当前和之前状态的信息。

    • Another optional core service is the human task service, that will take care of the human task life cycle if human actors participate in the process.

另一个可选的核心服务是human任务服务,它会在human角色参与流程是照顾human任务生命周期。

  • Two types of graphical editors are supported for defining your business processes:

支持两种类型定义业务流程的图形编辑器

    • The Eclipse plugin is an extension to the Eclipse IDE, targeted towards developers, and allows you to create business processes using drag and drop, advanced debugging, etc.

基于Eclipse插件

    • The web-based designer allows business users to manage business processes in a web-based environment.
    • 基于web的设计器
  • The Guvnor repository is an optional component that can be used to store all your business processes. It supports collaboration, versioning, etc. There is integration with both the Eclipse plugin and web-based designer, supporting round-tripping between the different tools.

Guvnor库是一个可选的组件,它可以被用于存储你的所有业务流程。它支持协同工作和版本控制。

  • The jBPM console is a web-based console that allows business users to manage their business processes (start new processes, inspect running instances), their task list and see reports.

jBPM控制台上一个基于web的控制台,它允许业务用户管理他们的业务流程(开始一个新流程,检查运行实例),他们的任务列表和查看报告。

Each of the components are described in more detail below.

 

1.3. Core Engine

The core jBPM engine is the heart of the project. It's a light-weight workflow engine that executes your business processes. It can be embedded as part of your application or deployed as a service (possibly on the cloud). It's most important features are:

核心jBPM引擎上这个项目的心脏。它是一个用于执行你的业务流程的轻量级的工作流引擎。它可以作为应用程序的一部分嵌入或者当作一种服务来发布(可能在云端)。它最重要的特征是:

  • Solid, stable core engine for executing your process instances
  • Native support for the latest BPMN 2.0 specification for modeling and executing business processes
  • Strong focus on performance and scalability
  • Light-weight (can be deployed on almost any device that supports a simple Java Runtime Environment, does not require any web container at all)
  • (Optional) pluggable persistence with a default JPA implementation
  • Pluggable transaction support with a default JTA implementation
  • Implemented as a generic process engine, so it can be extended to support new node types or other process languages
  • Listeners to be notified of various events
  • Ability to migrate running process instances to a new version of their process definition

稳定的引擎

很好的支持BPMN2.0

性能和可扩展性好

轻量级

可选的持久化插件

事物支持

作为一个通用的流程引擎,它能够扩展来支持新的节点类型或者其他的流程语言

事件与监听

可移植

The core engine can also be integrated with a few other (independent) core services:

  • The human task service can be used to manage human tasks when human actors need to participate in the process. It is fully pluggable and the default implementation is based on the WS-HumanTask specification and manages the life cycle of the tasks, task lists, task forms and some more advanced features like escalation, delegation, rule-based assignments, etc.
  • The history log can store all information about the execution of all the processes on the engine. This is necessary if you need access to historic information as runtime persistence only stores the current state of all active process instances. The history log can be used to store all current and historic state of active and completed process instances. It can be used to query for any information related to the execution of process instances, for monitoring, analysis, etc.

 

核心引擎还能偶和一些其他的(独立的)核心服务集成:

     Human任务服务

历史日志

1.4. Eclipse Editor

The Eclipse editor is an plugin to the Eclipse IDE and allows you to integrate your business processes in your development environment. It is targeted towards developers and has some wizards to get started, a graphical editor for creating your business processes (using drag and drop) and a lot of advanced testing and debugging capabilities.

Eclipse 编辑器是一个Eclipse IDE的插件,它允许你将你的业务流程集成在开发环境中。它是给开发者使用的,它有一些使用向导,一个可以通过拖拽来创建业务流程的图形编辑器和很多高级测试和debug能力。

Figure 1.2. Eclipse editor for creating BPMN2 processes

1.5. Web-based Designer

The web-based designer allows you to model your business processes in a web-based environment. It is targeted towards more business users and offers a graphical editor for viewing and editing your business processes (using drag and drop), similar to the Eclipse plugin. It supports round-tripping between the Eclipse editor and the web-based designer.

基于web的设计器允许你在基于web的环境中建立你的业务流程模型。它主要是给业务用户提供一个图形编辑器,来查看和编辑业务流程,和Eclipse插件类型。它支持在Eclipse编辑器和基于web的设计器直接切换。

Optionally, you can use one or more knowledge repositories to store your business processes (and other related artefacts). The web-based designer is integrated in the Guvnor repository, which is targeted towards business users and allows you to manage your processes separately from your application.

可选的,你可以使用一个或多个知识库来存储你的业务流程(和其他相关的加工品)。基于web的设计器集成在Guvnor库里,它的目的是允许你管理你的业务流程。

 

1.6. jBPM Console

Business processes can be managed through a web console. It is targeted towards business users and its main features are:

业务流程可以通过一个web控制台来管理。它的目标是业务用户。它的主要特征如下:

  • Process instance management: the ability to start new process instances, get a list of running process instances, visually inspect the state of a specific process instances, etc.
  • Human task management: being able to get a list of all your current tasks (either assigned to you or that you might be able to claim), completing tasks on your task list (using customizable task forms), etc.
  • Reporting: get an overview of the state of your application and/or system using dynamically generated (customizable) reports, that give you an overview of your key performance indicators (KPIs).

流程实例管理

Human任务管理

报表

1.7. Documentation

The documentation is structured as follows:

文档的组织结构如下:

  • Overview: the overview chapter gives an overview of the different components
  • Getting Started: the getting started chapter teaches you where to download the binaries and sources and contains a lot of useful links
  • Installer: the installer helps you getting a running demo setup including most of the jBPM components and runs you through them using a simple example and some 10-minute tutorials including screencasts
  • Core engine: the next 4 chapters describe the core engine: the process engine API, the process definition language (BPMN 2.0), persistence and transactions, and examples
  • Eclipse editor: the next 2 chapters describe the Eclipse plugin for developers, both the old one and the new BPMN 2.0 tooling which is being developed
  • Designer: describes the web-based designer that allows business users to edit business processes in a web-based context
  • Console: the jBPM console can be used for managing process instances, human task lists and reports
  • Important features
    • Human tasks: When using human actors, you need a human task service to manage the life cycle of the tasks, the task lists, etc.
    • Domain-specific processes: plug in your own higher-level, domain-specific nodes in your processes
    • Testing and debugging: how to test and debug your processes
    • Process repository: a process repository could be used to manage your business processes
  • Advanced concepts
    • Business activity monitoring: event processing to monitor the state of your systems
    • Flexible processes: model much more adaptive, flexible processes using advanced process constructs and integration with business rules and event processing
    • Integration: how to integrate with other technologies like maven, OSGi, etc.

 

 

 

阅读(754) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~