天天看點

JBPM3中文使用者手冊——第一章:介紹

[譯:liuu   Blog: liuu.iteye.com E-mail: liuu9(a)163.com   歡迎交流指正,保留除複制外的其他權利,本譯文尚未征得原文作者同意]

1       介紹

JBoss jBPM是一個靈活的、可擴充的流程語言架構,而jPDL是基于這個公共架構之上的流程語言,這是一種直覺的流程語言,它使用任務、異步通訊等待狀态、定時器和自動動作等,圖形化地表述業務流程。為了将這些操作結合起來,jBPM使用了最強大的和可擴充的流控制機制。

jPDL依賴性極小,可以像使用普通Java庫一樣使用它。不過,通過部署到J2EE應用伺服器叢集上,它同樣可以在那些需要極限處理能力的苛刻環境下使用。

jPDL可以配置使用任何類型的資料庫,并部署到任意的應用伺服器上。

1.1    概述

核心的工作流和業務流程管理功能被打包在一個簡單的Java庫中,這個庫為向jBPM資料庫中儲存、更新和檢索流程資訊提供服務。

圖表 1.1jPDL元件概覽

JBPM3中文使用者手冊——第一章:介紹

1.2    jPDL套件

初學者工具包包含了全部的jBPM元件,并打包在一起友善下載下傳。包括:

l         config:為标準java環境準備的配置檔案

l         db:建立資料庫結構的SQL腳本

l         designer:圖形化編寫jpdl流程的eclipse插件

l         doc:使用者指南和Javadocs

l         examples:示例

l         lib: jbpm依賴的庫

l         server:預安裝好的JBoss伺服器,包含jbpm的web應用控制台

l         src:jbpm和身份(identity)元件的java源代碼

預配置的JBoss應用伺服器已經安裝如下元件:

l         Web控制台(web console):WAR包,Jbpm管理者和流程參與者,都可以使用這個控制台。

l         作業執行器(job executor),它執行定時器和異步消息。在Web控制台應用中,配置了一個Servlet上下文監聽器,用于啟動作業執行器,它維護一個線程池,監控并執行定時器和異步消息。

l         Jbpm資料庫表:程序内Hypersonic資料庫,包含了jBPM的表,

l         示例流程,已部署到jbpm資料庫。

l         身份元件,這是Web控制台的一部分。相關的表(以JBPM_ID_為字首的表)已經在資料庫建好。

1.3    jPDL圖形化流程設計器

jPDL還包含一套圖形化設計工具。這個設計器是一個用于編寫業務流程的圖形化工具,它是一個Eclipse插件。

圖形化設計工具是最重要特征,是它包含對業務分析人員和技術開發人員兩方面的工作支援,這使得我們可以平滑地從業務流程模組化轉化到實際的實作。

這個插件可以通過标準的Eclipse軟體更新機制從一個本地更新站點(一個普通zip檔案)安裝。在JBossTools、JBoss DeveloperStudio和SOA Platform中,也打包了jPDL圖形化流程設計器插件。

1.4    jBPM Web控制台

jBPMWeb控制台服務于兩個目的。首先,它作為一個主要的使用者接口,提供與流程執行過程中産生的運作時任務進行互動的能力;其次,它是一個管理和監控平台,允許檢視和操作運作時執行個體;第三個功能是業務活動監控(Business Activity Monitoring),對流程執行的統計,這些資訊,對于管理者找出瓶頸,或做出優化很有用。

1.5    jBPM核心元件

jBPM的核心元件是一個純Java(J2SE)軟體,用于管理流程定義和流程執行個體執行的運作時環境。

jBPM是一個Java庫。是以,它可以在任何java環境中使用,如Web應用、Swing應用、EJB、Web服務等等。jBPM庫也可以暴露為無狀态會話Bean(SLSB),這樣允許叢集式的部署和對極端高性能的可伸縮性。無狀态會話Bean以J2EE1.4規範編寫,是以可以部署到任何标準的應用伺服器上。

依據你使用的功能,jBPM核心元件包(lib/jbpm-jpdl.jar)可能依賴某些第三方的庫,如hibernate、dom4j等。我們做了極大的努力,讓你隻在必需的時候,才需要依賴這些庫。進步的依賴描述,見“第4章,部署”。

jBPM内部使用Hibernate進行持久。除了傳統的對象/關系映射,Hibernate還消除了不同資料庫和SQL方言之間的差異,使得jBPM可以跨所有流行資料庫移植。

jBPM API可以從你項目裡的任意自定義Java程式中通路,比如Web應用、EJB、Web服務元件、消息驅動Bean或其它Java元件。

1.6    jBPM身份辨別(identity)元件

JBoss jbpm能夠與任何包含使用者和其它機構資訊的公司目錄內建。但為了那些沒有簡易可用的機構資訊元件的項目,jBPM包含了這個元件。這個身份辨別元件中使用的模型,較之傳統的servlet-、ejb-和portlet模型更豐富。

更多資訊見“身份辨別元件”一節。

1.7    jBPM作業執行器

作業執行器是一個在标準Java環境下,監控和執行作業的元件。作業用來執行定時器和異步消息。在企業級環境中,JMS和EJB定時器服務也可以用于這個目的。但相對它們,作業執行器可以在沒有JMS或EJB的環境下使用。

作業執行器元件打包在核心jbpm-jpdl庫中,但它需要部署于下面環境之一:要麼在Web應用的部署描述符中,注冊作業執行器啟動程式(JobExecutorLauncher )Servlet上下監聽器,用于在Servlet上下文的建立和銷毀時,啟動和停止作業執行器;要麼啟動一個單獨的JVM運作作業執行器主程式。