J2EE工作流系統(tǒng)jBPM詳解_第1頁(yè)
J2EE工作流系統(tǒng)jBPM詳解_第2頁(yè)
J2EE工作流系統(tǒng)jBPM詳解_第3頁(yè)
J2EE工作流系統(tǒng)jBPM詳解_第4頁(yè)
J2EE工作流系統(tǒng)jBPM詳解_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

一、 入門簡(jiǎn)介概述工作流業(yè)務(wù)流程管理技術(shù)是基于 技術(shù)實(shí)現(xiàn)的一個(gè)核心部分。使用工作流能夠在軟件開(kāi)發(fā)和業(yè)務(wù)兩個(gè)層次受益:1方便開(kāi)發(fā)工作流管理系統(tǒng)能夠簡(jiǎn)化企業(yè)級(jí)軟件開(kāi)發(fā)甚至維護(hù)。?降低開(kāi)發(fā)風(fēng)險(xiǎn)通過(guò)使用狀態(tài)和動(dòng)作這樣的術(shù)語(yǔ),業(yè)務(wù)分析師和開(kāi)發(fā)人員使用同一種語(yǔ)言交談。這樣開(kāi)發(fā)人員就不必將用戶需求轉(zhuǎn)化成軟件設(shè)計(jì)了。?實(shí)現(xiàn)的集中統(tǒng)一業(yè)務(wù)流程經(jīng)常變化,使用工作流系統(tǒng)的最大好處是:業(yè)務(wù)流程的實(shí)現(xiàn)代碼,不再是散落在各種各樣的系統(tǒng)中。?加快應(yīng)用開(kāi)發(fā)你的軟件不用再關(guān)注流程的參與者,開(kāi)發(fā)起來(lái)更快,代碼更容易維護(hù)。2業(yè)務(wù)流程管理在自動(dòng)化業(yè)務(wù)流程之前,分析并將它們規(guī)格化是一件艱苦但會(huì)有很好回報(bào)的工作:?提高效率許多流程在自動(dòng)化過(guò)程中會(huì)去除一些不必要的步驟較好的流程控制通過(guò)標(biāo)準(zhǔn)的工作方法和跟蹤審計(jì),提高了業(yè)務(wù)流程的管理?改進(jìn)客戶服務(wù)因?yàn)榱鞒痰囊恢滦?,提高了?duì)客戶響應(yīng)的可預(yù)見(jiàn)性?靈活跨越流程的軟件控制,使流程可以按照業(yè)務(wù)的需要重新設(shè)計(jì)。?業(yè)務(wù)流程改進(jìn)對(duì)流程的關(guān)注,使它們趨向于流暢和簡(jiǎn)單但從長(zhǎng)遠(yuǎn)的角度,工作流流程管理技術(shù)的研究可為兩個(gè)階段進(jìn)行:.目前解決華研今后新項(xiàng)目中復(fù)雜業(yè)務(wù)流程如何使用工作流引擎技術(shù)進(jìn)行實(shí)現(xiàn)的問(wèn)題。2上升到面向服務(wù)體系架構(gòu),實(shí)現(xiàn)各個(gè)服務(wù)之間的業(yè)務(wù)流程。P全稱是 ,是一種基于 的輕量級(jí)工作流管理系統(tǒng)。 是公開(kāi)源代碼項(xiàng)目,它使用要遵循 。在年月日,發(fā)布Y版本,并在同一天加入了 ,成為Y企業(yè)中間件平臺(tái)的一個(gè)組成部分,它的名稱也改成 。隨著加入組織,也將進(jìn)入一個(gè)全新的發(fā)展時(shí)代,它的前景是十分光明的。只有最小的倚賴性,它可以很容易的作為庫(kù)來(lái)使用當(dāng)然它也可以用在訪問(wèn)量很大的群應(yīng)用服務(wù)器環(huán)境中 可以同任何數(shù)據(jù)庫(kù)配置可以部署在任何應(yīng)用服務(wù)器上最大的特色就是它的商務(wù)邏輯定義沒(méi)有采用目前的一些規(guī)范,如等,而是采用了它自己定義的

