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

正文內(nèi)容

java工作流引擎原理學(xué)習(xí)-資料下載頁

2024-11-10 00:36本頁面
  

【正文】 動生成的序號)等等,其中有一項是相關(guān)工作項ID,這是當(dāng)參與者對原始工作項進(jìn)行執(zhí)行操作動作時的工作項。⑼ 角色信息(RoleTable)描述角色的信息,包括角色I(xiàn)D(可以定義為以”Role__xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”形式,x是自動生成的序號),角色名稱,部門名稱,職位名稱,角色描述。角色由部門和職位組成。⑽ 部門信息(DepartmentTable)描述部門的信息,包括部門ID(可以定義為以” Depatment_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”形式,x是自動生成的序號),部門名稱,部門其它信息。⑾ 職位信息(PositionTable)描述職位的信息,包括職位ID(可以定義為以” Position_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”形式,x是自動生成的序號),職位名稱,職位其它信息。除了以上這些主要表以外,還有一些我們是在定義工作流模型的時候才加入數(shù)據(jù)庫的,如對應(yīng)工作流附件類型為表的表格。為了減少網(wǎng)絡(luò)流量和提高系統(tǒng)的運行速度,我們把一些有關(guān)聯(lián)的數(shù)據(jù)庫操作寫成存儲過程:⑴ 刪除工作流模型存儲過程:刪除一個工作流模型,必須刪除它的工作流定義主信息,同時刪除對應(yīng)的附件信息,附件為表的表格,環(huán)節(jié)信息;⑵ 創(chuàng)建附件類型為表的表格:定義附件信息時已經(jīng)把該表格的字段信息保存在該附件信息的其它信息字段中,并且有一定的格式,那么我們從該字段中按照一定的格式還原表格的字段信息,并根據(jù)這些信息在數(shù)據(jù)庫中創(chuàng)建該表格。 類的設(shè)計用面向?qū)ο蟮姆椒ê蚒ML建模工具,再根據(jù)系統(tǒng)結(jié)構(gòu)圖,模塊的劃分和數(shù)據(jù)庫的設(shè)計,我們把對象轉(zhuǎn)化成類,進(jìn)行類的設(shè)計。我們把整個系統(tǒng)的類分成三部分,一是實體類,二是業(yè)務(wù)類,三是接口類。 實體類的設(shè)計工作流模型的對象就是一個一個的實體,實體類又分為數(shù)據(jù)庫訪問類和值對象類。數(shù)據(jù)庫訪問類是對存儲在數(shù)據(jù)庫的實體信息進(jìn)行訪問(插入,刪除,更新,查詢)的類,值對象類是在客戶端和服務(wù)器端之間交換資料的實體信息類。 數(shù)據(jù)庫訪問類⑴ 數(shù)據(jù)庫連接類:該類是其它數(shù)據(jù)庫訪問類的父類,管理數(shù)據(jù)庫的連接,負(fù)責(zé)從數(shù)據(jù)庫連接池找可用的數(shù)據(jù)庫連接給其它數(shù)據(jù)庫訪問類使用,使用完畢后負(fù)責(zé)放回連接池,類圖如下圖:說明:屬性只有一個connection,它代表數(shù)據(jù)庫的一條連接,類型為Connection,方法有一個構(gòu)造函數(shù)workflowDAO()和一個關(guān)閉連接的函數(shù)closeConnection()。WorkflowDAO()實現(xiàn)從數(shù)據(jù)庫連接池找一個可用連接并賦值給屬性connection,closeConnection()負(fù)責(zé)把連接放回數(shù)據(jù)庫連接池。⑵ 工作流定義主信息訪問類:對應(yīng)數(shù)據(jù)庫的工作流定義主信息表,該類封裝了對該表格記錄的各種操作,就是插入或刪除一條工作流定義主信息,查詢特定工作流定義信息或者所有工作流定義信息,類圖如下圖:說明:構(gòu)造函數(shù)WFDefineMainInfoDAO()調(diào)用父類構(gòu)造函數(shù),從數(shù)據(jù)庫連接池中找一個可用的數(shù)據(jù)庫連接(其它數(shù)據(jù)庫訪問類也一樣)。⑶ 工作流流程信息訪問類:對應(yīng)工作流流程描述表,該類封裝了對該表格記錄的各種操作,流程是由若干環(huán)節(jié)組成,就是插入或刪除一條環(huán)節(jié)信息,查詢同屬于一個流程的環(huán)節(jié)信息等等,類圖如下圖:說明:findWorkflowFirlstActivityInfo()函數(shù)負(fù)責(zé)找該工作流模型的第一個環(huán)節(jié)的信息,findWorkflowNextActivityID()負(fù)責(zé)根據(jù)當(dāng)前環(huán)節(jié)ID找下一環(huán)節(jié)的信息。⑷ 工作流附件信息訪問類:對應(yīng)工作流附件信息表,該類封裝了對該表格記錄的各種操作,就是插入或刪除一條工作流附件信息,查詢同屬于一個工作流模型的附件信息。類圖如下:⑸ 工作流附件類型為表的信息訪問類:對應(yīng)工作流附件類型為表格的信息表,該類封裝了該表記錄的各種操作,就是插入或查詢一條工作流附件類型為表格的具體信息,類圖如下:⑹ 工作流實例啟動信息訪問類:對應(yīng)工作流實例啟動信息表,該類封裝了該表記錄的各種操作,就是插入或查詢一條工作流啟動信息,查詢同屬于一個用戶的工作流實例啟動信息,更新部分字段信息,類圖如下:說明:selectFinishedWorkflowInstanceStartUpInfoVO()負(fù)責(zé)查詢特定用戶啟動的并且已經(jīng)完成的工作流信息,selectNotFinishedWorkflowInstanceStartUpInfoVO()負(fù)責(zé)查詢特定用戶啟動的并且還沒有完成的工作流信息,updateWFInstFinishedFields()負(fù)責(zé)在工作流實例結(jié)束時更新特定的字段信息,updateWFInstProcessingFields()負(fù)責(zé)在工作流實例運行工程中更新特定的字段信息。⑺ 工作流實例過程信息訪問類:對應(yīng)工作流實例過程信息表,該類封裝了該表格記錄的各種操作,每一條記錄實際上是一個環(huán)節(jié)實例,就是插入、刪除或查詢一條環(huán)節(jié)實例信息,查詢指定工作流實例的所有環(huán)節(jié)信息,更新部分信息字段,類圖如下:說明:SetWFInstProcessingCurrentPerformerNumField()負(fù)責(zé)更新已經(jīng)處理該環(huán)節(jié)實例對應(yīng)的工作項的參與該環(huán)節(jié)實例的用戶數(shù)目,updateWFInstProcessingFields()負(fù)責(zé)在環(huán)節(jié)實例處理過程中更新特定的字段信息。⑻ 工作項信息訪問表:對應(yīng)工作項表,該類封裝了該表格記錄的各種操作,就是插入或刪除一條工作項信息,查詢工作項信息,更新工作項信息,類圖如下:說明:selectFinishedWorkItemVO()負(fù)責(zé)查詢特定用戶已經(jīng)處理完畢的工作項信息,selectNotYetFinishedWorkItemVO()負(fù)責(zé)查詢還沒有處理的工作項信息,updateWorkItemFields()負(fù)責(zé)更新工作項在處理過程中的特定字段信息,isPerformedInWorkItemByUser()負(fù)責(zé)判斷該工作項是否已經(jīng)處理完畢。⑼ 用戶信息訪問表:對應(yīng)用戶信息表,該類封裝了該表格記錄的各種操作,就是插入、刪除或查詢一條用戶信息,查詢特定角色對應(yīng)的用戶信息,類圖如下:說明:selectCountRS()負(fù)責(zé)統(tǒng)計同屬于一個角色的用戶數(shù)目。⑽ 角色信息訪問類:對應(yīng)角色信息表,該類封裝了該表記錄的各種操作,就是插入、刪除或查詢一條角色信息,查詢所有角色信息,類圖如下:⑾ 部門信息訪問類:對應(yīng)部門信息表,該類封裝了該表記錄的各種操作,就是插入、刪除或查詢一條部門信息,查詢所有部門信息,類圖如下:⑿ 職位信息訪問類:對應(yīng)職位信息表,該類封裝了該表記錄的各種操作,就是插入、刪除或查詢一條職位信息,查詢所有職位信息,類圖如下:⒀ 日志信息訪問類:對應(yīng)日志信息表,該類封裝了該表記錄的各種操作,就是插入、刪除一條日志信息,查詢特定的日志信息,類圖如下: 值對象類值對象類其實是一種數(shù)據(jù)結(jié)構(gòu),用于客戶機和服務(wù)器之間的數(shù)據(jù)交換,也用于對象實例的數(shù)據(jù)傳遞,它有若干屬性,可是很少方法,實例化后就對應(yīng)數(shù)據(jù)庫表的一條記錄。⑴ 工作流定義主信息值對象類:可以保存工作流主信息表的一條記錄信息,類圖如下:⑵ 工作流流程信息值對象類:可以保存工作流流程信息表的一條記錄信息,類圖如下:⑶ 工作流附件信息值對象類:可以保存工作流附件信息表的一條記錄信息,類圖如下:說明:SetOtherInfo()負(fù)責(zé)以一定格式把工作流附件類型為表的表格字段信息保存在OtherInfo中,GetOtherInfo()負(fù)責(zé)從OtherInfo中以一定的格式還原工作流附件為表的表格字段信息。⑷ 工作流附件類型為表的信息值對象類:可以保存工作流附件類型為表的信息表的一條記錄信息,類圖如下:說明:tableName就是工作流附件類型為表的表格名稱,fieldValue就是對應(yīng)該表的一條記錄的各個字段值,用可變長數(shù)組Vector保存下來。⑸ 工作流實例啟動信息值對象類:可以保存工作流實例啟動信息表的一條記錄信息,類圖如下:⑹ 工作流實例過程信息值對象類:可以保存工作流實例過程信息表的一條記錄信息,類圖如下:⑺ 工作項信息值對象類:可以保存工作項信息表的一條記錄信息,類圖如下:⑻ 用戶信息值對象類:可以保存用戶信息表的一條記錄信息,類圖如下:⑼ 角色信息值對象類:可以保存角色信息表的一條記錄信息,類圖如下:⑽ 部門信息值對象類:可以保存部門信息表的一條記錄信息,類圖如下:⑾ 職位信息值對象類:可以保存職位信息表的一條記錄信息,類圖如下:⑿ 日志信息值對象類:可以保存日志信息表的一條記錄信息,類圖如下:⒀ 信息集合值對象類:可以保存各種信息的一個集合,當(dāng)需要返回多條記錄信息的時候可以使用該類,類圖如下:說明:只有一個屬性,是一個可變長數(shù)組,可以存放不定數(shù)量的記錄信息。 業(yè)務(wù)類的設(shè)計業(yè)務(wù)類,其實就是邊界類,它根據(jù)系統(tǒng)的需求按照一定的方式把各個實體類聯(lián)系起來,以實現(xiàn)系統(tǒng)的各種功能。按照實現(xiàn)功能的不同我們可以分為用戶管理類,角色管理類,部門管理類,職位管理類,工作流模型管理類,工作流實例管理類,系統(tǒng)監(jiān)控管理類。⑴ 用戶管理類:負(fù)責(zé)用戶的注冊,注銷,檢測合法性,查找用戶信息,類圖如下:⑵ 角色管理類:負(fù)責(zé)新增加角色,刪除角色,查找角色信息,類圖如下:⑶ 部門管理類:負(fù)責(zé)新增加部門,刪除部門,查找部門信息,類圖如下:⑷ 職位管理類:負(fù)責(zé)新增加職位,刪除職位,查找部門信息,類圖如下:⑸ 工作流模型管理類:負(fù)責(zé)工作流模型的定義,解析,類圖如下:⑹ 工作流實例管理類:負(fù)責(zé)工作流實例的創(chuàng)建,維護(hù)各種實例的狀態(tài)信息,分派任務(wù)給用戶,用戶處理工作項等等的工作,類圖如下:說明:uploadAttachmentToServer()負(fù)責(zé)把工作流附件類型為文檔的文檔上傳到服務(wù)器特定目錄下。⑺系統(tǒng)監(jiān)控管理類:是一個綜合類,主要通過調(diào)用其它管理類的功能來實現(xiàn)本身的功能,就是查看工作流實例的過程狀態(tài),完成程度,根據(jù)一定的條件有必要控制實例的掛起,激活,結(jié)束,查看各個參與用戶的工作情況,在出現(xiàn)工作誤時、意外、異常等等情況時采取一定的措施保證整個實例的完成。而所有這些都保存在日志中。 接口類的設(shè)計接口類是工作流引擎提供給外部應(yīng)用的類,應(yīng)用系統(tǒng)通過調(diào)用這些類,來實現(xiàn)一定的應(yīng)用功能。我們在接口類的設(shè)計上,采取格式統(tǒng)一、隱藏系統(tǒng)復(fù)雜性、功能調(diào)用方便的原則,盡量為外部應(yīng)用系統(tǒng)提供簡潔、易懂的功能調(diào)用接口。因而我們把這些類都設(shè)計成只有一個業(yè)務(wù)類實例,一個ToDoWhat()方法的類,并且每一個業(yè)務(wù)類對應(yīng)一個接口類。在這些接口類中,業(yè)務(wù)類實例作為它的一個數(shù)據(jù)成員,ToDoWhat()方法有兩個參數(shù),toDoCode(工作代碼)和object(數(shù)據(jù)交換對象),工作代碼表示要調(diào)用的功能的標(biāo)識,數(shù)據(jù)交換對象表示功能調(diào)用要處理的數(shù)據(jù)(應(yīng)用數(shù)據(jù))。從本質(zhì)上來說,就是根據(jù)不同的工作代碼調(diào)用業(yè)務(wù)類實例的不同方法,對各種應(yīng)用數(shù)據(jù)進(jìn)行處理。第四章系統(tǒng)實現(xiàn)系統(tǒng)的實現(xiàn)主要包括關(guān)鍵問題的解決方案和一個工作流管理應(yīng)用系統(tǒng)的實踐。首先提出關(guān)鍵問題,然后給出解決方案,最后提出一個應(yīng)用架構(gòu),利用J2EE技術(shù)和數(shù)據(jù)庫技術(shù)實現(xiàn)一個基于輕量級工作流引擎的簡單工作流管理應(yīng)用系統(tǒng)。 關(guān)鍵問題的解決方案在實現(xiàn)工作流引擎的時候,有一些關(guān)鍵問題,例如啟動工作流實例,推動工作流實例的進(jìn)程,類型為文檔的附件的處理等等,都是要重點解決的。 啟動工作流實例當(dāng)根據(jù)各種業(yè)務(wù)需求創(chuàng)建了對應(yīng)的工作流模型,根據(jù)結(jié)構(gòu)組織情況創(chuàng)建了組織模型后,用戶就可以創(chuàng)建工作流實例并啟動它。用戶把工作流實例的信息提交給工作流引擎,那么工作流引擎如何工作呢?工作流引擎其實做了一系列的工作,其處理過程如下:⑴ 工作流引擎得到用戶創(chuàng)建的工作流實例數(shù)據(jù),記錄在工作流實例啟動信息表中;⑵ 工作流引擎解析對應(yīng)該工作流實例的工作流模型的含義,獲得必要信息提供給工作流實例使用;⑶ 工作流引擎根據(jù)這些必要信息找到工作流模型對應(yīng)流程的第一個環(huán)節(jié)信息,并生成該工作流實例的第一個環(huán)節(jié)實例,記錄在工作流實例過程描述表中;⑷ 工作流引擎根據(jù)任務(wù)分派原則開始把任務(wù)項分派給參與該環(huán)節(jié)實例的所有用戶;⑸ 工作流引擎根據(jù)該環(huán)節(jié)定義的參與者角色,找出所有同屬于該角色的所有用戶,為各個用戶都生成一個工作項,記錄在工作項信息表中,工作項要繼承該環(huán)節(jié)定義的業(yè)務(wù)規(guī)則,完成任務(wù)的分派;⑹ 工作流引擎根據(jù)該環(huán)節(jié)定義的業(yè)務(wù)規(guī)則,如果該環(huán)節(jié)是自動型的,則為該環(huán)節(jié)的參與用戶分派完任務(wù)后立刻就根據(jù)該環(huán)節(jié)信息去找下一個環(huán)節(jié)的信息,進(jìn)行下一環(huán)節(jié)實例的處理;如果該環(huán)節(jié)不是自動型的,是需要人工參與處理的,則工作流引擎暫停該工作流實例的處理工作,等待參與用戶處理的結(jié)果;⑺ 啟動工作流實例的工作結(jié)束。 推進(jìn)工作流實例的進(jìn)程⑴ 如果上一環(huán)節(jié)定義的業(yè)務(wù)規(guī)則是自動型的,則立刻根據(jù)當(dāng)前環(huán)節(jié)信息查找下一環(huán)節(jié);⑵ 如果上一環(huán)節(jié)定義的業(yè)務(wù)規(guī)則是不是自動型的,則等待參與用戶對各自的工作項進(jìn)行處理,當(dāng)每一個用戶處理完后,工作流引擎都要判斷該環(huán)節(jié)實例是否結(jié)束,結(jié)束的條件是業(yè)務(wù)規(guī)則的規(guī)定和用戶的處理結(jié)果。①如果業(yè)務(wù)規(guī)則是與聚合,當(dāng)當(dāng)前用戶的處理結(jié)果是非正常處理的話,該環(huán)節(jié)實例就結(jié)束,并且該工作流實例也結(jié)束,通知其他還沒處理的用戶該環(huán)節(jié)已經(jīng)結(jié)束,并記錄在相應(yīng)的數(shù)據(jù)庫表中;當(dāng)當(dāng)前用戶的處理結(jié)果是正常處理的話,則再判斷是否所有參與的用戶都處理完畢,如果是則結(jié)束該環(huán)節(jié),通知其他用戶該環(huán)節(jié)已經(jīng)結(jié)束,并記錄在相應(yīng)的數(shù)據(jù)庫表中,然后查找下一環(huán)節(jié),如果不是則等待其他還沒處理的用戶的處理結(jié)果。②如果業(yè)務(wù)規(guī)則是或聚合,當(dāng)當(dāng)前用戶的處理結(jié)果是正常處理的話,該環(huán)節(jié)的實例就結(jié)束,并且該工作流實例也結(jié)束,通知其他參與還沒處理的用戶該環(huán)節(jié)實例已經(jīng)結(jié)束,記錄在相應(yīng)的數(shù)據(jù)庫表中,然后查找下一環(huán)節(jié);當(dāng)當(dāng)前用戶的處理結(jié)果是非正常的話,則等待其他還沒處理的用戶的處理結(jié)果。③如果業(yè)務(wù)規(guī)則是投票聚合,當(dāng)當(dāng)前用的處理結(jié)果是正常處理的話,則使統(tǒng)計正常處理結(jié)果的計數(shù)器加一,然后判斷該統(tǒng)計數(shù)量是否已經(jīng)達(dá)到規(guī)定的數(shù)量,如果是則結(jié)束該環(huán)節(jié)實例,并通知其他還沒處理的用戶該環(huán)節(jié)實例已經(jīng)結(jié)束,記錄在數(shù)據(jù)庫表中,然后查找下一環(huán)節(jié);當(dāng)當(dāng)前用的處理結(jié)果是非正常處理的話,則不統(tǒng)計,
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1