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

正文內(nèi)容

基于oa系統(tǒng)的工作流引擎設(shè)計與實現(xiàn)(存儲版)

2024-07-25 16:26上一頁面

下一頁面
  

【正文】 stroymethod=closepropertyvalue=123456//beanbeanref=dataSource//beanbeankey=insert*PROPAGATION_REQUIRED/prop/props/property由于userDAO被userDAOProxy代理了,所以要做的是取得userDAOProxy,而不是userDAO,IUserDAO1. DispatcherServlet和其它web框架一樣,Spring的web框架是一個請求驅(qū)動的web框架,其設(shè)計圍繞一個中心的servlet進(jìn)行,它能將請求分發(fā)給控制器,并提供其它功能幫助web應(yīng)用開發(fā)。 216。 SimpleFormController --這是一個form cotnroller,當(dāng)需要根據(jù)命令對象來創(chuàng)建相應(yīng)的form的時候,該類可以提供更多的支持。你有兩個選擇:在構(gòu)造函數(shù)中調(diào)用setCommandClass()方法(參數(shù)是命令對象的類名),或者實現(xiàn)formBackingObject()方法。216。我們可以把工作項看作是要被執(zhí)行的實際工作塊。 普通用戶用例圖 需求描述(1) 接收任務(wù),流程中每個活動指定人員進(jìn)行辦理,當(dāng)流程執(zhí)行到人員負(fù)責(zé)的活動時,負(fù)責(zé)人可主動查詢未完成任務(wù)。作為一個比較人性化的系統(tǒng),應(yīng)該具備這兩種機(jī)制,尤其是對于實時性要求比較高的系統(tǒng),“推”機(jī)制是一種很好的解決方案。 業(yè)務(wù)流程的基本模式文獻(xiàn)[1]中歸納了22中常見的工作流模式,經(jīng)過對普通的辦公室辦公自動化需求進(jìn)行分析,其中5種最基本的模式是一般業(yè)務(wù)流程中必需的:1) 順序流向:一個步驟完成后,無條件地流向固定的下一步驟。即活動C的任一前節(jié)點提交任務(wù)后,引擎將遍歷活動C 的所有前活動實例,判斷其狀態(tài),當(dāng)且僅當(dāng)所有這些活動實例都處于完成狀態(tài)時,引擎才會產(chǎn)生一個對應(yīng)活動C的工作項。步驟序列:1) 進(jìn)入流程控制界面,列出由該用戶啟動并且在運行或掛起狀態(tài)的流程信息,包括序號、流程名稱、當(dāng)前狀態(tài)、啟動時間。 終止流程參與者:普通用戶前置條件:已經(jīng)登錄,運行服務(wù)中有該用戶啟動的流程。2) 進(jìn)入任務(wù)列表界面,列出由該用戶未處理的工作項信息,包括序號、流程名稱、公文名稱、接收時間。2) 頁面刷新,內(nèi)容被保存。 掛起工作項參與者:普通用戶前置條件:用戶已經(jīng)登錄,進(jìn)入了公文編輯界面。3) 進(jìn)入前節(jié)點界面,如果當(dāng)前節(jié)點為并節(jié)點,用戶必須選擇前發(fā)送節(jié)點。 4 設(shè)計本章結(jié)合工作流引擎的關(guān)鍵技術(shù),給出了關(guān)鍵功能的時序圖設(shè)計和數(shù)據(jù)庫物理模型,并就OAworkflow引擎的路由機(jī)制、文件權(quán)限、實時通知以及不同業(yè)務(wù)文件存儲問題等需求提出了解決方案。通常順序執(zhí)行的節(jié)點之間存在清晰的 依賴關(guān)系,例如前一個任務(wù)的結(jié)果是后一個任務(wù)的輸入。這三種路由基本上涵蓋了傳統(tǒng)的辦公自動化公文流傳的需求,任何復(fù)雜的流程都可以由這三種路由構(gòu)成,OAworkflow的設(shè)計正是基于這幾種工作流路由機(jī)制的,既能夠滿足大部分中小型辦公項目的要求,又避免了功能過于龐大臃腫的缺點,符合結(jié)構(gòu)清晰、輕量級的目標(biāo)。這主要因為回退文件的功能,當(dāng)文件審批不及格時,用戶可以使用駁回功能把文件發(fā)回前一級部門。 文件權(quán)限管理處于流程不同節(jié)點的人員對同一份文件應(yīng)該具有不同的權(quán)限,權(quán)限的實現(xiàn)是通過權(quán)限表(Authorities)來記錄的, 。 findStaff() 用于登錄驗證,參數(shù)是用戶登錄ID和密碼。216。當(dāng)用戶提交一個任務(wù),引擎做的第一件事是改變當(dāng)前工作項和活動的狀態(tài),然后判斷當(dāng)前活動的類型并調(diào)用businessActDefdao中的getTargets()方法獲取后續(xù)活動的信息。216。216。 實例化流程的遍歷算法一個流程模型本質(zhì)上是一種圖結(jié)構(gòu),流程的活動在流程模型中以圖的結(jié)點形式定義。 for (i = 1。 } 巧用Spring SimpleFormController獲取表單有兩種情況會打開表單,一是啟動流程、二是打開工作項。} readonly /c:if style=height: autoc:out value=${} //textarea/td/tr/spring:bind/c:forEach/table/form表單顯示也是該系統(tǒng)實現(xiàn)的一個難點,如上代碼所示,table標(biāo)簽里只有兩行,即兩個tr標(biāo)簽,一個顯示表單標(biāo)題,另一行顯示字段。 // 獲取下一個活動模型 BusinessActivityDef nextDefNode = businessActDefdao .findById(nextDefNodeId)。 String joinkind = ()。srcInsNode = srcDefNode .getActivityInsByProId(currProcessId)。amp。 while (!()) { sid = (String) ()。} else if ((AND)) {// 并節(jié)點 BusinessActivityInstance srcInsNode = null。[10] 生產(chǎn)新的新的工作項;[11] 結(jié)束。 JSTL Core taglib和Spring bind處理表單顯示form method=post name=form_docid=form_doc action=c:url value=/table width=100% border=1 align=center bgcolor=CCCCCCtrtd colspan=2 align=centerc:out value=${} //td/trc:forEach var=item items=${} varStatus=loopStatus spring:bind path=[${}] trtd align=centerc:out value=${} //tdtdtextarea name=c:out value=${}.itemValue/ cols=90 rows=6 c:if test=${==39。 (activityDef, currProcess)。 activityDef = (curr_activityDefId)。例如,用戶審批完表單按發(fā)送按鍵,引擎要進(jìn)行表單保存、獲取后續(xù)節(jié)點、判斷節(jié)點、產(chǎn)生工作項等。 findNewWorkItems()參數(shù):用戶編號,返回一個工作項集合。reform() 逐一獲取棧中節(jié)點ID對應(yīng)當(dāng)活動模型,判斷其類型,然后調(diào)用reformNextActivity()進(jìn)行通知。216。 loadDoc() 裝載帶權(quán)限的表單,參數(shù)是表單標(biāo)題、當(dāng)前活動模型ID和表單ID,返回一個表示帶權(quán)限表單的對象Document。引擎類在整個系統(tǒng)結(jié)構(gòu)中起了連接前臺和后臺的作用,前臺是視圖和控制器,后臺是使用MyEclipse 生成的并經(jīng)過修改的數(shù)據(jù)存儲對象(Spring DAO)和由Hibernate 映射生成的實體對象。通過提取大多數(shù)表單的共性,OAworkflow 在存儲表單的方式上進(jìn)行了特殊設(shè)計,把表分成幾部分分別存儲在表單模型表(TableDef)、字段模型表(TableItemDef)、字段實例表(TableItemInstance)三張表里,TableDef記錄了表單的編號、標(biāo)題,TableItemDef記錄了TableDef中表的字段名,字段的值則記錄在TableItemInstance表里。當(dāng)一個活動被執(zhí)行完畢,引擎將對其后續(xù)節(jié)點逐一進(jìn)行判斷:如果是普通節(jié)點或者分支節(jié)點,直接產(chǎn)生一條新的工作項記錄,初始狀態(tài)為待辦;如果是匯聚節(jié)點,則不一定產(chǎn)生新的工作項記錄,而是先判斷該節(jié)點的匯聚類型和該節(jié)點前續(xù)節(jié)點的完成情況,只有符合條件才插入新的工作項。選擇路由開始于選擇分流(ORSPLIT) 節(jié)點,最后重匯合于選擇匯聚(ORJOIN)節(jié)點。OAworkflow的任務(wù)都指定用戶處理。2) 選擇“已辦理流程”或者“未辦理流程”3) 進(jìn)入流程列表界面,列出由相應(yīng)的流程信息,包括序號、流程名稱、發(fā)起者、當(dāng)前狀態(tài)、啟動時間。步驟序列:1) 點擊“駁回”按鈕。4) 系統(tǒng)彈出確認(rèn)框,點擊確認(rèn)。后置條件:保存了經(jīng)過編輯的公文內(nèi)容。后置條件:進(jìn)入了任務(wù)列表界面。2) 用戶選擇想要激活的處于掛起狀態(tài)的流程。4) 打開公文編輯頁面 掛起流程參與者:普通用戶前置條件:已經(jīng)登錄,運行服務(wù)中有該用戶啟動的流程?;顒覥的任一前節(jié)點提交任務(wù)后,引擎將遍歷活動C 的所有前活動實例,判斷其狀態(tài),當(dāng)且僅當(dāng)完成的活動實例數(shù)等于活動C定義的最少通過數(shù)時,引擎才會產(chǎn)生一個對應(yīng)活動C的工作項。 文件權(quán)限問題文件權(quán)限問題是指流程執(zhí)行者對流程綁定的文件的各個部分具有不同的讀寫權(quán)限。 任務(wù)實時通知常見的信息通知有兩種驅(qū)動方式:拉和推。用戶通過驗證登錄后,通過導(dǎo)航菜單進(jìn)入各個頁面進(jìn)行相關(guān)的操作。 工作項,是活動的實際執(zhí)行。 流程實例,是指工作流系統(tǒng)處理的業(yè)務(wù)流程,每個流程實例的生命期是有限的,并且都有一個唯一標(biāo)識。setCommandName()的參數(shù)是一個String,該參數(shù)將用來在視圖中調(diào)用你的命令對象。如果你需要表單,但不想在應(yīng)用上下文中指定顯示給用戶的視圖,就使用這個控制器。 AbstractCommandController --你可以使用該抽象命令控制器來創(chuàng)建自己的命令控制器,它能夠?qū)⒄埱髤?shù)綁定到你指定的命令對象。處理器是對Controller接口的實現(xiàn),該接口僅僅定義了ModelAndView handleRequest(request, response)方法。在insert* 等方法上指定了 PROPAGATION_REQUIRED,表示在目前的事務(wù)中執(zhí)行操作,如果事務(wù)不存在就建立一個新的,相關(guān)的常數(shù)意義都可以在API文件的TransactionDefinition接口中找到。ref=transactionManager/propertyclass=propertyvalue=caterpillar/propertybean 概念上來說, 所示: Spring 事務(wù)代理以DataSource,mysql舉例,介紹聲明式的事務(wù)管理的配置與應(yīng)用:毫無疑問,這樣的對象可以在不同 J2EE 環(huán)境 (Web 或 EJB)、獨立應(yīng)用程序、測試環(huán)境之間重用。 Spring Web 模塊:Web 上下文模塊建立在應(yīng)用程序上下文模塊之上,為基于 Web 的應(yīng)用程序提供了上下文。216。216。框架的主要優(yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許您選擇使用哪一個組件,同時為 J2EE 應(yīng)用程序開發(fā)提供集成的框架。216。OSWorkflow的流程運轉(zhuǎn)和調(diào)度的核心理念是,在一個工作流程的生命周期中,總會存在至少一個或多個State。[2] 流程推進(jìn)機(jī)制OS Workflow的流程推進(jìn)機(jī)制與通常所說的流程不同,其驅(qū)動是通過動作 (Action)的執(zhí)行來進(jìn)行的,其實現(xiàn)是分為兩個步驟,一是具體實施動作,另一個是維護(hù)流程狀態(tài)變遷。OSWorkflow具有一定的靈活性,在流程建模方面不僅支持BeanShell腳本,還支持Java, BSF和EJB等,并且可以采用JDBC, Hibernate, EJB等多種數(shù)據(jù)持久化方式。 兩種現(xiàn)有工作流引擎目前,OpenSymphony組織開發(fā)的OS Workflow,和Moss項目中集成的jBPM是應(yīng)用比較廣泛的工作流產(chǎn)品,本節(jié)將對這三種引擎的設(shè)計方案和實現(xiàn)機(jī)制進(jìn)行分析介紹。,用戶可以通過系統(tǒng)提供的客戶端(如建模工具、任務(wù)列表等)與工作流引擎進(jìn)行交互。 工作流引擎核心功能工作流引擎降低了工作流系統(tǒng)應(yīng)用模塊與業(yè)務(wù)流程之間的禍合度,當(dāng)業(yè)務(wù)流程發(fā)生變化時,只需修改流程定義,具體的應(yīng)用程序保持不變,工作流引擎對于用戶來說是透明的。2) 工作流引擎的實現(xiàn)。鑒于上述的原因,本課題的目標(biāo)在于提出一個配置簡單、使用方便、功能實用的工作流引擎的設(shè)計方案,并完成編碼。工作流管理系統(tǒng)的核心部分是工作流引擎,引擎是驅(qū)動流程流動的主要部件,它負(fù)責(zé)解釋工作流流程定義,創(chuàng)建并初始化流程實例,控制流程流動的路徑,記錄流程運行狀態(tài),掛起或喚醒流程,終止正在運行的流程,與其他引擎之間通訊等等工作。 本文結(jié)合一般的辦公室辦公自動化的需求,從軟件生存周期的角度,使用面向?qū)ο蟮脑O(shè)計方法,給出了一個結(jié)構(gòu)清晰、配置簡單的工作流引擎設(shè)計方案。目前,工作流技術(shù)在辦公自動化(Office Automation, OA)系統(tǒng)中的應(yīng)用月來越廣泛,對OA系統(tǒng)中的工作流引擎進(jìn)行探索具有重要的應(yīng)用價值。該技術(shù)的目的是通過將工作分解成定義良好的任務(wù)、角色,按照一定的規(guī)則和過程來執(zhí)行這些任務(wù)并對它們進(jìn)行監(jiān)控,達(dá)到提高工作效率、降低生產(chǎn)成本、提高企業(yè)生產(chǎn)經(jīng)營管理水平和企業(yè)競爭力的目標(biāo)。對于國內(nèi)大部分初次使用工作流技術(shù)的中小型項目來說,這些工作流軟件的功能特性大大超過了需要,客戶需要承受漫長的學(xué)習(xí)周期、復(fù)雜的安裝配置等帶來的風(fēng)險。本文分析了辦公自動化項目的功能需求,然后針對項目對流程控制的靈活需求,采用了一種結(jié)構(gòu)清晰、功能完整的過程定義格式,使引擎在支持流程分支跳轉(zhuǎn)的時候,還允許用戶手動指定流程的直接后續(xù)步驟,在借鑒了現(xiàn)有工作流引擎設(shè)計思想的基礎(chǔ)上,給出了一個工作流引擎的設(shè)計方案。目的是通過將工作分解成定義良好的任務(wù)、角色,按照一定的規(guī)則和過程來執(zhí)行這些任務(wù)并對它們進(jìn)行監(jiān)控,達(dá)到提高工作效率、降低生產(chǎn)成本、提高企業(yè)生產(chǎn)經(jīng)營管理水平和企業(yè)競爭力的目標(biāo)。 嵌入到企業(yè)應(yīng)用中,只提供工作流引擎服務(wù),開源領(lǐng)域的OS Workflow引擎即屬于這種情況。(4)維護(hù)
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1