




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、JBPM與Spring集成開發指南 1 術語工作流:全部或者部分,由計算機支持或自動處理的業務過程。工作流管理系統統:工作流管管理系統是這這樣的一個系系統,詳細定定義、管理并并執行“workfflows”,系統通過過運行一些軟軟件來執行wworkfllows,這這些軟件的執執行順序由工工作流邏輯的的計算機表示示形式(計算算機化的業務務規則過程定義)驅動。工單:一次申請請的提交記錄錄,該記錄具具有唯一性。工工單相關的概概念: l 工單管理理:對投訴工工單、建議工工單、座席建建議工單、業業務受理工單單等不同類型型的工單進行行派發、接收收處理、回復復等一系列工工單處理操作作。 l 工單統計計:對各種
2、處處理工單的數數量,類型進進行數據統計計和導出、報報表打印。 l 工單系統統管理:對工工單系統進行行管理,設置置相應的處理理部門、處理理人員和相應應的權限,規規定處理流程程。 l 工單日志志:記錄工單單操作日志,有有效管理日志志的處理狀況況和責任。 2 背景工作作流管理系統統一項快速發發展的技術,各各種行業漸漸漸的采用工作作流技術。工工作流技術的的主要特點是是:過程的自自動化處理,這這些過程包含含由人與以機機器為基礎的的活動相結合合;特別是對對那些與ITT 應用程序序、工具交互互的過程,進進行自動化處處理。雖然,工工作流技術廣廣泛用于辦公公環境中,例例如保險、銀銀行、法院和和行政管理等等,然而
3、工作作流技術,也也可以應用于于一些類型的的工業和制造造業。 3 概述在人人們日常生活活和工作中,都都將與工作流流程發生密切切的關系,“工作流”干預過程、業業務程序的自自動化處理,文文檔、信息或或者任務按照照定義好的規規則在參與者者間傳遞,來來完成整個業業務目標或者者對整個業務務目標的完成成做貢獻。應應用領域廣泛泛,比如: l 公司或組組織內部請假假或休假流程程、通知分發發流程等 l 政府政策策審批流程、 l 網上書店店圖書訂閱流流程、發送流流程等 l 駕照學習習流程等等。同時,“工作流流”可能由手工工組織,實際際上,多數“工作流 ”都在IT系系統中進行組組織的,從而而對過程自動動化提供計算算機
4、支持。“工作流”采用計算機機化后,可以以大大提高工工作和生活的的效率,而信信息化過程中中,對于采用用的技術實現現方式的不同同,將直接影影響到信息化化的質量,包包括:開發成成本、維護成成本等。好的的工作流解決決方案,可以以大大提高業業務流程流轉轉效率、容易易擴展對新流流程的支持等等。JBPM是當前前優秀的開源源工作流引擎擎。本文檔是是關于JBPPM與Sprring框架架集成分析文文檔。包括:基本概念、設設計要點、常常見問題解答答、參考資源源等。本文主要介紹了了集成開發的的高級內容,基基礎知識參見見:參考資料料本文檔適合所有有計算機開發發人員。 4 基本概念念 4.1 什么是工作作流“工作流”干預
5、預過程、業務務程序的自動動化處理,文文檔、信息或或者任務按照照定義好的規規則在參與者者間傳遞,來來完成整個業業務目標或者者對整個業務務目標的完成成做貢獻。同同時,“工作流”可能由手工工組織,實際際上,多數“工作流 ”都在IT系系統中進行組組織的,從而而對過程自動動化提供計算算機支持,WWFMC把工工作定位在這這個方向上。“工作流”定義義:全部或者者部分,由計計算機支持或或自動處理的的業務過程。工作流經常與“過程重組(BBPRBusinness PProcesss Re-enginneerinng)”聯系在一起起。BPR 是關于企業業(組織)核核心業務過程程的評估、分分析、模擬、定定義以及其后后
6、的操作實現現。盡管,不不是所有的BBPR都是采采用工作流實實現的,但工工作流技術是是最佳的方法法,主要因為為,工作流技技術提供了業業務過程邏輯輯與IT操作作支持的分離離,從而以后后可以修改過過程規則來重重定義業務過過程。相反,工工作流技術并并不只在BPPR中采用,例例如用于現有有的業務過程程中。“工作流管理系系統(WFMMSWorkfflow MManageement Systeem)”通過管理工工作活動序列列,調用與各各種活動步驟驟相關的人員員、IT資源源,對業務過過程提供自動動化處理。“工作流管理系系統”定義:工作作流管理系統統是這樣的一一個系統,詳詳細定義、管管理并執行“workfflo
7、ws”,系統通過過運行一些軟軟件來執行wworkfllows,這這些軟件的執執行順序由工工作流邏輯的的計算機表示示形式(計算算機化的業務務規則過程定義義)驅動。每每個業務過程程都有一個生生命周期,從從幾分鐘到幾幾天(甚至數數月),由過過程的復雜性性與組成活動動的持續時間間來決定。有有多種方法實實現工作流管管理系統,使使用多種ITT和通訊組件件,運行環境境可以從一個個小的本地工工作組到企業業間。因此,WWFMC參考考模型從各種種角度考慮工工作流管理系系統,希望提提供各種不同同的實現技術術、運行環境境。盡管實現的方法法多種多樣,但但所有的WFFMS都表現現出某種共同同的特性,這這為不同產品品間的集
8、成、協協同工作提供供了基礎。參參考模型描述述了工作流系系統的一個公公共模型,并并且指出參考考模型如何能能使其與其他他各種不同的的實現方法相相關聯。在最高層,所有有的WFMSS都相同的特特性,即為下下邊的3個功功能提供支持持: 建立時期(BBuild-time)功功能,定義、模模擬工作流過過程,及其組組成活動。 運行時期(RRun-tiime)控制制功能,在運運行環境中管管理工作流過過程,管理不不同 運行時期與與用戶、ITT應用程序(工工具)的交互互,來處理各各種活動的執執行。下圖描述WFMMS的基本特特性,以及上上述功能間的的關系: 4.2 JBBPM 4.2.1 介紹jBPM iss a p
9、llatforrm forr execcutablle proocess languuages rangiing frrom buusinesss proocess managgementt (BPMM) oveer worrkfloww to sservicce orcchestrrationn. Theere arre manny proocess languuages. Eachh one is taargeteed towwards a speecificc funcction and aa speccific envirronmennt. jBBPM alllows all oof
10、theese prrocesss langguagess to bbe buiild naativelly on top oof onee singgle teechnollogy: the PProcesss Virrtual Machiine (PPVM). jBPM alreaady suupportts 3 vvery ddifferrent pprocesss lannguagees: jPPDL, WWS-BPEEL andd Seamm Pageeflow. Thiss mighht exppand iin thee futuure ass new proceess laangu
11、agges arre addded too our platfform. jBBPM(JBBoss BBusineess Prrocesss Manaagemennt業務流程程管理),它它是覆蓋了業業務流程管理理、工作流、服服務協作等領領域的一個開開源的、靈活活的、易擴展展的可執行流流程語言框架架。 jPDL是是構建于jBBPM框架上上的流程語言言之一。在jjPDL中提提供了任務(ttasks)、待待處理狀態 (waitt stattes)、計計時器(tiimers)、自自動處理(aautomaated aactionns)等術語,并并通過圖型化化的流程定義義,很直觀地地描述業務流流程。 jP
12、DL可可以部署于JJava語言言的任何應用用環境下,JJavaSEE Appllicatiion(Swwing/SSWT)、JJavaEEE Appllicatiion(Appplicaation Serveer) 。 4.2.2 jPDL分分發包組成目前jPDL的的最新版本是是3.2.22,您可以在在以下地址:http:/labbs.jbooss.coom/jboossjbppm/jpddl_dowwnloadds/獲得官官方下載包。下下載包分為兩兩種,一種是是標準包(jjbpm-jjpdl-33.2.2.zip)只只有20M左右;一種是套件件包(jbppm-jpddl-suiite-3.2
13、.2.zzip)將近近80M。兩者者最大的區別別是套裝包自自帶一個已經經配置好的jjboss服服務,下載解解壓縮后,可可直接運行。 4.2.3 jPDLL的核心程序序包(jbppm-jpddl.jarr) 它是一個典型的的jar文件件,它涵蓋對對流程定義和和運行時流程程實例上下文文環境的操作作API。在在最簡化的業業務流程樣例例中,jPDDL將流程定定義存儲與XXML格式的的定義文件中中,在運行時時載入內存,在在內存里記錄錄完整的業務務實例和執行行過程的環境境變量,并完完成全部操作作。顯然,在在實際應用中中,流程信息息必須被持久久化的存儲于于數據庫中。jjPDL使用用了Hibeernatee作
14、為其對象象持久化的AAPI。 4.2.4 Grapphicall Proccess DDesignner插件(jbpm-jpdl-desiggner-33.1.2.zip) 它是一個基于EEclipsse的圖型編編輯插件。使使用它可以對對業務流程進進行可視化的的定制,而無無須手動編輯輯XML文件件。該插件還還提供了流程程定義上傳功功能,可以將將新定義的流流程發布到在在線運行的jjPDL系統統上。 4.2.5 jPDL身身份包(jbbpm-iddentitty.jarr) 它它是jPDLL的一個輕量量級擴展包,簡簡單實現了組組Groupp、用戶Usser、許可可權Permmissioon等用戶身
15、身份認證和鑒鑒權機制。如如果您的應用用環境只需要要簡單的用戶戶認證鑒權管管理,那么它它十分適合您您。 4.2.6 jPDLL Web控控制臺(jbbpm-coonsolee.war) 它是一個標準WWeb應用(使使用了JSFF技術),提提供了對jPPDL平臺執執行情況的監監控程序(對對jPDL數數據庫的監控控)。管理員員可以通過該該程序方便的的維護jPDDL的數據庫庫,管理流程程定義和流程程實例的執行行情況。同時時,它還提供供了一個簡單單的Gettting sstarteed DEMMO,方便初初學者了解jjPDL。 4.2.7 靜態的流程程定義模型 流程定義實實體(Prooc
16、ess Definnitionn)編號 PD-0011 對象 流程定義實體體(Proccess DDefiniition) 描述 流程定義實體體是對一個流流程抽象的對對象化定義,如如圖-0022。一套系統統中,用戶可可以定義保存存多個流程定定義實體,如如:報銷流程程定義、請假假流程定義、人人事錄用流程程定義等。每每個流程定義義還可以有多多個不同的版版本,如:針針對同樣的報報銷流程可以以有修訂前和和修訂后的兩兩個流程定義義,同時存儲儲于jPDLL數庫中。用用戶可以通過過流程名稱和和版本號獲取取相應的流程程定義。在默默認請況下,系系統啟用最新新的流程定義義。 Java對象 org.jbbpm.gr
17、raph.ddef.PrrocesssDefinnitionn 數據庫表 JBPM_PPROCESSSDEFIINITIOON該表存儲儲流程定義的的通用信息,如如:流程名稱稱、版本號 表關聯說明 JBPM_PPROCESSSDEFIINITIOON表中,每每條記錄有自自己的數據庫庫流水號 ID_JBPPM_PROOCESSDDEFINIITION的的外鍵(Fooreignn Keyss):startsttate_ 同JBPMM_NODEE(流程結點點)表關聯。此此外鍵指向流流程定義中的的起始結點IID 流程結點點(Nodee)編號 PD-0022 對象 流程結點(NNode)
18、描述 流程結點是對對流程中的過過程環節/行行為的抽象對對象化定義,如如圖-0022中的每個方方框即代表一一個結點。結結點有兩個主主要職責:一一,實現某個個指定行為,這這在jBPMM中就是執行行一段制定的的Java代代碼;二,轉轉遞、維持流流程的延續,直直至達到最終終結點。在jjPDL的結結點設計中,系系統開放了充充分的用戶行行為模型,程程序員可以基基于這些行為為接口,實現現自定義的業業務功能。在在jPDL中中,系統預定定義了一系列列的Nodee類型,同時時也允許程序序員開發定義義自己的Noode類型。 Java對象 org.jbbpm.grraph.ddef.Noode 數據庫表 JBPM_N
19、NODE該表表存儲結點的的定義信息。 表關聯說明 JBPM_NNODE表中中,每條記錄錄有自己的數數據庫流水號號 ID_JBPPM_NODDE的外鍵(FForeiggn Keyys):processsdefinnitionn_ - 此此外鍵說明該該Node從從屬的流程定定義對象IDD subproccessdeefinittion_- 此外鍵指指定了一個由由該Nodee發起的子流流程。在主流流程離開當前前結點之前,該該子流程必須須完成執行過過程。acttion_ - 此外鍵鍵指定該結點點動作類的IID supersttate_ - 該外鍵鍵是一個自關關聯鍵,指向向結點的上級級父結點IDD。一個
20、子流流程中的多個個結點從屬于于同一個父流流程結點。 decisioondeleegatioon_ 該外鍵指指定了結點委委派的判定類類ID(所謂謂委派判定類類是指根據用用戶的業務邏邏輯,判定流流程的下一個個流向的Jaava Cllass) 流程轉轉向(Traansitiions)編號 PD-0033 對象 流程轉向(TTransiitionss) 描述 流程轉向是描描述流程中從從一個結點到到另一個結點點的狀態轉換換過程,因此此一個轉向一一定有一個源源結點和一個個目標結點。 在jPDLL中trannsitioon的命名是是通產是唯一一的,結點依依靠trannsitioon的命名來來
21、區別到下一一結點的路徑徑,當一個NNode中存存在有多個同同名的traansitiion的時候候,第一個ttransiition將將會被選中。結結點轉向的過過程中,排在在transsitionn列表第一位位置的即是默默認的traansitiion。 Java對象 org.jbbpm.grraph.ddef.Trransittion 數據庫表 JBPM_TTRANSIITION該該表存儲流程程定義中的轉轉向對象。 表關聯說明 JBPM_TTRANSIITION表表中,每條記記錄有自己的的數據庫流水水號 ID_JBPPM_TRAANSITIION的外鍵鍵(Foreeign KKeys):proce
22、sssdefinnitionn_ - 該該外鍵指向ttransiition所所屬的流程定定義對象IDD from_ - 該外鍵指指向trannsitioon的源結點點ID to_ -該外外鍵指向trransittion的目目標結點IDD 動作(AActionns)編號 PD-0044 對象 動作(Acttions) 描述 Actionns是指一系系列的在流程程事件中運行行的Javaa代碼。流程程圖是軟件需需求的傳達的的重要手段,但但它只是軟件件需求的一個個投影,隱藏藏了很多技術術實現的細節節。Actiions則是是向流程圖添添加技術實現現細節的一種種機制,它可可以很好的補補充和
23、修飾流流程圖。這意意味著在不改改變流程圖結結構的情況下下,可以將JJava的代代碼與之關聯聯。Actiions通過過事件(Evvents)同同流程綁定,常常用的主要事事件包括:進進入結點、離離開結點、進進行轉向。請請注意,同EEventss關聯的Acctionss和處于Noode中的AActionns是有不同同的。處于EEventss中的Acttions是是通過事件觸觸發執行的,它它是典型的觀觀察者模式,是是無法影響流流程控制的流流向。而處于于Node中中的Actiion則要承承擔起流程傳傳遞的責任。此此外,Acttions是是可以命名的的。可以通過過Actioons的命名名在任何地方方引用該
24、Acctionss。命名的AActionns可以作為為主流程定義義的公用子元元素。這個功功能可以提高高對Actiions定義義的復用。 Java對象 org.jbbpm.grraph.ddef.Acction 數據庫表 JBPM_AACTIONN該表存儲流流程定義中的的動作對象。 表關聯說明 JBPM_AACTIONN表中,每條條記錄有自己己的數據庫流流水號ID_ JBPM_AACTIONN的外鍵(FForeiggn Keyys):processsdefinnitionn_ - 指指明actiion所屬的的流程定義IID event_ - 指明aactionn綁定的evvent IID act
25、ionddelegaation_ - 指明明actioon的委派對對象ID exceptiionhanndler_ - 指定定actioon的異常處處理ID referenncedacction_ - 指向向當前acttion引用用的actiion的IDD timeracction_ - 指向向當前acttion引用用的計時器aactionn 事件(Evvents)編號 PD-0055 對象 事件(Eveents) 描述 事件表示流程程執行中的某某個特定的時時刻。在流程程執行的過程程中,通過jjBPM的引引擎觸發事件件,這通常發發生在jbppm計算后續續狀態的時候候。事件總是是
26、和流程中的的元素綁定,這這些元素包括括:流程定義義(proccess ddefiniition)、流流程結點(nnode)、流流程轉向(ttransiition)和和任務(taask)。不不同的元素會會觸發不同的的事件,拿nnode元素素來說,有 node-enterr事件和noode-leeave事件件。事件是aactionn的鉤子,一一個事件可以以回調一系列列的actiion。當jjBPM引擎擎觸發事件的的時候,事件件中綁定的aactionn就會被執行行。在jBPPM中,事件件模型是可傳傳播的。一個個子元素觸發發的事件,將將逐層向上傳傳播到頂層的的流程定義元元素。這樣的的設計使得事事件可以
27、被集集中化處理。 Java對象 org.jbbpm.grraph.ddef. EEvent 數據庫表 JBPM_EEVENT該該表存儲流程程定義中的事事件對象,這這些事件與相相關的acttion綁定定。 表關聯說明 JBPM_EEVENT表表中,每條記記錄有自己的的數據庫流水水號ID_ JBPM_EEVENT的的外鍵(Fooreignn Keyss):processsdefinnitionn_ - 指向eveent所屬的的流程定義IID node_ - 指向eevent所所屬的nodde ID transittion_ - 指向向eventt所屬的trransittion IID task_
28、- 指向向eventt所屬的任務務ID 任務(Taask)編號 PD-0066 對象 任務(Tassk) 描述 任務作為流程程定義中的一一部分,定義義了如何創建建任務實例(TTask iinstannces)以以及任務分配配。任務可以以在任務結點點(Taskk-Nodee)和流程定定義(proocess-definnitionn)兩個地方方定義。通常常會在一個任任務結點中定定義一個或多多個的任務。在在這種情況下下,任務結點點表示在流程程中等待用戶戶處理的交互互操作。業務務流程會停留留在任務處,等等待用戶完成成相應的操作作之后繼續。任任務也可在流流程定義中聲聲明。通過任任務名,可
29、以以找到相應的的任務定義,并并引用他們。實實際上任何有有命名的任務務都可以通過過名字被引用用。在整個的的流程定義中中,任務名必必須是唯一的的。此外,還還可以給任務務設定優先級級,這些優先先級屬性將成成為任務實例例化時的默認認設置。任務務實例可以在在之后的運行行中改變優先先級。. Java對象 org.jbbpm.taaskmgmmt.deff.Taskk 數據庫表 JBPM_TTASK該表表存儲流程定定義中聲明的的任務對象。 表關聯說明 JBPM_TTASK表中中,每條記錄錄有自己的數數據庫流水號號ID_JBPM_TAASK的外鍵鍵(Foreeign KKeys):processsdefinn
30、itionn_ -指指向taskk所屬的流程程定義ID taskmgmmtdefiinitioon_ - 指向tassk引用的TTaskMggmtDeffintioon對象IDD tasknodde_ - 指向tassk所屬的任任務結點IDD startsttate_ -指向taask所屬流流程的起始結結點ID assignmmentdeelegattion_ - 指定ttask委派派處理的cllass對象象的ID swimlanne_ - 指定tassk要授權的的swimllane(角角色)ID taskconntrolller_ - 指定一個個task賦賦值的委托類類 4.2.8 具體化的
31、流流程實例模型型流程實例中最重重要的三個對對象:流程實實例(Proocess Instaance)、令令牌(Tokken)、任任務實例(TTask IInstannce). 流程實例(PProcesss Insstancee)編號 PI-0011 對象 流程實例(PProcesss Insstancee) 描述 流程實例是流流程定義的運運行時狀態,它它記錄了一個個流程運行的的起始時間、結結束時間等狀狀態信息 Java對象 org.jbbpm.grraph.eexe.PrrocesssInstaance 數據庫表 JBPM_PPROCESSSINSTTANCE該該表存儲運行行時的
32、流程對對象信息。 表關聯說明 JBPM_PPROCESSSINSTTANCE表表中,每條記記錄有自己的的數據庫流水水號 ID_JBPMM_PROCCESSINNSTANCCE的外鍵(FForeiggn Keyys):processsdefinnitionn_ - 該該流程實例對對應的流程定定義的ID roottokken_ - 該流程實實例引用的跟跟令牌 superprrocessstokenn_ - 如如果當前流程程是某個流程程實例的子流流程,則指向向該父流程的的ID 令牌(Tooken)編號 PI-0022 對象 令牌(Tokken) 描述 令牌代表一個個流程執行的的路徑,
33、它維維護著流程定定義中各個結結點的指針,同同時記錄了流流程當前執行行的位置。 Java對象 org.jbbpm.grraph.eexe.Tooken 數據庫表 JBPM_TTOKEN該該表存儲運行行時令牌對象象信息,它表表示當前流程程執行到的位位置。 表關聯說明 JBPM_TTOKEN表表中,每條記記錄有自己的的數據庫流水水號ID_ JBPM_TOKENN的外鍵(FForeiggn Keyys):processsinstaance_ - 指指向該令牌所所屬的流程實實例的ID。 subproccessinnstancce_ - 指向該令牌牌所屬的子流流程實例IDD。 node_ - 令牌所所在(
34、所指向向的)的當前前節點ID. parent_ - 如果果當前令牌是是一個分支流流程或子流程程的令牌,則則該值指向其其父令牌IDD。 任務實例例(Taskk Insttance)編號 PI-0033 對象 任務實例(TTask IInstannce) 描述 一個任務實例例對象可以分分配給指定的的操作者處理理,當任務完完成后,將觸觸發流程繼續續下行。任務務實例的生命命周期很簡單單,生成實例例-開始始處理-任務結束。從從彈性設計考考慮出發,任任務的分配不不屬于實例生生命周期的一一部分,任務務是否被分配配是不會影響響其生命周期期過程的。當當流程進入一一個任務結點點的時候,結結點上任務
35、被被實例化;用用戶通過訪問問系統的界面面組件,獲取取自己的任務務列表,可以以進行任務委委派、處理或或直接結束任任務。任務實實例記錄著任任務創建的時時間、結束時時間,這些信信息可以通過過TaskIInstannce對象中中的gettter方法獲獲取。一個任任務實例的結結束時間標識識它的完成,在在后緒的任務務查詢中,該該實例不會被被取出,但實實例的記錄仍仍保留于數據據庫中。 Java對象 org.jbbpm.taaskmgmmt.exee.TaskkInstaance 數據庫表 JBPM_ TASKIINSTANNCE該表存存儲運行時任任務實例信息息。 表關聯說明 JBPM_ TASKIINSTA
36、NNCE表中,每每條記錄有自自己的數據庫庫流水號IDD_JBPMM_ TASSKINSTTANCE的的外鍵(Fooreignn Keyss):task_ - 指向定義義該實例的任任務ID token_ - 指向任任務實例對應應的令牌IDD swimlanneinsttatncee_ - swimllane 實實例,表示處處理該任務的的角色 taskmgmmtinsttance_ - 管理該任務務的模塊實例例ID 4.3 SppringSpring Frameework 是一個 JJava/JJava EEE/.NEET 的分層層應用程序框框架。該框架架基于 Exxpert One-oon-On
37、ee Javaa EE DDesignn and Devellopmennt(ISBBN 0-77645-44385-77)一文中的的代碼,并最最初由 Rood Johhnson 和 Jueergen Hoelller ett al 開開發。Sprring FFramewwork 提提供了一個簡簡易的開發方方式,這種開開發方式,將將避免那些可可能致使底層層代碼變得繁繁雜混亂的大大量的屬性文文件和幫助類類。 Sprring 中中包含的關鍵鍵特性: 強大的基于于 JavaaBeanss 的采用控控制翻轉(IInverssion oof Conntrol,IIoC)原則則的配置管理理,使得應用用程序
38、的組建建更加快捷簡簡易。 一個可用于于從 appplet 到到 Javaa EE 等等不同運行環環境的核心 Bean 工廠。 數據庫事務務的一般化抽抽象層,允許許插件式事務務管理器,簡簡化事務的劃劃分使之與底底層無關。 內建的針對對 JTA 和 單個 JDBC 數據源的一一般化策略,使使 Spriing 的事事務支持不要要求 Javva EE 環境,這與與一般的 JJTA 或者者 EJB CMT 相相反。 JDBC 抽象層提供供了有針對性性的異常等級級(不再從SSQL異常中中提取原始代代碼), 簡簡化了錯誤處處理, 大大大減少了程序序員的編碼量量. 再次利利用JDBCC時,你無需需再寫出另一一
39、個 終止止 模塊. 并且面向向JDBC的的異常與Sppring 通用數據訪訪問對象 (Data Accesss Objject) 異常等級相相一致. 以資源容器器,DAO 實現和事務務策略等形式式與 Hibbernatte,JDOO 和 iBBATIS SQL MMaps 集集成。利用眾眾多的翻轉控控制方便特性性來全面支持持, 解決了了許多典型的的Hiberrnate集集成問題. 所有這些全全部遵從Sppring通通用事務處理理和通用數據據訪問對象異異常等級規范范. 靈活的基于于核心 Sppring 功能的 MMVC 網頁頁應用程序框框架。開發者者通過策略接接口將擁有對對該框架的高高度控制,因
40、因而該框架將將適應于多種種呈現技術,例例如 JSPP,FreeeMarkeer,Vellocityy,Tilees,iTeext 以及及 POI。值值得注意的是是,Spriing 中間間層可以輕易易地結合于任任何基于 MMVC 框架架的網頁層,例例如 Strruts,WWebWorrk,或 TTapesttry。 提供諸如事事務管理等服服務的面向方方面編程框架架。 4.4 Sppring ModullesSpring Modulles iss a suub-prooject of Sppring intennded tto easse inttegrattion wwith 33rd paar
41、ty pproduccts wiithoutt overrloadiing thhe corre fraameworrk witth addditionnal deependeenciess.The moddules incluuded iin thee 0.9 releaase arre:Ant inttegrattion. Flux suuite oof prooductss inteegratiion. HiveMinnd inttegrattion. Lucene integgratioon. Apache OJB iintegrrationn. O/R Brooker iintegr
42、rationn. OSWorkfflow iintegrrationn. Tapestrry inttegrattion. Supportt for declaarativve cacching serviices iincludding EEHCachhe, JCCS, OSSCachee, GiggaSpacces annd othhers. Supportt for db4o Supportt for JSR-994 Rulles Ennginess suchh as DDroolss and Jess Supportt for varioous Jaakartaa Commmons c
43、componnents such as Coonfiguuratioon, Laang, CChain and CCommonns Vallidatoor Supportt for JavaSSpacess, inccludinng Giggaspacces annd Bliitz. Supportt for jBPM 3.0.xx and 3.1.xx Supportt for JSR-1170 (JJava CContennt Reppositoory) iincludding JJackraabbit and JJeceirra. Supportt for web ttemplaate
44、ennginess likee Freeemarkeer, Grroovy, Veloocity, WebMMacro and XXSLT. Valang: Valiidatioon Lannguagee. Bean Vaalidattion FFramewwork. Spring MVC aadd-onns. XT Frammeworkk: Dommain-DDrivenn Desiign orrienteed fraameworrk andd Spriing MVVC AJAAX suppport for ddevelooping richeer dommain mmodelss and
45、richeer useer intterfacces. 5 集成 55.1 Introoductiionj jBPM modulle offfers iintegrrationn betwween tthe Sppring and jjBPM aallowiing foor reuuse off Spriings Hiberrnate suppoort allong wwith tthe IooC conntaineer. Thhe moddule aallowss jBPMMs unnderlyying HHibernnate ssessioonFacttory tto be confiig
46、uredd throough SSpringg and jBPM actioons too acceess Spprings conntext. 5.2 CoonfiguuratioonUsers ffamiliiar wiith Sppring will see tthat tthe jBBPM moodule struccture resemmbles with the oorm paackagee fromm the main Sprinng disstribuution. The modulle offfers aa centtral ttemplaate cllass ffor wo
47、orkingg withh jBPMM, a ccallbaack too acceess thhe nattive JJbpmCoontextt and a loccal faactoryy beann for confiigurattion aand crreatinng a jjBPM iinstannce. . cllasspaath:/oorg/sppringmmodulees/worrkfloww/jbpmm31/soomeOthherWorrkfloww.xml sett The exaample abovee showws howw (exiistingg) Sprring-m
48、manageed Hibbernatte SesssionFFactorries aand trransacction managgementt can be reeused with jBPM. 5.3 LoocalJbbpmConnfigurrationnFactooryBeaanThe maiin eleement is LoocalJbbpmConnfigurrationnFactooryBeaan whiich shhould be faamiliaar to userss acusstomedd to SSpringg. Bassed onn the jbpm confiigura
49、ttion ffile aand thhe givven SeessionnFactoory, iit willl creeate aa jBPMM conffiguraation whichh can be ussed foor worrking with the ggiven proceess deefinittions. It iis posssiblee to rreplacce jBPPM xmll conffiguraation with jBPM 3.1.xx newlly addded ObbjectFFactorry - nnote tthat iif botth aree
50、pressent tthe xmml connfigurrationn is ppreffeered. LocallJbpmCConfigguratiionFacctoryBBean aallowss the creattion oof thee undeerlyinng schhema bbased on thhe proocess definnitionns loaaded aautomaaticallly att starrtup.Note thhat thhe sesssionFFactorry proopertyy is nnot maandatoory - Hiberrnate S
51、essiionFacctory can bbe reuused wwith jjBPM oor jBPPM cann workk by iitselff withhout aany inntegraation with the eexistiing innfrasttructuure. HHoweveer, inn mostt scennarioss, usiing LoocalJbbpmConnfigurrationnFactooryBeaan alllows oone too takee advaantagee of SSpringg trannsactiion maanagemment
52、iinfrasstructture sso its posssiblee withhout aany coode chhange to usse jBPPM, Hiibernaate annd jdbbc-bassed coode innside the ssame ttransaactionnal coontextt, be it maanagedd locaally oor glooballyy (JTAA). Mooreoveer, itt is ppossibble too use threaad-bouund seessionn or OOpenSeessionnInVieew pa
53、ttternss withh jBPMM.LocalJbbpmConnfigurrationnFactooryBeaan is also awaree of tthe ennclosiing appplicaationCContexxt liffecyclle - jjBPM wwill bbe iniitialiized oonce tthe coontextt is sstarteed (ussuallyy appllicatiion sttartupp) andd willl be cclosedd propperly when the ccontexxt is destrroyed (
54、appllicatiion iss shuttdown).Note thhat LoocalJbbpmConnfigurrationnFactooryBeaan cann be cconfiggured progrramatiicallyy and can bbe useed staandaloone onnly too builld an jBPM conteext whhich ccan bee usedd indeependeently of Sppring Modulles jBBPM suupportt. 5.4 Innversiion off Conttrol: JbpmTTemp
55、laate annd JbppmCalllbackAnotherr impoortantt featture oof Sprring MModulees jBPPM suppport is JbbpmTemmplatee. Thee tempplate offerrs verry connvientt wayss of wworkinng dirrectlyy withh proccess ddefiniitionss as wwell aas jBPPM APII takiing caare off handdling excepptionss (be it jBBPM orr Hibeer
56、natee baseed) inn resppect tto thee ongooing ttransaactionn (if its preseent), the uunderllying Hiberrnate sessiion (iif pessistennt serrvicess are used) and the jjBPM ccontexxt. jBBPM exxceptiions (and tthe unnderlyying HHibernnate iinformmationn) aree trannslateed intto Sprringss DAO excepption hi
57、eraarchy. Everrythinng happpens in a transsparennt andd conssistennt mannner.TThis iis posssiblee, as with everyy Spriing-sttyle ttemplaate,evven whhen diirect accesss to the nnativee JbpmmConteext iss desiired, throuugh thhe JbppmCalllback:public ProceessInsstancee finddProceessInsstancee(finaal Lo
58、nng proocessIInstannceId) returrn (PrrocesssInstaance) execuute(neew JbppmCalllback() ppublicc Objeect dooInJbppm(JbppmConttext ccontexxt) / ddo sommethinng reeturn conteext.geetGrapphSesssion().loaddProceessInsstancee(proccessInnstancceId.llongVaalue(); ); As welll, as LocallJbpmCConfigguratiionFac
59、ctoryBBean, the JJbpmTeemplatte cann be cconfiggured progrramatiicallyy and can bbe useed staandaloone onn a prre-exiistingg jbpmmConteext (cconfiggured throuugh LoocalJbbpmConnfigurrationnFactooryBeaan or not) and ccan bee usedd indeependeently of Sppring Modulles jBBPM suupportt. 5.5 PProcesssDefi
60、initioonFacttoryBeeanProcesssDefinnitionnFactooryBeaan is a simmple rreaderr thatt loadds jBPPM proocess definnitionn usinng Sprringss ResoourceLLoaderrs. Thhus, tthe xmml filles caan be load usingg the classspath, relaative or abbsolutte fille patth or even from the SServleet Conntext. See the ooff
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年新材料科學與工程考試試卷及答案
- 外科術后引流管的護理
- 2025年社會心理學基礎知識考試試卷及答案
- 2025年旅游策劃與管理專業考試試題及答案
- 2025年計算機等級考試綜合能力試卷及答案
- 2025年海洋科學與技術基礎知識測試試題及答案
- 2025年機器人技術與應用能力測試試題及答案
- 2025年中醫藥學基礎知識與實踐考試試題及答案
- 2025年電子信息工程專業畢業設計答辯試題及答案
- 農產品溯源升級2025年農產品質量安全追溯體系建設實施方案標準制定研究
- 公司掛名法人免責協議書
- 2025年南通市通大全過程工程咨詢有限公司招聘筆試參考題庫附帶答案詳解
- 玉石國際貿易買賣合同8篇
- GB 45549-2025石墨和螢石單位產品能源消耗限額
- SL631水利水電工程單元工程施工質量驗收標準第4部分:堤防與河道整治工程
- 2025年山東省淄博市高新區中考一模歷史試題(原卷版+解析版)
- 機場航站樓行李輸送帶維護
- 2024年1月四川省普通高中學業水平合格性考試物理試題(含答案)
- 銀行保安筆試題及答案
- 早期食管癌的內鏡下治療主題課件
- 飼料廠粉塵防爆培訓課件
評論
0/150
提交評論