br>[0061]f.規(guī)定單位成員:定位用戶的單位成員;
[0062] 部門(mén)定位策略規(guī)則:
[0063]g.規(guī)定用戶所在部門(mén):定位用戶所在的組織機(jī)構(gòu),稱為用戶所在部門(mén);
[0064]h.規(guī)定指定級(jí)別部門(mén):定位指定級(jí)別的部門(mén);
[0065]i.規(guī)定部門(mén)成員:定位用戶部門(mén)所屬子部門(mén)成員;
[0066] 子部門(mén)定位策略規(guī)則:
[0067] j.規(guī)定子部門(mén):定位用戶所在部門(mén)的下級(jí)子部門(mén);
[0068]k.規(guī)定關(guān)系子部門(mén):定位用戶所在部門(mén)的指定關(guān)系的下級(jí)子部門(mén);
[0069]1.規(guī)定子部門(mén)崗位成員:定位用戶子部門(mén)內(nèi)指定基層崗位成員;
[0070] 基層崗位定位策略規(guī)則:
[0071]m.規(guī)定崗位路由:定位子部門(mén)內(nèi)指定基層崗位路由器;
[0072]II.路由策略,確定各路由策略的使用方法:
[0073] a.采取單位路由策略中的規(guī)則,獲取指定的單位路由,定位到所需要單位路由 器;
[0074] b.采取部門(mén)路由策略中的規(guī)則,獲取指定的部門(mén)路由,定位到所需要部門(mén)路由 器;
[0075] c.采取子部門(mén)路由策略中的規(guī)則,獲取指定的子部門(mén)路由,定位到所需要子部門(mén) 路由器;
[0076] d.采取崗位路由策略中的規(guī)則,獲取指定的崗位路由,定位到所需要基層崗位路 由器。
[0077] 此策略模式,將編碼思路引入到了配置應(yīng)用領(lǐng)域,讓路由按照編碼方式實(shí)現(xiàn)靈活 組合,減少了工作流程組織的維護(hù)成本,提高了工作流程組織的效率及適應(yīng)能力。
【附圖說(shuō)明】
[0078] 附圖1基于崗位動(dòng)態(tài)路由系統(tǒng)架構(gòu)圖;
[0079] 附圖2動(dòng)態(tài)路由實(shí)現(xiàn)原理;
[0080] 附圖3機(jī)構(gòu)崗位示意圖;
[0081] 附圖4邏輯結(jié)構(gòu)處理示意圖。
【具體實(shí)施方式】
[0082] (1)構(gòu)建動(dòng)態(tài)路由主調(diào)度程序
[0083] 動(dòng)態(tài)路由主調(diào)度程序提供路由策略的核心應(yīng)用,主要路由執(zhí)行容器組成,其主要 包含路由策略執(zhí)行者、路由上下文、參與角色組成。實(shí)例如下:
[0084] ptibl:icList<RouteActor>execute(StringrouteSchemalame, RouteContextrouteContext){
[0085] RouteScheraaschema: RouteSchemaPool.getSchema(r:outeSche:maNaffle)::if(schemalentil1) { returnschema,execute(routeContext); }
[0086]其中:
[0087] routeSchemaName路由策略方案的名稱;用于通過(guò)方案名稱獲取策略方案 RouteSchema;
[0088]arguemnts為路由傳入的參數(shù)值;
[0089]routeContext為路由策略的上下文,提供路由執(zhí)行過(guò)程的變量管理;
[0090]RouteActor為最終執(zhí)行者,為經(jīng)過(guò)動(dòng)態(tài)路由返回的最終執(zhí)行者(可以是一個(gè)用戶 也可以是一個(gè)組織機(jī)構(gòu))。
[0091]具體的RouteContext,RouteActor模型結(jié)構(gòu)如下:
[0092]
[0093]
[0094] (2)實(shí)現(xiàn)動(dòng)態(tài)路由基礎(chǔ)路由公共接口
[0095] 動(dòng)態(tài)路由策略的執(zhí)行由多個(gè)基礎(chǔ)路由規(guī)則組成,系統(tǒng)在定義動(dòng)態(tài)路由時(shí),約定了 基礎(chǔ)路由的公共接口,目的開(kāi)放給各個(gè)系統(tǒng)來(lái)擴(kuò)展自身的基礎(chǔ)路由規(guī)則,實(shí)現(xiàn)基于基礎(chǔ)路 由規(guī)則的自由組合。
[0096] 在基礎(chǔ)路由定義中,系統(tǒng)主要約定了RouteCommand接口定義,其格式如下:
[0097]
t
[0101] 在基礎(chǔ)路由規(guī)則實(shí)現(xiàn)中,用戶接收的RouteActorlist的數(shù)值是不可預(yù)知的,僅 需在內(nèi)部實(shí)現(xiàn)相關(guān)業(yè)務(wù)實(shí)現(xiàn)即可,新返回的RouteActorlist,將作為最新的執(zhí)行者傳遞到 下一個(gè)路由規(guī)則中去。
[0102] (3)注冊(cè)基礎(chǔ)動(dòng)態(tài)路由規(guī)則與加載
[0103] 對(duì)了基礎(chǔ)路由規(guī)則,系統(tǒng)需要預(yù)先注冊(cè),方能用來(lái)定義各類路由策略,在系統(tǒng)設(shè)計(jì) 中可約定統(tǒng)一的注冊(cè)方式,如添加route-command,properties中,讓系統(tǒng)運(yùn)行中自動(dòng)加載 相關(guān)規(guī)則程序?qū)崿F(xiàn)。
[0104]
[0106] (4)動(dòng)態(tài)路策略的隊(duì)列構(gòu)建與執(zhí)行
[0107] 系統(tǒng)在工作流應(yīng)用中,主要通過(guò)組合基礎(chǔ)動(dòng)態(tài)路由規(guī)則,來(lái)定義動(dòng)態(tài)路由策略,實(shí) 現(xiàn)路由方案的多樣性。
[0108] 在路由策略上,主要采用隊(duì)列模式的執(zhí)行方案,構(gòu)建隊(duì)列的添加。其具體實(shí)現(xiàn)如 下:
[0_
[0110] 在策略執(zhí)行上,系統(tǒng)通過(guò)隊(duì)列執(zhí)行基礎(chǔ)路由規(guī)則,返回最終的執(zhí)行者。其主要實(shí)現(xiàn) 方式如下:
[0111]
[011乙」
[0113] 實(shí)施例一:明確需要關(guān)聯(lián)的使用者:A單位技術(shù)部行政子部門(mén)的王五領(lǐng)導(dǎo);當(dāng)前使 用者A單位技術(shù)部的張三。
[0114] 1.定位當(dāng)前使用者崗位:A單位技術(shù)部的張三員工;
[0115] 2.定位使用者所在部門(mén)崗位一一張三所在部門(mén)一一技術(shù)部;
[0116] 由于需要定位的關(guān)聯(lián)使用者是:A單位技術(shù)部行政子部門(mén)的王五領(lǐng)導(dǎo),而現(xiàn)在已 經(jīng)定位到了技術(shù)部,已經(jīng)與需要定位的關(guān)聯(lián)使用者建立了關(guān)聯(lián),所以,
[0117] 3.定位關(guān)聯(lián)使用者的所在部門(mén)--技術(shù)部崗位;
[0118] 4.通過(guò)技術(shù)部再定位部門(mén)的下一級(jí)子部門(mén)崗位一一行政子部門(mén),即技術(shù)部行政子 部門(mén);
[0119] 5.再通過(guò)技術(shù)部行政子部門(mén)定位行政部門(mén)領(lǐng)導(dǎo)崗位一一A單位技術(shù)部行政子部門(mén) 領(lǐng)導(dǎo)王五。
[0120] 根據(jù)路由規(guī)則的組合,系統(tǒng)通過(guò)5個(gè)路由步驟,能夠定位到A單位技術(shù)部行政子部 門(mén)領(lǐng)導(dǎo)。
[0121] 而當(dāng)行政子部門(mén)領(lǐng)導(dǎo)更換時(shí),路由規(guī)則不變的情況下,系統(tǒng)將自動(dòng)定位到了新的 行政子部門(mén)領(lǐng)導(dǎo)人員。
[0122] 實(shí)施例二:明確需要關(guān)聯(lián)的使用者:A單位開(kāi)發(fā)部財(cái)務(wù)子部門(mén)的陳會(huì)計(jì);當(dāng)前使用 者A單位技術(shù)部的張三。
[0123] 1.定位當(dāng)前使用者崗位:A單位技術(shù)部的張三崗位員工;
[0124] 2.定位使用者所在部門(mén)一一張三所在部門(mén)一一技術(shù)部崗位;
[0125] 3.定位部門(mén)的上一級(jí)部門(mén)為單位一一張三所在單位一一A單位崗位;
[0126] 由于需要定位的關(guān)聯(lián)使用者是:A單位開(kāi)發(fā)部財(cái)務(wù)子部門(mén)的陳會(huì)計(jì)崗位,而現(xiàn)在 已經(jīng)定位到了A單位崗位取得了關(guān)聯(lián),所以,
[0127] 4.定位A單位下級(jí)部門(mén)一一開(kāi)發(fā)部崗位;
[0128] 5.定位開(kāi)發(fā)部的下級(jí)子部門(mén)一一財(cái)務(wù)子部門(mén)崗位;
[0129] 6.通過(guò)財(cái)務(wù)子部門(mén)定位到基層人員崗位一一A單位開(kāi)發(fā)部財(cái)務(wù)子部門(mén)的陳會(huì)計(jì)。
[0130] 實(shí)施例三:明確需要關(guān)聯(lián)的使用者:B單位銷售部人事子部門(mén)的趙四主管;當(dāng)前使 用者A單位技術(shù)部的張三。
[0131] 1.定位當(dāng)前使用者:A單位技術(shù)部的張三崗位員工;
[0132] 2.定位使用者所在部門(mén)一一張三所在部門(mén)一一技術(shù)部崗位;
[0133] 3.定位部門(mén)的上一級(jí)部門(mén)為單位一一張三所在單位一一A單位崗位;
[0134] 由于需要定位的關(guān)聯(lián)使用者是:B單位銷售部門(mén)人事子部門(mén)的趙四主管,而現(xiàn)在 定位到了A單位,在A單位內(nèi)進(jìn)行人員排隊(duì)時(shí)沒(méi)有發(fā)現(xiàn)與需要關(guān)聯(lián)人員的關(guān)聯(lián)信息,所以,
[0135] 4.定位A單位的平行單位一一B單位崗位;在B單位的排除過(guò)程中,發(fā)現(xiàn)了與需要 關(guān)聯(lián)人員的關(guān)聯(lián)信息,所以,
[0136] 5.定位B單位的下級(jí)部門(mén)一一銷售部門(mén)崗位;
[0137] 6.再通過(guò)銷售部門(mén)再定位部門(mén)的下一級(jí)子部門(mén)一一人事子部門(mén),即銷售部人事子 部門(mén)崗位;
[0138] 7.再通過(guò)銷售部人事子部門(mén)定位趙四主管崗位一一B單位銷售部人事子部門(mén)趙四 主管崗位。