




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、JBPM與與Spriing集成成開發指南南 1 術語語工作流:全部或者者部分,由由計算機支支持或自動動處理的業業務過程。工作流管理理系統:工工作流管理理系統是這這樣的一個個系統,詳詳細定義、管理并執執行“workkflowws”,系統通通過運行一一些軟件來來執行woorkfllows,這這些軟件的的執行順序序由工作流流邏輯的計計算機表示示形式(計計算機化的的業務規則則過程定定義)驅動。工單:一次次申請的提提交記錄,該該記錄具有有唯一性。工單相關關的概念: l 工單單管理:對對投訴工單單、建議工工單、座席席建議工單單、業務受受理工單等等不同類型型的工單進進行派發、接收處理理、回復等等一系列工工單
2、處理操操作。 l 工單單統計:對對各種處理理工單的數數量,類型型進行數據據統計和導導出、報表表打印。 l 工單單系統管理理:對工單單系統進行行管理,設設置相應的的處理部門門、處理人人員和相應應的權限,規規定處理流流程。 l 工單單日志:記記錄工單操操作日志,有有效管理日日志的處理理狀況和責責任。 2 背景景工作流管管理系統一一項快速發發展的技術術,各種行行業漸漸的的采用工作作流技術。工作流技技術的主要要特點是:過程的自自動化處理理,這些過過程包含由由人與以機機器為基礎礎的活動相相結合;特特別是對那那些與ITT 應用程程序、工具具交互的過過程,進行行自動化處處理。雖然然,工作流流技術廣泛泛用于辦
3、公公環境中,例例如保險、銀行、法法院和行政政管理等,然然而工作流流技術,也也可以應用用于一些類類型的工業業和制造業業。 3 概述述在人們日日常生活和和工作中,都都將與工作作流程發生生密切的關關系,“工作流”干預過程程、業務程程序的自動動化處理,文文檔、信息息或者任務務按照定義義好的規則則在參與者者間傳遞,來來完成整個個業務目標標或者對整整個業務目目標的完成成做貢獻。應用領域域廣泛,比比如: l 公司司或組織內內部請假或或休假流程程、通知分分發流程等等 l 政府府政策審批批流程、 l 網上上書店圖書書訂閱流程程、發送流流程等 l 駕照照學習流程程等等。同時,“工工作流”可能由手手工組織,實實際上
4、,多多數“工作流 ”都在ITT系統中進進行組織的的,從而對對過程自動動化提供計計算機支持持?!肮ぷ髁鳌辈捎糜嬎闼銠C化后,可可以大大提提高工作和和生活的效效率,而信信息化過程程中,對于于采用的技技術實現方方式的不同同,將直接接影響到信信息化的質質量,包括括:開發成成本、維護護成本等。好的工作作流解決方方案,可以以大大提高高業務流程程流轉效率率、容易擴擴展對新流流程的支持持等。JBPM是是當前優秀秀的開源工工作流引擎擎。本文檔檔是關于JJBPM與與Spriing框架架集成分析析文檔。包包括:基本本概念、設設計要點、常見問題題解答、參參考資源等等。本文主要介介紹了集成成開發的高高級內容,基基礎知識參
5、參見:參考考資料本文檔適合合所有計算算機開發人人員。 4 基本本概念 44.1 什么是工工作流“工作流”干預過程程、業務程程序的自動動化處理,文文檔、信息息或者任務務按照定義義好的規則則在參與者者間傳遞,來來完成整個個業務目標標或者對整整個業務目目標的完成成做貢獻。同時,“工作流”可能由手手工組織,實實際上,多多數“工作流 ”都在ITT系統中進進行組織的的,從而對對過程自動動化提供計計算機支持持,WFMMC把工作作定位在這這個方向上上?!肮ぷ髁鳌倍x:全全部或者部部分,由計計算機支持持或自動處處理的業務務過程。工作流經常常與“過程重組組(BPRRBusiinesss Proocesss Re-
6、engiineerring)”聯系在一起。BPR 是關于企業(組織)核心業務過程的評估、分析、模擬、定義以及其后的操作實現。盡管,不是所有的BPR都是采用工作流實現的,但工作流技術是最佳的方法,主要因為,工作流技術提供了業務過程邏輯與IT操作支持的分離,從而以后可以修改過程規則來重定義業務過程。相反,工作流技術并不只在BPR中采用,例如用于現有的業務過程中。“工作流管管理系統(WWFMSWorkkfloww Mannagemment Systtem)”通過管理理工作活動動序列,調調用與各種種活動步驟驟相關的人人員、ITT資源,對對業務過程程提供自動動化處理?!肮ぷ髁鞴芄芾硐到y”定義:工工作流管
7、理理系統是這這樣的一個個系統,詳詳細定義、管理并執執行“workkflowws”,系統通通過運行一一些軟件來來執行woorkfllows,這這些軟件的的執行順序序由工作流流邏輯的計計算機表示示形式(計計算機化的的業務規則則過程定定義)驅動動。每個業業務過程都都有一個生生命周期,從從幾分鐘到到幾天(甚甚至數月),由由過程的復復雜性與組組成活動的的持續時間間來決定。有多種方方法實現工工作流管理理系統,使使用多種IIT和通訊訊組件,運運行環境可可以從一個個小的本地地工作組到到企業間。因此,WWFMC參參考模型從從各種角度度考慮工作作流管理系系統,希望望提供各種種不同的實實現技術、運行環境境。盡管實現
8、的的方法多種種多樣,但但所有的WWFMS都都表現出某某種共同的的特性,這這為不同產產品間的集集成、協同同工作提供供了基礎。參考模型型描述了工工作流系統統的一個公公共模型,并并且指出參參考模型如如何能使其其與其他各各種不同的的實現方法法相關聯。在最高層,所所有的WFFMS都相相同的特性性,即為下下邊的3個個功能提供供支持: 建立時時期(Buuild-timee)功能,定定義、模擬擬工作流過過程,及其其組成活動動。 運行時時期(Ruun-tiime)控控制功能,在在運行環境境中管理工工作流過程程,管理不不同 運行時時期與用戶戶、IT應應用程序(工工具)的交交互,來處處理各種活活動的執行行。下圖描述
9、WWFMS的的基本特性性,以及上上述功能間間的關系: 4.2 JBPMM 4.2.1 介紹jBPM is aa plaatforrm foor exxecuttablee proocesss lannguagges rrangiing ffrom busiinesss proocesss mannagemment (BPMM) ovver wworkfflow to sserviice oorcheestraationn. Thhere are manyy proocesss lannguagges. Eachh onee is targgetedd towwardss a sspeciifi
10、c funcctionn andd a sspeciific enviironmment. jBPPM alllowss alll of thesse prrocesss laanguaages to bbe buuild natiivelyy on top of oone ssinglle teechnoologyy: thhe Prrocesss Viirtuaal Maachinne (PPVM). jBPPM allreaddy suupporrts 33 verry diifferrent proccess langguagees: jjPDL, WS-BPELL andd Seaa
11、m Paagefllow. Thiss migght eexpannd inn thee futture as nnew pproceess llanguuagess aree addded tto ouur pllatfoorm. jBPMM(JBooss BBusinness Proccess Manaagemeent業務務流程管理理),它是是覆蓋了業業務流程管管理、工作作流、服務務協作等領領域的一個個開源的、靈活的、易擴展的的可執行流流程語言框框架。 jPPDL是構構建于jBBPM框架架上的流程程語言之一一。在jPPDL中提提供了任務務(tassks)、待處理狀狀態 (wwait sta
12、ttes)、計時器(ttimerrs)、自自動處理(aautommatedd acttionss)等術語,并并通過圖型型化的流程程定義,很很直觀地描描述業務流流程。 jPPDL可以以部署于JJava語語言的任何何應用環境境下,JaavaSEE Appplicaationn(Swiing/SSWT)、JavaaEE AAppliicatiion(AAppliicatiion SServeer) 。 4.2.2 jPDLL分發包組組成目前jPDDL的最新新版本是33.2.22,您可以以在以下地地址:htttp:/jbosssjbppm/jppdl_ddownlloadss/獲得官官方下載包包。下載
13、包包分為兩種種,一種是是標準包(jbpmm-jpddl-3.2.2.zip)只有200M左右;一種是套套件包(jjbpm-jpdll-suiite-33.2.22.zipp)將近880M。兩兩者最大的的區別是套套裝包自帶帶一個已經經配置好的的jbosss服務,下下載解壓縮縮后,可直直接運行。 4.2.3 jPDDL的核心心程序包(jbpmm-jpddl.jaar) 它是一個典典型的jaar文件,它它涵蓋對流流程定義和和運行時流流程實例上上下文環境境的操作AAPI。在在最簡化的的業務流程程樣例中,jjPDL將將流程定義義存儲與XXML格式式的定義文文件中,在在運行時載載入內存,在在內存里記記錄完
14、整的的業務實例例和執行過過程的環境境變量,并并完成全部部操作。顯顯然,在實實際應用中中,流程信信息必須被被持久化的的存儲于數數據庫中。jPDLL使用了HHiberrnatee作為其對對象持久化化的APII。 4.2.4 Graaphiccal PProceess DDesiggner插插件(jbbpm-jjpdl-desiignerr-3.11.2.zzip) 它是一個基基于Ecllipsee的圖型編編輯插件。使用它可可以對業務務流程進行行可視化的的定制,而而無須手動動編輯XMML文件。該插件還還提供了流流程定義上上傳功能,可可以將新定定義的流程程發布到在在線運行的的jPDLL系統上。 4.2
15、.5 jPDLL身份包(jbpmm-ideentitty.jaar) 它是jjPDL的的一個輕量量級擴展包包,簡單實實現了組GGroupp、用戶UUser、許可權PPermiissioon等用戶戶身份認證證和鑒權機機制。如果果您的應用用環境只需需要簡單的的用戶認證證鑒權管理理,那么它它十分適合合您。 4.2.6 jPDDL Weeb控制臺臺(jbppm-coonsolle.waar) 它是一個標標準Webb應用(使使用了JSSF技術),提提供了對jjPDL平平臺執行情情況的監控控程序(對對jPDLL數據庫的的監控)。管理員可可以通過該該程序方便便的維護jjPDL的的數據庫,管管理流程定定義和流
16、程程實例的執執行情況。同時,它它還提供了了一個簡單單的Getttingg staartedd DEMMO,方便便初學者了了解jPDDL。 4.2.7 靜態的流流程定義模模型 4.2.7.1 流程定義義實體(PProceess DDefinnitioon)編號 PD-0001 對象 流程定義義實體(PProceess DDefinnitioon) 描述 流程定義義實體是對對一個流程程抽象的對對象化定義義,如圖-002。一套系統統中,用戶戶可以定義義保存多個個流程定義義實體,如如:報銷流流程定義、請假流程程定義、人人事錄用流流程定義等等。每個流流程定義還還可以有多多個不同的的版本,如如:針對同同樣
17、的報銷銷流程可以以有修訂前前和修訂后后的兩個流流程定義,同同時存儲于于jPDLL數庫中。用戶可以以通過流程程名稱和版版本號獲取取相應的流流程定義。在默認請請況下,系系統啟用最最新的流程程定義。 Java對對象 org.jbpmm.graaph.ddef.PProceessDeefiniitionn 數據庫表 JBPMM_PROOCESSSDEFIINITIION該表表存儲流程程定義的通通用信息,如如:流程名名稱、版本本號 表關聯說明明 JBPMM_PROOCESSSDEFIINITIION表中中,每條記記錄有自己己的數據庫庫流水號 ID_JJBPM_PROCCESSDDEFINNITIOON的
18、外鍵鍵(Forreignn Keyys):starttstatte_ 同同JBPMM_NODDE(流程程結點)表表關聯。此此外鍵指向向流程定義義中的起始始結點IDD 4.2.7.2 流程結結點(Noode)編號 PD-0002 對象 流程結點點(Nodde) 描述 流程結點點是對流程程中的過程程環節/行行為的抽象象對象化定定義,如圖圖-0022中的每個個方框即代代表一個結結點。結點點有兩個主主要職責:一,實現現某個指定定行為,這這在jBPPM中就是是執行一段段制定的JJava代代碼;二,轉轉遞、維持持流程的延延續,直至至達到最終終結點。在在jPDLL的結點設設計中,系系統開放了了充分的用用戶行
19、為模模型,程序序員可以基基于這些行行為接口,實實現自定義義的業務功功能。在jjPDL中中,系統預預定義了一一系列的NNode類類型,同時時也允許程程序員開發發定義自己己的Nodde類型。 Java對對象 org.jbpmm.graaph.ddef.NNode 數據庫表 JBPMM_NODDE該表存存儲結點的的定義信息息。 表關聯說明明 JBPMM_NODDE表中,每每條記錄有有自己的數數據庫流水水號 ID_JJBPM_NODEE的外鍵(FForeiign KKeys):proceessdeefiniitionn_ - 此外鍵說說明該Noode從屬屬的流程定定義對象IID subprrocess
20、sdeffinittion_- 此外外鍵指定了了一個由該該Nodee發起的子子流程。在在主流程離離開當前結結點之前,該該子流程必必須完成執執行過程。actiion_ - 此外外鍵指定該該結點動作作類的IDD superrstatte_ - 該外鍵鍵是一個自自關聯鍵,指指向結點的的上級父結結點ID。一個子流流程中的多多個結點從從屬于同一一個父流程程結點。 decissionddeleggatioon_ 該外鍵鍵指定了結結點委派的的判定類IID(所謂謂委派判定定類是指根根據用戶的的業務邏輯輯,判定流流程的下一一個流向的的Javaa Claass) 4.2.7.3 流程程轉向(TTranssitio
21、ons)編號 PD-0003 對象 流程轉向向(Traansittionss) 描述 流程轉向向是描述流流程中從一一個結點到到另一個結結點的狀態態轉換過程程,因此一一個轉向一一定有一個個源結點和和一個目標標結點。 在jPDDL中trransiitionn的命名是是通產是唯唯一的,結結點依靠ttranssitioon的命名名來區別到到下一結點點的路徑,當當一個Noode中存存在有多個個同名的ttranssitioon的時候候,第一個個trannsitiion將會會被選中。結點轉向向的過程中中,排在ttranssitioon列表第第一位置的的即是默認認的traansittion。 Java對對象
22、org.jbpmm.graaph.ddef.TTranssitioon 數據庫表 JBPMM_TRAANSITTION該該表存儲流流程定義中中的轉向對對象。 表關聯說明明 JBPMM_TRAANSITTION表表中,每條條記錄有自自己的數據據庫流水號號 ID_JJBPM_TRANNSITIION的外外鍵(Fooreiggn Keeys):proceessdeefiniitionn_ - 該外鍵指指向traansittion所所屬的流程程定義對象象ID from_ - 該該外鍵指向向trannsitiion的源源結點IDD to_ -該外鍵指指向traansittion的的目標結點點ID 4.2
23、.7.4 動作作(Acttionss)編號 PD-0004 對象 動作(AActioons) 描述 Actiions是是指一系列列的在流程程事件中運運行的Jaava代碼碼。流程圖圖是軟件需需求的傳達達的重要手手段,但它它只是軟件件需求的一一個投影,隱隱藏了很多多技術實現現的細節。Actiions則則是向流程程圖添加技技術實現細細節的一種種機制,它它可以很好好的補充和和修飾流程程圖。這意意味著在不不改變流程程圖結構的的情況下,可可以將Jaava的代代碼與之關關聯。Acctionns通過事事件(Evventss)同流程程綁定,常常用的主要要事件包括括:進入結結點、離開開結點、進進行轉向。請注意,同
24、同Evennts關聯聯的Acttionss和處于NNode中中的Acttionss是有不同同的。處于于Evennts中的的Actiions是是通過事件件觸發執行行的,它是是典型的觀觀察者模式式,是無法法影響流程程控制的流流向。而處處于Nodde中的AActioon則要承承擔起流程程傳遞的責責任。此外外,Acttionss是可以命命名的。可可以通過AActioons的命命名在任何何地方引用用該Acttionss。命名的的Actiions可可以作為主主流程定義義的公用子子元素。這這個功能可可以提高對對Actiions定定義的復用用。 Java對對象 org.jbpmm.graaph.ddef.AA
25、ctioon 數據庫表 JBPMM_ACTTION該該表存儲流流程定義中中的動作對對象。 表關聯說明明 JBPMM_ACTTION表表中,每條條記錄有自自己的數據據庫流水號號ID_ JBPMM_ACTTION的的外鍵(FForeiign KKeys):proceessdeefiniitionn_ - 指明acctionn所屬的流流程定義IID eventt_ - 指明acctionn綁定的eeventt ID actioondellegattion_ - 指指明acttion的的委派對象象ID excepptionnhanddler_ - 指指定acttion的的異常處理理ID referre
26、nceedacttion_ - 指指向當前aactioon引用的的actiion的IID timerractiion_ - 指向向當前acctionn引用的計計時器acctionn 4.2.7.5 事件(EEventts)編號 PD-0005 對象 事件(EEventts) 描述 事件表示示流程執行行中的某個個特定的時時刻。在流流程執行的的過程中,通通過jBPPM的引擎擎觸發事件件,這通常常發生在jjbpm計計算后續狀狀態的時候候。事件總總是和流程程中的元素素綁定,這這些元素包包括:流程程定義(pproceess ddefinnitioon)、流流程結點(nnode)、流程轉向向(traans
27、ittion)和和任務(ttask)。不同的元元素會觸發發不同的事事件,拿nnode元元素來說,有有 nodde-ennter事事件和noode-lleavee事件。事事件是acctionn的鉤子,一一個事件可可以回調一一系列的aactioon。當jjBPM引引擎觸發事事件的時候候,事件中中綁定的aactioon就會被被執行。在在jBPMM中,事件件模型是可可傳播的。一個子元元素觸發的的事件,將將逐層向上上傳播到頂頂層的流程程定義元素素。這樣的的設計使得得事件可以以被集中化化處理。 Java對對象 org.jbpmm.graaph.ddef. Evennt 數據庫表 JBPMM_EVEENT該
28、表表存儲流程程定義中的的事件對象象,這些事事件與相關關的acttion綁綁定。 表關聯說明明 JBPMM_EVEENT表中中,每條記記錄有自己己的數據庫庫流水號IID_ JBPMM_EVEENT的外外鍵(Fooreiggn Keeys):proceessdeefiniitionn_ - 指向eeventt所屬的流流程定義IID node_ - 指向evvent所所屬的noode IID transsitioon_ - 指向向evennt所屬的的trannsitiion IID task_ - 指向eeventt所屬的任任務ID 4.2.7.6 任務(TTask)編號 PD-0006 對象 任務
29、(TTask) 描述 任務作為為流程定義義中的一部部分,定義義了如何創創建任務實實例(Taask iinstaancess)以及任任務分配。任務可以以在任務結結點(Taask-NNode)和和流程定義義(proocesss-deffinittion)兩兩個地方定定義。通常常會在一個個任務結點點中定義一一個或多個個的任務。在這種情情況下,任任務結點表表示在流程程中等待用用戶處理的的交互操作作。業務流流程會停留留在任務處處,等待用用戶完成相相應的操作作之后繼續續。任務也也可在流程程定義中聲聲明。通過過任務名,可可以找到相相應的任務務定義,并并引用他們們。實際上上任何有命命名的任務務都可以通通過名字
30、被被引用。在在整個的流流程定義中中,任務名名必須是唯唯一的。此此外,還可可以給任務務設定優先先級,這些些優先級屬屬性將成為為任務實例例化時的默默認設置。任務實例例可以在之之后的運行行中改變優優先級。. Java對對象 org.jbpmm.tasskmgmmt.deef.Taask 數據庫表 JBPMM_TASSK該表存存儲流程定定義中聲明明的任務對對象。 表關聯說明明 JBPMM_TASSK表中,每每條記錄有有自己的數數據庫流水水號ID_JBPM_TASKK的外鍵(FForeiign KKeys):proceessdeefiniitionn_ -指向taask所屬屬的流程定定義ID taskm
31、mgmtddefinnitioon_ - 指向ttask引引用的TaaskMggmtDeefinttion對對象ID tasknnode_ - 指指向tassk所屬的的任務結點點ID starttstatte_ -指向taask所屬屬流程的起起始結點IID assiggnmenntdellegattion_ - 指指定tassk委派處處理的cllass對對象的IDD swimllane_ - 指指定tassk要授權權的swiimlanne(角色色)ID taskccontrrolleer_ - 指定一一個tassk賦值的的委托類 4.2.8 具體化的的流程實例例模型流程實例中中最重要的的三個對
32、象象:流程實實例(Prrocesss Innstannce)、令牌(TTokenn)、任務務實例(TTask Insttancee). 4.2.8.1 流程實例例(Proocesss Insstancce)編號 PI-0001 對象 流程實例例(Proocesss Insstancce) 描述 流程實例例是流程定定義的運行行時狀態,它它記錄了一一個流程運運行的起始始時間、結結束時間等等狀態信息息 Java對對象 org.jbpmm.graaph.eexe.PProceessInnstannce 數據庫表 JBPMM_PROOCESSSINSTTANCEE該表存儲儲運行時的的流程對象象信息。 表
33、關聯說明明 JBPMM_PROOCESSSINSTTANCEE表中,每每條記錄有有自己的數數據庫流水水號 ID_JBBPM_PPROCEESSINNSTANNCE的外外鍵(Fooreiggn Keeys):proceessdeefiniitionn_ - 該流程實實例對應的的流程定義義的ID rootttokenn_ - 該流程實實例引用的的跟令牌 superrproccessttokenn_ - 如果當前前流程是某某個流程實實例的子流流程,則指指向該父流流程的IDD 4.2.8.2 令牌(TTokenn)編號 PI-0002 對象 令牌(TTokenn) 描述 令牌代表表一個流程程執行的路路
34、徑,它維維護著流程程定義中各各個結點的的指針,同同時記錄了了流程當前前執行的位位置。 Java對對象 org.jbpmm.graaph.eexe.TTokenn 數據庫表 JBPMM_TOKKEN該表表存儲運行行時令牌對對象信息,它它表示當前前流程執行行到的位置置。 表關聯說明明 JBPMM_TOKKEN表中中,每條記記錄有自己己的數據庫庫流水號IID_ JJBPM_TOKEEN的外鍵鍵(Forreignn Keyys):proceessinnstannce_ - 指向該令令牌所屬的的流程實例例的ID。 subprrocesssinsstancce_ - 指向該該令牌所屬屬的子流程程實例IDD
35、。 node_ - 令牌所在在(所指向向的)的當當前節點IID. parennt_ - 如果當當前令牌是是一個分支支流程或子子流程的令令牌,則該該值指向其其父令牌IID。 4.2.8.3 任務實實例(Taask IInstaance)編號 PI-0003 對象 任務實例例(Tassk Innstannce) 描述 一個任務務實例對象象可以分配配給指定的的操作者處處理,當任任務完成后后,將觸發發流程繼續續下行。任任務實例的的生命周期期很簡單,生生成實例開始始處理任務結結束。從彈彈性設計考考慮出發,任任務的分配配不屬于實實例生命周周期的一部部分,任務務是否被分分配是不會會影響其生生命周期過過程的。
36、當當流程進入入一個任務務結點的時時候,結點點上任務被被實例化;用戶通過過訪問系統統的界面組組件,獲取取自己的任任務列表,可可以進行任任務委派、處理或直直接結束任任務。任務務實例記錄錄著任務創創建的時間間、結束時時間,這些些信息可以以通過TaaskInnstannce對象象中的geetterr方法獲取取。一個任任務實例的的結束時間間標識它的的完成,在在后緒的任任務查詢中中,該實例例不會被取取出,但實實例的記錄錄仍保留于于數據庫中中。 Java對對象 org.jbpmm.tasskmgmmt.exxe.TaaskInnstannce 數據庫表 JBPMM_ TAASKINNSTANNCE該表表存儲
37、運行行時任務實實例信息。 表關聯說明明 JBPMM_ TAASKINNSTANNCE表中中,每條記記錄有自己己的數據庫庫流水號IID_JBBPM_ TASKKINSTTANCEE的外鍵(FForeiign KKeys):task_ - 指指向定義該該實例的任任務ID tokenn_ - 指向任務務實例對應應的令牌IID swimllaneiinstaatncee_ - swiimlanne 實例例,表示處處理該任務務的角色 taskmmgmtiinstaance_ - 管理該該任務的模模塊實例IID 4.3 SpriingSprinng Frramewwork 是一個 Javaa/Javva
38、EEE/.NEET 的分分層應用程程序框架。該框架基基于 Exxpertt Onee-on-One Javaa EE Desiign aand DDevellopmeent(IISBN 0-76645-44385-7)一文文中的代碼碼,并最初初由 Rood Joohnsoon 和 Juerrgen Hoelller et aal 開發發。Sprring Frammeworrk 提供供了一個簡簡易的開發發方式,這這種開發方方式,將避避免那些可可能致使底底層代碼變變得繁雜混混亂的大量量的屬性文文件和幫助助類。 SSprinng 中包包含的關鍵鍵特性: 強大的基基于 JaavaBeeans 的采用控
39、控制翻轉(IInverrsionn of Conttrol,IIoC)原原則的配置置管理,使使得應用程程序的組建建更加快捷捷簡易。 一個可用用于從 aappleet 到 Javaa EE 等不同運運行環境的的核心 BBean 工廠。 數據庫事事務的一般般化抽象層層,允許插插件式事務務管理器,簡簡化事務的的劃分使之之與底層無無關。 內建的針針對 JTTA 和 單個 JJDBC 數據源的的一般化策策略,使 Spriing 的的事務支持持不要求 Javaa EE 環境,這這與一般的的 JTAA 或者 EJB CMT 相反。 JDBCC 抽象層層提供了有有針對性的的異常等級級(不再從從SQL異異常中提
40、取取原始代碼碼), 簡簡化了錯誤誤處理, 大大減少少了程序員員的編碼量量. 再次次利用JDDBC時,你你無需再寫寫出另一個個 終止止 模塊塊. 并且且面向JDDBC的異異常與Sppringg 通用數數據訪問對對象 (DData Acceess OObjecct) 異異常等級相相一致. 以資源容容器,DAAO 實現現和事務策策略等形式式與 Hiibernnate,JJDO 和和 iBAATIS SQL Mapss 集成。利用眾多多的翻轉控控制方便特特性來全面面支持, 解決了許許多典型的的Hibeernatte集成問問題. 所所有這些全全部遵從SSprinng通用事事務處理和和通用數據據訪問對象象
41、異常等級級規范. 靈活的基基于核心 Spriing 功功能的 MMVC 網網頁應用程程序框架。開發者通通過策略接接口將擁有有對該框架架的高度控控制,因而而該框架將將適應于多多種呈現技技術,例如如 JSPP,FreeeMarrker,VVeloccity,TTiless,iTeext 以以及 POOI。值得得注意的是是,Sprring 中間層可可以輕易地地結合于任任何基于 MVC 框架的網網頁層,例例如 Sttrutss,WebbWorkk,或 TTapesstry。 提供諸如如事務管理理等服務的的面向方面面編程框架架。 4.4 Spriing MModullesSprinng Moodulee
42、s iss a ssub-pprojeect oof Sppringg inttendeed too easse inntegrratioon wiith 33rd ppartyy prooductts wiithouut ovverlooadinng thhe coore fframeeworkk witth addditiionall deppendeenciees.The mmodulles iincluuded in tthe 00.9 rreleaase aare:Ant iinteggratiion. Flux suitte off prooductts inntegrratioo
43、n. HiveMMind inteegrattion. Lucenne inntegrratioon. Apachhe OJJB inntegrratioon. O/R BBrokeer inntegrratioon. OSWorrkfloow inntegrratioon. Tapesstry inteegrattion. Suppoort ffor ddeclaaratiive ccachiing sserviices inclludinng EHHCachhe, JJCS, OSCaache, GiggaSpaaces and otheers. Suppoort ffor ddb4o S
44、uppoort ffor JJSR-994 Ruules Engiines suchh as Droools aand JJess Suppoort ffor vvarioous JJakarrta CCommoons ccompoonentts suuch aas Coonfiggurattion, Lanng, CChainn andd Commmonss Vallidattor Suppoort ffor JJavaSSpacees, iincluudingg Giggaspaaces and Blittz. Suppoort ffor jjBPM 3.0.x annd 3.1.x Su
45、ppoort ffor JJSR-1170 (Javaa Conntentt Repposittory) inccludiing JJackrrabbiit annd Jeeceirra. Suppoort ffor wweb ttempllate engiines likee Freeemarrker, Grooovy, Vellocitty, WWebMaacro and XSLTT. Valanng: VValiddatioon Laanguaage. Bean Valiidatiion FFrameeworkk. Sprinng MVVC addd-onns. XT Frramewwo
46、rk: Dommain-Drivven DDesiggn orrientted fframeeworkk andd Sprring MVC AJAXX suppportt forr devvelopping richher ddomaiin moodelss andd riccher userr intterfaaces. 5 集成成 5.11 Intrroducctionnj jBPPM moodulee offfers inteegrattion betwween the Spriing aand jjBPM alloowingg forr reuuse oof Sppringgs HHi
47、berrnatee suppportt aloong wwith the IoC conttaineer. TThe mmodulle alllowss jBPPMs undeerlyiing HHiberrnatee sesssionnFacttory to bbe coonfigguredd thrroughh Sprring and jBPMM acttionss to acceess SSprinngs conttext. 5.2 ConffigurratioonUserss fammiliaar wiith SSprinng wiill ssee tthat the jBPMM mo
48、ddule struucturre reesembbles withh thee ormm pacckagee froom thhe maain SSprinng diistriibutiion. The moduule oofferrs a centtral tempplatee claass ffor wworkiing wwith jBPMM, a calllbackk to acceess tthe nnativve JbbpmCoontexxt annd a locaal faactorry beean ffor cconfiiguraationn andd creeatinng a
49、 jBPMM insstancce. cclassspathh:/orrg/sppringgmoduules/workkfloww/jbppm31/someeOtheerWorrkfloow.xmml sett The eexampple aabovee shoows hhow (exisstingg) Sppringg-mannagedd Hibbernaate SSessiionFaactorries and trannsacttion manaagemeent ccan bbe reeusedd witth jBBPM. 5.3 LocaalJbppmConnfiguuratiionFa
50、actorryBeaanThe mmain elemment is LLocallJbpmmConffigurratioonFacctoryyBeann whiich sshoulld bee fammiliaar too useers aacusttomedd to Spriing. Baseed onn thee jbppm coonfiggurattion filee andd thee givven SSessiionFaactorry, iit wiill ccreatte a jBPMM connfiguuratiion wwhichh cann be usedd forr wor
51、rkingg witth thhe giiven proccess defiinitiions. It is ppossiible to rreplaace jjBPM xml conffigurratioon wiith jjBPM 3.1.x neewly addeed ObbjecttFacttory - noote tthat if bboth are pressent the xml conffigurratioon iss preefferred. LocaalJbppmConnfiguuratiionFaactorryBeaan alllowss thee creeatioon
52、off thee undderlyying scheema bbasedd on the proccess defiinitiions loadded aautommaticcallyy at starrtup.Note thatt thee sesssionnFacttory proppertyy is not manddatorry - Hibeernatte SeessioonFacctoryy cann be reussed wwith jBPMM or jBPMM cann worrk byy itsself withhout any inteegrattion withh thee
53、 exiistinng innfrasstruccturee. Hooweveer, iin moost sscenaarioss, ussing LocaalJbppmConnfiguuratiionFaactorryBeaan alllowss onee to takee advvantaage oof Sppringg traansacctionn mannagemment infrrastrructuure sso itts ppossiible withhout any codee chaange to uuse jjBPM, Hibbernaate aand jjdbc-basee
54、d coode iinsidde thhe saame ttranssactiionall conntextt, bee it manaaged locaally or gglobaally (JTAA). MMoreoover, it is ppossiible to uuse tthreaad-boound sesssion or OOpenSSessiionInnVieww pattternns wiith jjBPM.LocallJbpmmConffigurratioonFacctoryyBeann is alsoo awaare oof thhe ennclossing applli
55、cattionCConteext llifeccyclee - jjBPM willl be inittialiized oncee thee conntextt is starrted (usuuallyy appplicaationn staartupp) annd wiill bbe cllosedd prooperlly whhen tthe cconteext iis deestrooyed (appplicaationn is shuttdownn).Note thatt LoccalJbbpmCoonfiggurattionFFactooryBeean ccan bbe coon
56、figguredd proogrammaticcallyy andd cann be usedd staandallone onlyy to builld ann jBPPM coontexxt whhich can be uused indeependdentlly off Sprring Moduules jBPMM suppportt. 5.4 Inveersioon off Conntroll: JbbpmTeemplaate aand JJbpmCCallbbackAnothher iimporrtantt feaaturee of Spriing MModulles jjBPM s
57、uppport is JJbpmTTempllate. Thee temmplatte offferss verry coonvieent wways of wworkiing ddirecctly withh proocesss deffinittionss as welll as jBPMM APII takking caree of handdlingg excceptiions (be it jjBPM or HHiberrnatee bassed) in rrespeect tto thhe onngoinng trransaactioon (iif itts ppreseent),
58、 thee undderlyying Hibeernatte seessioon (iif peesisttent servvicess aree useed) aand tthe jjBPM conttext. jBPPM exxcepttionss (annd thhe unnderllyingg Hibbernaate iinforrmatiion) are trannslatted iinto Spriingss DAOO excceptiion hhieraarchyy. Evverytthingg happpenss in a trranspparennt annd coonsis
59、stentt mannner.Thiss is posssiblee, ass witth evvery Spriing-sstylee temmplatte,evven wwhen direect aaccesss too thee nattive JbpmmConttext is ddesirred, throough the JbpmmCalllbackk:publiic PrrocesssInsstancce fiindPrrocesssInsstancce(fiinal Longg proocesssInsttanceeId) retuurn (ProccessIInstaance)
60、 exeecutee(neww JbppmCalllbacck() ppubliic Obbjectt doIInJbppm(JbbpmCoontexxt coontexxt) / doo sommethiing rreturrn coontexxt.geetGraaphSeessioon().loaddProccessIInstaance(proccessIInstaanceIId.loongVaalue(); ); As weell, as LLocallJbpmmConffigurratioonFacctoryyBeann, thhe JbbpmTeemplaate ccan bbe c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公軟件應用技術考試
- 2025中文合同談判常用句型
- 人工挖井合同樣本
- 二零二五版知識產權服務框架協議
- 個人退股協議書范例二零二五年
- 商鋪產權轉讓合同
- 2025四川房屋租賃合同范本
- 聘用兼職教師合同二零二五年
- 工業品買賣合同參考
- 二零二五食品安全協議責任書
- 吉林省吉林市2024-2025學年高三下學期3月三模試題 生物 含答案
- 2025年陜西農業發展集團有限公司(陜西省土地工程建設集團)招聘(200人)筆試參考題庫附帶答案詳解
- 2025年03月中央社會工作部所屬事業單位公開招聘11人筆試歷年參考題庫考點剖析附解題思路及答案詳解
- 2025年中高端女裝市場趨勢與前景深度分析
- 2025北京清華附中高三(下)統練一數學(教師版)
- 2025-2030中國孵化器行業市場發展前瞻及投資戰略研究報告
- 5.3基本經濟制度 課件 2024-2025學年統編版道德與法治八年級下冊
- Unit4 Breaking Boundaries 單元教學設計-2024-2025學年高中英語外研版(2019)選擇性必修第二冊
- T-CCTAS 61-2023 橋梁承重纜索抗火密封綜合防護技術規程
- 2025慢性阻塞性肺?。℅OLD)指南更新要點解讀課件
- 2024年05月湖北中國郵政儲蓄銀行湖北省分行春季校園招考筆試歷年參考題庫附帶答案詳解
評論
0/150
提交評論