e 認(rèn)為一個(gè)商務(wù)流程可以被看作是一個(gè) 狀態(tài)圖。 就是詳細(xì)定義了這個(gè)狀態(tài)圖的每個(gè)部分,如起始、結(jié)束狀態(tài),狀態(tài)之間的轉(zhuǎn)換等。的另一個(gè)特色是它使用 來(lái)管理它的數(shù)據(jù)庫(kù)。 是目前領(lǐng)域最好的一種數(shù)據(jù)持久層解決方案。通過(guò) , 將數(shù)據(jù)的管理職能分離出去,自己專注于商務(wù)邏輯的處理。具體選型報(bào)告可參考工作流技術(shù)選型評(píng)估報(bào)告)。本文檔主要是工作流研究小組關(guān)于開(kāi)源工作流引擎的研究成果總結(jié)。內(nèi)容包括工作流研究場(chǎng)景的介紹、的環(huán)境配置,并包括以下六個(gè)研究主題:?同開(kāi)發(fā)如何結(jié)合,又如何保持獨(dú)立性;對(duì)應(yīng)用系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)有什么樣的制約?用戶角色如何同應(yīng)用系統(tǒng)結(jié)合,變化又如何處理?流程中每個(gè)活動(dòng),如何動(dòng)態(tài)指定執(zhí)行者?類似傳閱功能如何實(shí)現(xiàn)?子流程如何實(shí)現(xiàn)?流程執(zhí)行步驟耗時(shí)閥值和自動(dòng)提醒設(shè)置?當(dāng)前版本的穩(wěn)定性評(píng)估術(shù)語(yǔ)、定義和縮略語(yǔ)序號(hào),耒語(yǔ)或縮略語(yǔ)說(shuō)明性定義1+EFIfl-業(yè)務(wù)流程管理CbusLnuwEprocessmanagement)1」BF如再然S.公司的開(kāi)源工作流引擎丫應(yīng)用場(chǎng)景本場(chǎng)景是從房地產(chǎn)營(yíng)銷系統(tǒng)的需求中提取出來(lái)的,在房地產(chǎn)項(xiàng)目中,客戶選戶購(gòu)房的過(guò)程是一個(gè)非常典型的工作流場(chǎng)景。我們將這一過(guò)程提取出來(lái),作為技術(shù)研究的場(chǎng)景。在購(gòu)房過(guò)程中,會(huì)有以下人員參與??蛻簦嘿?gòu)房的主體銷售人員:在購(gòu)房過(guò)程中指導(dǎo)看房,購(gòu)房。銷售經(jīng)理:確定認(rèn)購(gòu)信息。財(cái)務(wù)人員:收取定金??头藛T:打印收據(jù),打印客戶認(rèn)購(gòu)書??蛻糍?gòu)房的過(guò)程可以描述如下。?客戶來(lái)到售樓中心,銷售人員進(jìn)行接待。?客戶向銷售人員提供預(yù)先申請(qǐng)的服務(wù)號(hào)。?銷售人員確認(rèn)服務(wù)號(hào)是否有效,如果無(wú)效現(xiàn)場(chǎng)給出一個(gè)新的服務(wù)號(hào)。?銷售人員引導(dǎo)客戶選房。?客戶確定戶型,房號(hào)。?銷售人員錄入客戶認(rèn)購(gòu)資料。?銷售人員確認(rèn)認(rèn)購(gòu)資料填寫完整。?銷售人員將認(rèn)購(gòu)資料提交給銷售經(jīng)理審批。?確定是否可以獲得優(yōu)惠,如果客戶是一次交清房款,獲得優(yōu)惠。?交上級(jí)經(jīng)理審批。?銷售人員引導(dǎo)客戶到財(cái)務(wù)處交納定金。?交納定金后,客服人員打印收據(jù)。?客服人員打印認(rèn)購(gòu)書。為了使用研究的場(chǎng)景更有代表性,揉合其他典型的工作流應(yīng)用場(chǎng)景,將上面的流程作一些刪改。

