freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

畢業(yè)設計-基于jbpm的法院案件管理系統(tǒng)開發(fā)(編輯修改稿)

2025-01-06 17:49 本頁面
 

【文章內容簡介】 工作流程。 ( 6) 業(yè)務流程的改善 : 使業(yè)務流程簡化和呈現(xiàn)流線型。 ( 7) 在工作人員之間更好地均衡負荷,如在工作人員缺勤的情況下,自動地柔性分配替代人員。 因此,運用工作流管理技術能夠提高整個系統(tǒng)的可用性,運用工作流管理技術進行設計流程管理是大勢所趨。 6 jBPM 工作流引擎 jBPM 的 概述 jBPM( Java Business Process Management) 是一種基于 J2EE 的輕量級的、靈活可擴展的工作流管理系統(tǒng)。 jBPM 為設計及開發(fā)工作流和 業(yè)務流程管理系統(tǒng)提供了一個先進的平臺。 jBPM 實現(xiàn)了流程邏輯與業(yè)務邏輯的分離 , 能夠可視化的進行業(yè)務流程的分析、定義和業(yè)務單元的組裝 , 從而使應用開發(fā)人員更關注于業(yè)務邏輯的實現(xiàn) , 降低了復雜流程應用的開發(fā)難度。 jBPM 主要由工作流引擎、流程設計器和流程監(jiān)控工具三部分組成 。 jBPM 最大的特色就是它的商務邏輯定義沒有采用目前的一些規(guī)范,如WFMC’S XPDL, BPML, ebXML 等,而是采用了它自己定義的 JBoss jBPM Process definition Language( jPDL)。 jPDL認為一個商務 流程可以被看作是一個UML 狀態(tài)圖 ( 見圖 1) 。 jPDL就是詳細定義了這個狀態(tài)圖的每個部分,如起始、結束狀態(tài),狀態(tài)之間的轉換等。 jBPM 定義了使用 JBoss 流程定義語言編寫的文件里面的流程定義。 jPDL 是一種面向圖形編程( GOP)的語言,它基于節(jié)點、轉換和動作組成的模型。在這種模型里面,節(jié)點是在流程定義過程中彼此相遇時執(zhí)行的命令。轉換負責指導流程定義的執(zhí)行過程,而動作在節(jié)點或者轉換事件發(fā)生時執(zhí)行特定邏輯。 在 jBPM 中,流程定義被封裝成流程檔案( process archives)。流程檔案被傳送到 jPDL 流程 引擎加以執(zhí)行。 jPDL 流程引擎負責遍歷流程圖、執(zhí)行定義的動作、維持流程狀態(tài),并且記錄所有流程事件。 jBPM 在以下組件里面進行封裝: ( 1) 流程引擎:該組件通過下列委托組件( delegate ponent)來執(zhí)行定義的流程動作、維持流程狀態(tài),并記錄所有流程事件:請求處理程序、狀態(tài)管理程序、日志管理程序、定義加載程序、執(zhí)行服務。 ( 2) 流程監(jiān)管器:該模塊跟蹤、審查及報告流程在執(zhí)行時的狀態(tài)。 ( 3) 流程語言:流程定義語言( jPDL)基于 GOP。 ( 4) 交互服務:這些服務把遺留應用提供成流程執(zhí)行時所用的功能或者數(shù)據(jù)。 7 圖 圖 表明了這些組件之間的關系,含有動作處理程序的 jBPM 流程定義由jBPM 流程引擎加以加載及執(zhí)行。如果流程引擎在流程定義過程中遇到擁有相關動作的節(jié)點,所有相關的動作處理程序就會被調用。動作處理程序是 Java 代碼的實例,在執(zhí)行時能夠與外部系統(tǒng)進行交互。 jBPM 的另一個特色是它使用 Hibernate 來管理它的數(shù)據(jù)庫。 Hibernate 是目前Java 領域最好的一種數(shù)據(jù)持久層解決方案。通過 Hibernate, jBPM 將數(shù)據(jù)的管理職能分離出去,自己專注于商務邏輯的處理。 下面對 jBPM 主要的幾 個組件做下簡單 介紹 : ( 1) jBPM 圖形化流程設計器 : jBPM 包括一個圖形化的流程設計工具,它是一個 Eclipse 插件,最重要的特性是它同時支持業(yè)務分析員和技術開發(fā)人員,這樣就可以在業(yè)務流程建模和實際執(zhí)行之間平滑轉換 。 ( 2) jBPM 核心組件 : 核心組件是純粹的 Java 軟件 來處理流程定義和運行時的流程實例執(zhí)行。 jBPM 是一個 Java 庫,因此,它可以用在任何 java 環(huán)境中 。 jBPM 庫可以被打包作為 無狀態(tài)會話 EJB, 這可以用做集群的發(fā)布具有極高的吞吐量可伸縮性。 jBPM 內部使用 hibernate, 除了傳統(tǒng)的 O/R 映射外, hibernate 也分析不同數(shù)據(jù)庫系統(tǒng)的 SQL 方言,這使 jBPM 在當前所有的數(shù)據(jù)庫上都可以移植。 jBPM API 可以從項目中任意編寫的 Java軟件訪問。 ( 3) jBPM 控制臺 web 應用程序 : 該程序 是為兩個目的服務的。首先,它作為 8 流程執(zhí)行運行時間任務生成的中央用戶接口。其次,它也是一個管理和監(jiān)視控制臺允許檢查和操作運行中的流程實例 。 ( 4) jBPM 身份組件: jBPM 可以集成進任何包含公司用戶和組織信息的目錄。身份組件使用的模型比通常的 servlet、 ejb 和門戶模型跟富有 。 ( 5) jBPM 調度程序: 這是用來監(jiān)視和運行已經(jīng)計 劃到 執(zhí)行流程的定時器的組件。定時器組件被打包在核心 jBPM 庫中,但是它需要被發(fā)布到環(huán)境中。 ( 6) jBPM 數(shù)據(jù)庫兼容包: 這 包括所有支持數(shù)據(jù)庫的相關信息, JDBC 驅動程序和數(shù)據(jù)庫初始化腳本。 ( 7) jBPM BPEL 擴展: 這 是獨立的擴展包用來支持 BPEL(Business Process Execution Language 商業(yè)流程執(zhí)行語言 ) 。 BPEL 的基本要素是 xml Scripting 語言用來寫其他 web server 的 web services。 jBPM 整合 Eclipse 開發(fā)平臺 第一步:安裝 jBPM 和 Eclipse 首先要環(huán)境準備 JDK 和 ant 的安裝,本系統(tǒng)開發(fā)采用 和 ,安裝好 JDK 和 ant 后要把對應的環(huán)境變量設置好。 然后,我們下載一個 jBPM 安裝包,本系統(tǒng)的開發(fā)采用的是 , 下載后解壓目錄下含有五個子目錄: jBPM 是 jBPM 的軟件包; jbpmbpel 只含有一個網(wǎng)頁; jbpmdb 是 各種數(shù)據(jù)庫 hibernate 配置文件示例,有些還包含了相應的 jdbc 驅動程序 ; jbpmdesigner 輔助開發(fā) jBPM 的 Eclipse 插件, 具體在 jbpmgpdfeature 子目錄中 ; jbpmserver 是 一個已經(jīng)配置好了的基于 JBoss 的 jBPM 示例 。 最后 ,我們把要安裝的 Eclipse 覆蓋掉 jbpmdesigner 里 Eclipse 插件 既可 , Eclipse 不是開發(fā) jBPM 必須的工具,但它是對 jBPM 開發(fā)很有幫助的工具,特別是 jBPM 提供了一個 Eclipse 插件用來輔助開發(fā) jBPM,本系統(tǒng)開發(fā)采用的是 。 第二步: 建立系統(tǒng)數(shù)據(jù)庫 jBPM 需要數(shù)據(jù)庫支持, jBPM 會把自己的一個初始化數(shù)據(jù)存儲到數(shù)據(jù)庫,同時工作流的數(shù)據(jù)也是存儲到數(shù)據(jù)庫中的。 jBPM 使用 Hibernate 來做為自己的存儲層,因此只要是 Hibernate 支持的數(shù)據(jù)庫 jBPM 也就支持,本系統(tǒng)采用 。 首先在 MySQL 創(chuàng)建一個庫, 然后是生成建表的 SQL 語句并建表,將 9 下的子目錄 jbpm 改名為 ,否則在執(zhí)行下面的 ant 命令時會報如 。在 DOS 窗下,進入 安裝 jbpm目錄下的 jbpmdb目錄,執(zhí)行如下命令 ant 。執(zhí)行成功后,在 jbpmdb 目錄下的build\mysql\scripts 目錄里生成了四個 sql 文件。再在 MySQL 客戶端中執(zhí)行 腳本,這樣將在 jbpm 庫中創(chuàng)建系統(tǒng)所需要的數(shù)據(jù)表。 第三步: 項目配置 打開 Eclipse 查看首選項里的 JBoss jBPM 里 Runtime Locations 指定 jBPM 的安裝路徑如圖 。這個配置主要是為了找到 jbpm 下的各種 jar 包,好讓 Eclipse設置項目的庫引用。 圖 jBPM的安裝路徑 下面我們新建個 jBPM項目 , 在彈出的對話框里, 選 “ JBoss jBPM -> Process Project ”項, 然后就生成了如圖 所示的一個項目結構。 圖 src/main/java 存放源文件, test/main/java 存放相應的 JUnit 單元測試代碼, 10 test/main/config 是存放數(shù)據(jù)庫配置文件, test/main/jpdl 是存放流程配置文件的。項目建好后我們還要對數(shù)據(jù)庫配置文件進行修改, 配置文件是 test/main/config目錄 下 的 , 修改如下: property name= /property property name= /property property name=jdbc: /property property name=root/property property name= root /property 在最后還要把 MySQL 的 JDBC 庫、以及 Hibernate 的 加入到項目的庫引用中 , mysql 的 jdbc 包,在 jbpmdb\mysql\lib 目錄里, 在目錄 \lib\hibernate 里。 經(jīng)過上面三大步驟,我們的開發(fā)平臺就配置完成。 JPDL 流程定義語言分析 新項目建成后第一步我們要創(chuàng)建流程定義,通過面向圖形編程( GOP)的流程定義語言 JPDL 可以設計系統(tǒng)流程。本文使用可視化流程設計器來繪制流程。 首先,我們分析 JDPL 流程定義元素 : JPDL 是指定的 xml 模式和機制包裝所有的流程定義相關文件到一個流程文檔。文檔的中心流程是 。文件中主要信息是流程圖。 也包含關于動作和任務的信息 。流程文檔也包括 其他流程相關文 檔。 JPDL 的流程定義元素 可分為三層 。 第一層: GraphElement 這個容易理解,因為在畫流程定義時,每個拖拉的對象都是一個 graph 的元素。 GraphElement 有四個屬性: ( 1) processDefine 表示當前元素屬于哪個流程定義。 ( 2) events 表示可以接收哪些 event。 ( 3) name 名字。 11 ( 4) exceptionHandlers 異常處理類集合( List)。 第二層: node、 processDefinition、 Transition、 Task 它們都繼承自 GraphElement ( 1) processDefinition 表示流程定義 ( implements NodeCollection), 它有下面的屬性: name、 version、 nodes、 startState。 nodes 表示流程中所有的 node,startState 用于啟動流程時找到首節(jié)點。 ( 2) Transition 表示轉移,它有三個屬性: from( Node) , to( Node) ,supportedEventTypes 表示支持的 event 類型 。 ( 3) node 表示節(jié)點,它有四個屬性: leaving transitions、 arriving transitions、action、 superState。 ( 4) Task 定義任務。 第三層:各種不同的 node 它們都繼承自 node。 Decision、 EndState、 Fork、 Join、 Merge、 Milestone、 InterleaveEnd、 InterleaveStart、 ProcessState、 State。 然后,我們對流程定義語言的使用進行分析: 基本的流程定義組成是圖和節(jié)點。每個節(jié)點有一個類型 state、 decision、 fork、join 每個節(jié)點有一套離開轉換??梢越o離開節(jié)點的轉換一個名字來區(qū)別。 如圖 表 示一個 拍賣流程的流程圖 , 圖 一個拍賣流程的流程 12 下面是圖 一個拍賣流程表示的 XML: processdefinition startstate transition to=auction / /startstate state name=auction transition name=auction ends to=salefork / transition name=cancel to=end / /state fork name=salefork transition name=shipping to=send item / transition name=billing to=receive money / /fork state name=send item transition to=receive item / /state state name=receive item transition to=salejoin / /state state name=receive money transition to=send money/ /state state name=send money transition to=salejoin/ /state join name=salejoin transition to=end/ /join endstate name=end/ /processdefinition 在流程定義時我們還可以給自己定制動作( Action)
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1