[導入]jBPM 3.2 用戶指南 第1章 導論
JBoss jBPM 是一個靈活的、可擴展的流程語言框架。jPDL是一種建立在這個公共框架之上的流程語言。它是一種直觀的流程語言,用任務(tasks)、異步通訊的等待狀態(wait states)、定時器(timer)、自動化的動作(action)……等術語來圖形化地表示業務流程。jPDL擁有最強有力的、可擴展的控制流機制把這些操作結合在一起。 jPDL的依賴性非常小,能夠像使用一個java類庫一樣容易地使用它。但是,通過把它部署在一個J2EE集群的應用服務器中,也能夠把它用在需要極大的吞吐量的環境中。 jPDL能夠配置使用任何類型的數據庫,部署在任何應用服務器中。 概覽 工作流和BPM的核心功能被打包成一個簡單的java類庫。這個類庫包含一個服務,用于管理和執行保存在iPDL數據庫中的流程。 圖1.1 jPDL組件概覽 jPDL套件 本套件包含所有的jBPM組件,打包成一個易于下載的文件形式。它內部包括下列文件夾: config, 用于標準java環境的配置文件。 db, 用于創建數據庫的SQL腳本,和數據庫兼容性信息。 designer, 用于編制jPDL流程和安裝腳本的Eclipse插件(它不包含在單純的jpdl下載文件中)參見jPDL圖形流程設計器部分。 doc, 用戶指南和JavaDoc文檔。 Examples 范例文件。 lib, jBPM所依賴的類庫。要獲得進一步的信息,請參考“第三方類庫”部分。 server, 一個預先配置好的jBoss應用服務器,在一個控制臺web應用中包含了jBPM(不包含在單純的jpdl下載文件中)。 src, jBPM和身份認證組件的java源代碼。 這個預先配置好的JBoss應用服務器安裝了下列的組件: Web控制臺(web console), 打包為一個web存檔(war文件)。此控制臺能夠由流程參與者和jBPM管理者使用。 工作執行器(job executor) 用于啟動定時器和異步消息。在控制臺web應用程序中有一個servlet上下文監聽器,它啟動工作執行器,后者產生一個線程池,用于監測和執行定時器和異步消息。 jBPM數據庫, 一個進程內hypersonic數據庫,包含jBPM數據表。 一個范例流程, 已經部署到jBPM數據庫中。 身份組件(Identity component)類庫是控制臺web應用的一部分。身份組件的表存在于jBPM數據庫中(這些表以“JBPM_ID_”為前綴)。 jPDL圖形流程設計器 jPDL也包括一個圖形設計器工具,該工具用于創作業務流程,它是一個Eclipse插件。 該圖形設計工具的最主要的特征是同時支持業務分析師和技術開發者,從而允許從業務流程建模到實際開發實現的平滑過渡。 該Eclipse插件以一個本地更新站點(普通zip文件)的形式提供,可通過標準的Eclipse軟件更新機制安裝。jPDL圖形流程設計器插件也包含在 JBoss Tools, JBoss Developer Studio 和 SOA Platform.中。 jBPM控制臺Web應用程序 JBPM控制臺web應用程序有兩個目的。首先,它作為中心用戶接口,與在流程執行過程中產生的運行時任務進行交互。其次,它是一個管理和監控控制臺,能夠檢視和操控運行時流程實例。 它的第三個功能是業務活動監控,這是一些流程執行的統計信息,這些信息對于管理員找出瓶頸和進行其他種類的優化很有用。 JBPM核心類庫 JBoss jBPM核心類庫是普通的Java(J2SE)類庫,用于管理流程定義和流程實例執行的運行時環境。 JBoss jBPM是一個java類庫,因此它能夠在任何java環境中使用,例如web應用程序,swing應用程序,EJB,Web Service……等等。 jBPM庫也可以打包并暴露為一個無狀態會話EJB,這允許集群部署和在極高吞吐量環境下的可縮放性。此無狀態會話EJB應該針對J2EE 1.4規范編寫,以保證可以部署到任何應用服務器之中。 依據你所使用到的功能,類庫 lib/jbpm-jpdl.jar對一些第三方類庫如hibernate、dom4j及其它類庫有依賴。我們已經做出巨大的努力使得你只需要實際使用到的依賴庫。第三方依賴的問題在第四章(部署)中進一步闡述。 JBPM在內部使用hibernate進行持久化。除了傳統的o/R映射功能之外,hibernate也解決了不同數據庫使用不同SQL方言的問題,使得jBPM可以移植到所有目前流行的數據庫之上。 JBoss jBPM API可以從你項目中的任何java軟件訪問,例如web應用程序,EJB程序, Web Service組件、消息驅動Bean或任何其他java組件等。 JBoss jBPM身份組件 JBoss jBPM能夠和任何包含用戶和其他組織機構信息的公司目錄集成。但是,對于沒有提供組織機構信息組件的項目,JBoss jBPM包含了這個身份組件。 該身份組件中使用的模型比傳統的Servlet-、EJB-和門戶中使用的模型更豐富。 要進一步了解,請參考《身份組件》部分。 JBoss jBPM工作執行器(Job Executor) job執行器是一個用于在標準Java環境下監控和執行job的組件。Job用于定時器和異步消息。在企業環境中,JMS和EJB定時器服務可以用于這一目的。相反,Job執行器能夠用在缺乏JMS或EJB的環境中。 Job執行器組件被打包在核心jbpm-jpdl類庫中,但是需要以以下的方式之一部署:或者在web應用部署描述符(WEB-INF/web.xml)中注冊 JobExecutorLauncher servlet上下文監聽器,使得在servlet上下文創建/銷毀的時候啟動/停止Job執行器;或者開啟一個單獨的JVM,在其中編程式啟動Job執行器。文章來源:http://www.dayatang.com/wordpress/?p=10