客戶認(rèn)購(gòu)的流程改為:?客戶確定購(gòu)房,銷售人員錄入認(rèn)購(gòu)資料。?提交認(rèn)購(gòu)資料,必須保證錄入資料的完整性。?提交審核,按總金額進(jìn)行分類審核。如果金額小于萬(wàn)銷售經(jīng)理審核即可,大于萬(wàn)還要上級(jí)經(jīng)理兩人同時(shí)審核通過(guò)。?審批完成,客戶到財(cái)務(wù)處交納定金。?客服人員為客戶打印收據(jù),打印認(rèn)購(gòu)書,認(rèn)購(gòu)?fù)瓿?。上面的流程中一些異常情況流程中的一些分支,在這里先不作考慮,如,客戶在交納定金之前可以隨時(shí)放棄認(rèn)購(gòu)??蛻舻恼J(rèn)購(gòu)要錄入的資料內(nèi)容包括:客戶姓名,房號(hào),定金,總金額,流程號(hào)等,這里僅選取幾個(gè)重要的數(shù)據(jù)作為保存對(duì)象。保存錄入資料時(shí)自動(dòng)取得一個(gè)流程號(hào),任何時(shí)候,可以根據(jù)此流程號(hào)跟蹤流程狀態(tài),所以在保存認(rèn)購(gòu)資料時(shí)要記錄流程號(hào)。通用的標(biāo)準(zhǔn)規(guī)范 是個(gè)功能全面的 ,融合了大功能: ,, ,。它自己有個(gè) 擴(kuò)展,采用 實(shí)現(xiàn),它使用自定義的自定義標(biāo)準(zhǔn),不支持目前公開(kāi)的工作流業(yè)務(wù)流程)標(biāo)準(zhǔn),如? ?? ? ? ?

