[發(fā)明專利]一種基于WF4.5的流程引擎框架設(shè)計方法有效
| 申請?zhí)枺?/td> | 201710708090.3 | 申請日: | 2017-08-17 |
| 公開(公告)號: | CN107656723B | 公開(公告)日: | 2020-11-10 |
| 發(fā)明(設(shè)計)人: | 薛源;曹劍 | 申請(專利權(quán))人: | 成都好醫(yī)生醫(yī)學(xué)檢驗所有限公司 |
| 主分類號: | G06F8/20 | 分類號: | G06F8/20;G06Q10/10 |
| 代理公司: | 成都市鼎宏恒業(yè)知識產(chǎn)權(quán)代理事務(wù)所(特殊普通合伙) 51248 | 代理人: | 羅韜 |
| 地址: | 610000 四川省成都*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 wf4 流程 引擎 框架 設(shè)計 方法 | ||
本發(fā)明公開了一種基于WF4.5的流程引擎框架設(shè)計方法,用戶發(fā)出啟動一個流程的命令,命令中包括初始啟動流程的數(shù)據(jù)信息;獲取初始啟動流程的數(shù)據(jù)信息中類的實例的類型,序列化類的實例每個屬性賦值后的對象為字節(jié)數(shù)組,并將類的實例的類型與序列化后的字節(jié)數(shù)組再反序列化為一個包含類型與字節(jié)數(shù)組的對象,這個對象名為object content with type。這個對象可以被反序列化從而被任何第三方系統(tǒng)調(diào)用并使用到。該方法能夠有效利用.NET 4.5中自帶的WF4.5框架的功能,既能夠有效解決流程的設(shè)計、部署、版本管理、人機(jī)任務(wù)、第三方系統(tǒng)對接等問題,又能夠作為獨(dú)立框架被任何系統(tǒng)使用。
技術(shù)領(lǐng)域
本發(fā)明涉及WF4.5的流程,具體涉及一種基于WF4.5的流程引擎框架設(shè)計方法。
背景技術(shù)
隨著基于流程應(yīng)用的系統(tǒng)快速發(fā)展,將流程應(yīng)用到各種信息化系統(tǒng)中作為人機(jī)交互任務(wù)或計算機(jī)自動任務(wù)已經(jīng)成為非常成熟的應(yīng)用方式。系統(tǒng)針對流程的定義、流程的設(shè)計、流程的使用為核心的流程引擎框架成為技術(shù)方面的核心問題。目前,針對流程引擎框架分別有不同的解決方法與技術(shù),這些技術(shù)與方法只能解決某部分的問題,而且是基于不同層次的解決方法,并沒有作到整合。比如.NET中自帶的WF 4.5框架需要在開發(fā)工具中設(shè)計與調(diào)整流程,無論是開發(fā)、部署還是版本管理都比較困難,并且沒有直接實現(xiàn)人機(jī)交互任務(wù)的功能;而其他廠商的工作流產(chǎn)品雖然設(shè)計靈活,但在與其他信息化系統(tǒng)對接上實現(xiàn)成本較高,而且自定義擴(kuò)展不夠,也不利于后期的維護(hù)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于WF4.5的流程框架設(shè)計方法,該方法能夠有效利用.NET4.5中自帶的WF4.5框架的功能,既能夠有效解決流程的設(shè)計、部署、版本管理、人機(jī)任務(wù)、第三方系統(tǒng)對接等問題,又能夠作為獨(dú)立框架被任何系統(tǒng)使用。該方法包括以下步驟:
為解決上述的技術(shù)問題,本發(fā)明采用以下技術(shù)方案:
步驟A:向流程引擎框架發(fā)出啟動流程的命令,命令中包括初始啟動流程的數(shù)據(jù)信息,數(shù)據(jù)信息中至少包括三個部分,分別為一個部分是數(shù)據(jù)的格式,另一個為類的實例每個屬性的賦值,最后一個為當(dāng)前需要調(diào)用的具體流程模板名;
步驟B:流程引擎框架接受用戶啟動命令,獲取初始啟動流程的數(shù)據(jù)信息中類的實例的類型,序列化類的實例每個屬性賦值后的對象為字節(jié)數(shù)組,并將類的實例的類型與序列化后的字節(jié)數(shù)組再反序列化為一個包含類型與字節(jié)數(shù)組的對象,這個對象名為objectcontentwith type;這個對象可以被反序列化從而被任何第三方系統(tǒng)調(diào)用并使用到;
步驟C:流程引擎框架的查找組件通過獲取用戶初始啟動流程的數(shù)據(jù)信息數(shù)據(jù)庫的WF_Business表中信息,并保存流程定義名為Xmal信息,將查找到的WF_Business記錄賦值給一個對象wf_business,查找對應(yīng)的信息并保存到一個對象中,這個對象名為wf;
步驟D:流程引擎框架數(shù)據(jù)庫的表中保存的流程定義的Xmal信息后,獲取Xmal信息,保存為Xmal;
步驟E:將流程引擎框架的解析組件將獲取的Xmal信息轉(zhuǎn)換為內(nèi)存流,并將內(nèi)存流反序列成WF4.5框架可識別的Workflow Activity對象,這個對象名為workflow,解析組件對Xmal進(jìn)行反序列化;
步驟F:流程引擎框架的解析組件將objectcontentwithtype對象、workflow對象、wf對象的流程模板名屬性值、wf對象的流程模板版本屬性值傳遞給流程運(yùn)行組件;流程運(yùn)行組件申明一個Dictionary類型的對象dic,申明一個WF4.5框架的WorkflowIdentity對象workflowidentity,流程運(yùn)行組件調(diào)用WF4.5框架的WorkflowIdentity對象,并傳遞workflow對象、dic、workflowidentity,然后調(diào)用WF 4.5框架的Run方法啟動流程;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于成都好醫(yī)生醫(yī)學(xué)檢驗所有限公司,未經(jīng)成都好醫(yī)生醫(yī)學(xué)檢驗所有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710708090.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