處理測(cè)試階段的擴(kuò)展準(zhǔn)備支持標(biāo)準(zhǔn)非標(biāo)準(zhǔn)組織通過(guò)的標(biāo)處理測(cè)試階段的擴(kuò)展準(zhǔn)備支持標(biāo)準(zhǔn)非標(biāo)準(zhǔn)組織通過(guò)的標(biāo)技術(shù)方案因?yàn)楣静扇〉募軜?gòu)是 架構(gòu),所以我們的場(chǎng)景實(shí)現(xiàn)架構(gòu)也是基于以上架構(gòu)進(jìn)行實(shí)現(xiàn)的 )我們所采取的版本是.這也是目前最新的版本。這里我們使用作為我們的服務(wù)器開(kāi)發(fā)環(huán)境這里我們是采用 開(kāi)發(fā)工具進(jìn)行開(kāi)發(fā), 的開(kāi)發(fā)環(huán)境配置和以往的項(xiàng)目配置基本保持一致,這里就不再進(jìn)行詳細(xì)介紹,關(guān)鍵就是的配置方法。我們從 官方網(wǎng)站上下載 ,最新的版本是,這個(gè)包括 ? 預(yù)先配置的 應(yīng)用服務(wù)器?流程圖形化設(shè)計(jì)器的 插件? 數(shù)據(jù)庫(kù)兼容包參看下面 ?核心 組件包括庫(kù)和用戶手冊(cè)?擴(kuò)展參考預(yù)配置的 應(yīng)用服務(wù)器有下列安裝組件核心組件打包作為服務(wù)檔案一個(gè)包括所有 表格的完整數(shù)據(jù)庫(kù)默認(rèn)的 數(shù)據(jù)庫(kù)包含所有的表格和已經(jīng)定義的流程控制臺(tái) 應(yīng)用程序這個(gè)可以用來(lái)為 管理員 調(diào)度程序所有定時(shí)器的執(zhí)行調(diào)度程序在新手工具箱里配置成了一個(gè) 這個(gè) 會(huì)為產(chǎn)生一個(gè)線程來(lái)監(jiān)視每個(gè)定時(shí)器的執(zhí)行一個(gè)流程例子已經(jīng)發(fā)布進(jìn)了 數(shù)據(jù)庫(kù),關(guān)于 套件包的具體介紹,可以參考 手冊(cè)。是一個(gè)庫(kù)因此它可以用在任何 環(huán)境比如 應(yīng)用程序 應(yīng)用程序 等等, 核心組件被打包成一個(gè)簡(jiǎn)單的庫(kù)文件它依賴你所使用的功能性庫(kù) 及一些相關(guān)的第三方的庫(kù)比如在我們實(shí)現(xiàn)場(chǎng)景中。要使用 ,我們首先需要將 的包導(dǎo)入我們的項(xiàng)目當(dāng)中, 的主要包括兩個(gè)包 和 。而是的核心包, 則是 自帶的用戶角色權(quán)限管理包。我們將這兩個(gè)包導(dǎo)入我們的項(xiàng)目中。具體可參考 的用戶手冊(cè))在中,流程的定義主要是編寫在 文件中的,我們需要將具體的業(yè)務(wù)流程在中定義。所以我們需要在項(xiàng)目的根目錄上新建一個(gè)源目錄,這里我們命名為“ ”,在該目錄我們可以保存流程定義文件。包括一個(gè)圖形化的流程設(shè)計(jì)工具這個(gè)設(shè)計(jì)器是用來(lái)創(chuàng)作商業(yè)流程的,該圖形設(shè)計(jì)器是一個(gè) 插件,圖形化設(shè)計(jì)工具最重要的特性是它同時(shí)支持業(yè)務(wù)分析員和技術(shù)開(kāi)發(fā)人員這樣就可以在業(yè)務(wù)流程建模和實(shí)際執(zhí)行之間平滑轉(zhuǎn)換。使用該插件你可以通過(guò)界面來(lái)拖拉描繪你的業(yè)務(wù)流程,而不需要靠手寫編碼來(lái)設(shè)計(jì)。該插件位于中,插件的安裝方法可以參考 插件的安裝方法。安裝完畢后,我們下面可以通過(guò)該插件新建流程設(shè)計(jì)文件。步驟如下:1在 目錄中右建選擇“”一》“ ”2選擇“ ",點(diǎn)擊'' X輸入 ,點(diǎn)擊完成。打開(kāi)設(shè)計(jì)界面,我們就可以在上面根據(jù)我們的業(yè)務(wù)來(lái)設(shè)計(jì)工作流流程文件。本身包含很多自己的數(shù)據(jù)庫(kù)表,內(nèi)部使用 來(lái)管理它的數(shù)據(jù)庫(kù),通過(guò) ,將數(shù)據(jù)的管理職能分離出去,自己專注于商務(wù)邏輯的處理,而且我們可以使移植在不同的數(shù)據(jù)庫(kù)。我們進(jìn)行的每一步流程操作都保存在數(shù)據(jù)表中,通過(guò)調(diào)用提供的接口,我們可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)更新和檢索流程信息的服務(wù)。這里我們使用 數(shù)據(jù)庫(kù),下面我們?cè)陧?xiàng)目中新建一個(gè)源目錄“ ^.名字可以任意,在該目錄建立 文件:<?xmlversion='1.0'encoding='utf-8'?><!DOCTYPEhibernate-configurationPUBLIC"-//Hibernate/HibernateConfigurationDTD3.0//EN""><hibernate-configuration><session-factory><!--hibernatedialect--><<!--JDBCconnectionpool(usethebuilt-in〉--><[--propertyname="hibernate.dialect"〉org.hibernate.dialect.HSQLDialect</property--〉(propertyname="hibernate.dialect"〉org.hibernate.dialect.MySQLDialect(/property〉<!--JDBCconnectionproperties(begin〉===(propertyname="hibernate.connection.driver_class"〉org.hsqldb.jdbcDriver</property〉(propertyname="hibernate.connection.url"〉jdbc:hsqldb:mem:jbpm</property〉(propertyname="hibernate.connection.username">sa</property>(propertyname="hibernate.connection.password"></property>====JDBCconnectionproperties(end〉--><!--JDBCconnectionforMySQLdatabase-->(propertyname="connection.driver_class">com.mysql.jdbc.Driver</property>(propertyname="connection.url">jdbc:mysql://localhost/myjbpm</property>(propertyname="connection.username">root</property>(propertyname="connection.password">1234</property>(propertyname="connection.pool_size">1</property〉(propertyname="vider_class">org.hibernate.cache.HashtableCacheProvider(/property〉(!--usedatasource-->(!--DataSourceproperties(begin>(propertyname="hibernate.connection.datasource">java:comp/env/JbpmDS(/property>DataSourceproperties(end>-->(!--Dropandre-createthedatabaseschemaonstartup-->(propertyname="hbm2ddl.auto">create(/property>(!--JTAtransactionproperties(begin>===(propertyname="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory(/property>(propertyname="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup(/property>====JTAtransactionproperties(end>-->(!--CMTtransactionproperties(begin>===(propertyname="hibernate.transaction.factory_class">org.hibernate.transaction.CMTTransactionFactory(/property>(propertyname="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>====CMTtransactionproperties(end>-->!--loggingproperties(begin>===(propertyname="hibernate.show_sql">true</property>(propertyname="hibernate.format_sql">true</property>(propertyname="hibernate.use_sql_comments">true</property>====loggingproperties(end>-->!--############################################-->!--#mappingfileswithexternaldependencies#-->!--############################################-->!--followingmappingfilehasadependendyon-->TOC\o"1-5"\h\z!--'bsh-{version}.jar'. -->!--uncommentthisifyoudon'thavebshonyour-->!--classpath.youwon'tbeabletousethe --><!--scriptelementinprocessdefinitionfiles--><mappingresource="org/jbpm/graph/action/Script.hbm.xml"/><!--followingmappingfileshaveadependendyon--><!--'jbpm-identity.jar',mappingfiles --><!--ofthepluggablejbpmidentitycomponent. --><!--Uncommentthefollowing3linesifyou --><!--wanttousethejBPMidentitymgmgt --><!--component. --><!--identitymappings(begin>-->(mappingresource="org/jbpm/identity/User.hbm.xml"/>(mappingresource="org/jbpm/identity/Group.hbm.xml"/>(mappingresource="org/jbpm/identity/Membership.hbm.xml"/><!--identitymappings(end>-->(!--followingmappingfileshaveadependendyon--><!--theJCRAPI --><!--jcrmappings(begin>===(mappingresource="org/jbpm/context/exe/variableinstanc/JcrNodeInstance.hbm.xml"/>====jcrmappings(end>-->!--######################-->!--#jbpmmappingfiles#-->!--######################-->!--hqlqueriesandtypedefs--><mappingresource="org/jbpm/db/hibernate.queries.hbm.xml"/>!--graph.defmappingfiles--><mappingresource="org/jbpm/graph/def/ProcessDefinition.hbm.xml"/><mappingresource="org/jbpm/graph/def/Node.hbm.xml"/>(mappingresource="org/jbpm/graph/def/Transition.hbm.xml"/>(mappingresource="org/jbpm/graph/def/Event.hbm.xml"/(mapping(mappingresource="org/jbpm/graph/def/Action.hbm.xml"/>(mappingresource="org/jbpm/graph/def/SuperState.hbm.xml"/>(mappingresource="org/jbpm/graph/def/ExceptionHandler.hbm.xml"/>(mappingresource="org/jbpm/instantiation/Delegation.hbm.xml"/>(!--graph.nodemappingfiles-->(mappingresource="org/jbpm/graph/node/StartState.hbm.xml"/>(mappingresource="org/jbpm/graph/node/EndState.hbm.xml"/>(mappingresource="org/jbpm/graph/node/ProcessState.hbm.xml"/>(mappingresource="org/jbpm/graph/node/Decision.hbm.xml"/>(mappingresource="org/jbpm/graph/node/Fork.hbm.xml"/>(mappingresource="org/jbpm/graph/node/Join.hbm.xml"/>(mappingresource="org/jbpm/graph/node/State.hbm.xml"/>(mappingresource="org/jbpm/graph/node/TaskNode.hbm.xml"/>(!--context.defmappingfiles-->(mappingresource="org/jbpm/context/def/ContextDefinition.hbm.xml"/>(mappingresource="org/jbpm/context/def/VariableAccess.hbm.xml"/>(!--taskmgmt.defmappingfiles-->(mappingresource="org/jbpm/taskmgmt/def/TaskMgmtDefinition.hbm.xml"/>(mappingresource="org/jbpm/taskmgmt/def/Swimlane.hbm.xml"/>(mappingresource="org/jbpm/taskmgmt/def/Task.hbm.xml"/>(mappingresource="org/jbpm/taskmgmt/def/TaskController.hbm.xml"/>(!--module.defmappingfiles-->(mappingresource="org/jbpm/module/def/ModuleDefinition.hbm.xml"/>(!--bytesmappingfiles-->(mappingresource="org/jbpm/bytes/ByteArray.hbm.xml"/>(!--file.defmappingfiles-->(mappingresource="org/jbpm/file/def/FileDefinition.hbm.xml"/>(!--scheduler.defmappingfiles-->(mappingresource="org/jbpm/scheduler/def/CreateTimerAction.hbm.xml"/>(mappingresource="org/jbpm/scheduler/def/CancelTimerAction.hbm.xml"/>(!--graph.exemappingfiles-->(mappingresource="org/jbpm/graph/exe/Comment.hbm.xml"/>(mappingresource="org/jbpm/graph/exe/ProcessInstance.hbm.xml"/>(mappingresource="org/jbpm/graph/exe/Token.hbm.xml"/>((mapping(mappingresource="org/jbpm/graph/exe/RuntimeAction.hbm.xml"/><!--module.exemappingfiles-->(mappingresource="org/jbpm/module/exe/ModuleInstance.hbm.xml"/><!--context.exemappingfiles-->(mappingresource="org/jbpm/context/exe/ContextInstance.hbm.xml"/>(mappingresource="org/jbpm/context/exe/TokenVariableMap.hbm.xml"/>(mappingresource="org/jbpm/context/exe/VariableInstance.hbm.xml"/>(mappingresource="org/jbpm/context/exe/variableinstance/ByteArrayInstance.hbm.xml"/>(mappingresource="org/jbpm/context/exe/variableinstance/DateInstance.hbm.xml"/>(mappingresource="org/jbpm/context/exe/variableinstance/DoubleInstance.hbm.xml"/>(mappingresource="org/jbpm/context/exe/variableinstance/HibernateLongInstance.hbm.xml"/l"/>resource="org/jbpm/context/log/VariableUpdateLog.hbm.xml"/resource="org/jbpm/context/log/VariableUpdateLog.hbm.xml"/>resource="org/jbpm/context/exe/variableinstance/HibernateStringInstance.hbm.resource="org/jbpm/context/exe/variableinstance/HibernateStringInstance.hbm.((!--loggingmappingfiles-->xml"/>(mappingresource="org/jbpm/context/exe/variableinstance/LongInstance.hbm.xml"/>(mappingresource="org/jbpm/context/exe/variableinstance/NullInstance.hbm.xml"/>(mappingresource="org/jbpm/context/exe/variableinstance/StringInstance.hbm.xml"/>(!--jobmappingfiles-->(mappingresource="org/jbpm/job/Job.hbm.xml"/>(mappingresource="org/jbpm/job/Timer.hbm.xml"/>(mappingresource="org/jbpm/job/ExecuteNodeJob.hbm.xml"/>(mappingresource="org/jbpm/job/ExecuteActionJob.hbm.xml"/>(!--taskmgmt.exemappingfiles-->(mappingresource="org/jbpm/taskmgmt/exe/TaskMgmtInstance.hbm.xml"/>(mappingresource="org/jbpm/taskmgmt/exe/TaskInstance.hbm.xml"/>(mappingresource="org/jbpm/taskmgmt/exe/PooledActor.hbm.xml"/>(mappingresource="org/jbpm/taskmgmt/exe/SwimlaneInstance.hbm.xml"/>(mappingresource="org/jbpm/logging/log/ProcessLog.hbm.xml"/>(mappingresource="org/jbpm/logging/log/MessageLog.hbm.xml"/>(mappingresource="org/jbpm/logging/log/CompositeLog.hbm.xml"/>(mappingresource="org/jbpm/graph/log/ActionLog.hbm.xml"/>(mappingresource="org/jbpm/graph/log/NodeLog.hbm.xml"/>(mappingresource="org/jbpm/graph/log/ProcessInstanceCreateLog.hbm.xml"/>(mappingresource="org/jbpm/graph/log/ProcessInstanceEndLog.hbm.xml"/>(mappingresource="org/jbpm/graph/log/ProcessStateLog.hbm.xml"/>(mappingresource="org/jbpm/graph/log/SignalLog.hbm.xml"/>(mappingresource="org/jbpm/graph/log/TokenCreateLog.hbm.xml"/>(mappingresource="org/jbpm/graph/log/TokenEndLog.hbm.xml"/>(mappingresource="org/jbpm/graph/log/TransitionLog.hbm.xml"/>(mappingresource="org/jbpm/context/log/VariableLog.hbm.xml"/>(mappingresource="org/jbpm/context/log/VariableCreateLog.hbm.xml"/>(mappingresource="org/jbpm/context/log/VariableDeleteLog.hbm.xml"/>(mapping((mappingresource="org/jbpm/taskmgmt/log/TaskAssignLog.hbm.xml"/>(mappingre

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論