国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于腳本引擎的工作流事件機制實現方法

      文檔序號:9546963閱讀:570來源:國知局
      基于腳本引擎的工作流事件機制實現方法
      【技術領域】
      [0001]本發(fā)明涉及工作流軟件領域。
      【背景技術】
      [0002]—般J2EE平臺實現的工作流系統(tǒng)大多采用規(guī)則引擎,類繼承、Webservice調用或類似的遠程調用等方式實現擴展和定制化,但這些方式都存在一些缺陷。
      [0003]規(guī)則引擎也能實現一定的靈活性,但還有所不足,因為“規(guī)則”一般是定義為條目化的、靜態(tài)的,靜態(tài)的規(guī)則定義缺乏動態(tài)靈活性,不能很好的根據“運行時”的環(huán)境狀態(tài)做出相對復雜的邏輯。
      [0004]類繼承的方式的缺陷在于,一是需要進行Java編程,還要學習工作流系統(tǒng)提供的基類及繼承體系,學習門濫相對較高;二是修改了 Java Class代碼,無法或很難直接進行熱部署(要重新啟動Java虛擬機),這是J2EE應用系統(tǒng)ClassLoader機制本身的局限性。
      [0005]Webservice調用或類似的遠程調用的問題在于:事務的處理的復雜性,調用方和被調用方要做到全局的事務一致性非常困難,一般工作流系統(tǒng)中的處理方式要么不做強制一致性,要么交由業(yè)務系統(tǒng)自行處理(比如采用事務補償機制),總之復雜性無法避免。

      【發(fā)明內容】

      [0006]發(fā)明目的:針對多元的海量大數據,提出了一種基于腳本引擎的工作流事件機制實現方法,可以采用靈活、易于編寫的腳本的方式對業(yè)務流程進行有效的功能擴展和定制化開發(fā)。
      [0007]技術方案:為達到上述目的,本發(fā)明可采用如下技術方案:
      [0008]—種適合大數據價值評價的計算方法,將工作流系統(tǒng)的接口規(guī)范為標準事件;若產生事件,則查找事件腳本,若無腳本則認為是默認行為從而返回事件處理完成指令;若查找到自定義腳本則執(zhí)行該自定義腳本并返回處理結果。
      [0009]有益效果:相對于現有技術,本發(fā)明中腳本引擎處于與工作流核心同等的運行環(huán)境中,通過初始化的行為,可以將大量的工作流內部的變量、數據結構、狀態(tài)信息、甚至數據庫連接會話等,無縫植入到腳本引擎中,使腳本引擎中的腳本自動獲得強大的流程干預能力、事務一致性、數據訪問的同步性。
      【附圖說明】
      [0010]圖1是是本發(fā)明工作流事件機制和腳本引擎應用示意圖。
      【具體實施方式】
      [0011]下面結合附圖對本發(fā)明進行詳細的描述。
      [0012]腳本引擎是一個計算機編程語言的解釋器,它的功能是解釋執(zhí)行用戶的程序文本,實時地將程序文本譯成計算機能執(zhí)行的機器代碼,完成一系列的功能。
      [0013]JAVA從JDK1.6開始,內置了 javascript腳本引擎,可以直接嵌入到Java代碼中執(zhí)行,使用解析方式執(zhí)行,可直接調用java的類及方法,腳本修改后不需要重啟JVM進程。
      [0014]而在工作流軟件平臺中,工作流核心引擎與業(yè)務系統(tǒng)交互集成的一種實現機制。即業(yè)務流程通過工作流引擎推動和流轉過程中,工作流引擎提供標準的接口機制。事件機制規(guī)定了流程流轉的整個生命周期過程中,業(yè)務相關邏輯的切入時機。這些事件包括如:流程啟動、取消、更新、結束,流程環(huán)節(jié)的進入、數據提交、離開,等等,在事件中編寫相應的腳本代碼,可以實現對流程的自定義干預、數據訪問等等。
      [0015]本發(fā)明所提出的基于腳本引擎的工作流事件機制實現方法,是用于工作流軟件平臺中,工作流核心引擎與業(yè)務系統(tǒng)交互集成的一種實現機制。
      [0016]業(yè)務流程通過工作流引擎推動和流轉,在此過程中流程、及環(huán)節(jié)必須與業(yè)務數據或業(yè)務模塊發(fā)生交互。工作流提供的事件機制,則規(guī)定了流程流轉的整個生命周期過程中,相關業(yè)務邏輯的切入時機。這些事件包括如:流程啟動、取消、更新、結束,流程環(huán)節(jié)的進入、數據提交、離開,等等,在事件中編寫相應的代碼,可以實現對流程的自定義流轉干預控制、數據校驗、數據過濾、數據訪問等等豐富功能。
      [0017]工作流平臺采用內嵌的腳本引擎的模式實現標準的事件接口機制,使得可以采用靈活、易于編寫的腳本的方式對業(yè)務流程進行有效的功能擴展和定制化開發(fā)。本發(fā)明底層技術采用Java虛擬機內置的Javascript腳本引擎API,在工作流平臺中封裝為事件,業(yè)務流程開發(fā)者可以通過編寫javascript腳本和腳本內置的豐富組件,甚至自定義的組件簡單輕松的編寫與業(yè)務相關的邏輯,同時,通過工作流腳本的運行環(huán)境運行業(yè)務腳本,還可以實現工作流引擎與業(yè)務共享同一個數據庫事務,達到了流程的流轉與業(yè)務數據嚴格同步的效果。
      [0018]請參閱圖1所示,該實現方法為,將工作流系統(tǒng)的接口規(guī)范為標準事件;
      [0019]若產生事件,則查找事件腳本,若無腳本則認為是默認行為從而返回事件處理完成指令;若查找到自定義腳本則執(zhí)行該自定義腳本并返回處理結果。
      [0020]標準事件中包含流程實例級事件以及流程節(jié)點級事件[0021 ] 流程實例級事件包括:
      [0022]創(chuàng)建/啟動事件:此事件提供流程初始化機會,通過事件腳本對關聯的業(yè)務數據進行訪問和初始化;
      [0023]取消/刪除事件:此事件提供當用戶取消流程時的干預機會,向業(yè)務通報流程狀態(tài)變更,通過事件腳本對關聯的業(yè)務數據進行相應的撤銷;
      [0024]結束/完成事件:此事件提供當流程即將正常結束或完成時,向業(yè)務通報流程狀態(tài)變更,通過事件腳本對關聯的業(yè)務數據進行相應的更新;
      [0025]而流程節(jié)點級事件包括:
      [0026]候選節(jié)點篩選事件:此事件提供當流程節(jié)點將要進行迀移時,通過事件腳本對候選的可達節(jié)點進行干預調整的功能;
      [0027]辦理人篩選事件:此事件提供當流程節(jié)點將要進行迀移時,通過事件腳本對候選的可達節(jié)點上的候選辦理人或選擇范圍進行干預調整的功能;
      [0028]節(jié)點數據校驗事件:此事件提供當流程節(jié)點數據提交之前的數據驗證、校驗的功能,校驗的結果阻止后續(xù)的提交行為;
      [0029]節(jié)點提交/完成事件:此事件提供當流程節(jié)點數據提交時,同步更新業(yè)務數據的功能,如果事件執(zhí)行異常,整個提交失敗,事務中全部數據將回滾到提交更新之前狀態(tài)。工作流平臺內嵌的腳本引擎處于與工作流核心同等的運行環(huán)境中,通過初始化的行為,可以將大量的工作流內部的變量、數據結構、狀態(tài)信息、甚至數據庫連接會話等,無縫植入到腳本引擎中,使腳本引擎中的腳本自動獲得強大的流程干預能力。相對于現有技術,本發(fā)明中腳本引擎處于與工作流核心同等的運行環(huán)境中,通過初始化的行為,可以將大量的工作流內部的變量、數據結構、狀態(tài)信息、甚至數據庫連接會話等,無縫植入到腳本引擎中,使腳本引擎中的腳本自動獲得強大的流程干預能力、事務一致性、數據訪問的同步性。
      【主權項】
      1.一種基于腳本引擎的工作流事件機制實現方法,其特征在于,將工作流系統(tǒng)的接口規(guī)范為標準事件; 若產生事件,則查找事件腳本,若無腳本則認為是默認行為從而返回事件處理完成指令;若查找到自定義腳本則執(zhí)行該自定義腳本并返回處理結果。2.根據權利要求1所述的基于腳本引擎的工作流事件機制實現方法,其特征在于,標準事件中包含流程實例級事件以及流程節(jié)點級事件 流程實例級事件包括: 創(chuàng)建/啟動事件:此事件提供流程初始化機會,通過事件腳本對關聯的業(yè)務數據進行訪問和初始化; 取消/刪除事件:此事件提供當用戶取消流程時的干預機會,向業(yè)務通報流程狀態(tài)變更,通過事件腳本對關聯的業(yè)務數據進行相應的撤銷; 結束/完成事件:此事件提供當流程即將正常結束或完成時,向業(yè)務通報流程狀態(tài)變更,通過事件腳本對關聯的業(yè)務數據進行相應的更新; 而流程節(jié)點級事件包括: 候選節(jié)點篩選事件:此事件提供當流程節(jié)點將要進行迀移時,通過事件腳本對候選的可達節(jié)點進行干預調整的功能; 辦理人篩選事件:此事件提供當流程節(jié)點將要進行迀移時,通過事件腳本對候選的可達節(jié)點上的候選辦理人或選擇范圍進行干預調整的功能; 節(jié)點數據校驗事件:此事件提供當流程節(jié)點數據提交之前的數據驗證、校驗的功能,校驗的結果阻止后續(xù)的提交行為; 節(jié)點提交/完成事件:此事件提供當流程節(jié)點數據提交時,同步更新業(yè)務數據的功能,如果事件執(zhí)行異常,整個提交失敗,事務中全部數據將回滾到提交更新之前狀態(tài)。
      【專利摘要】本發(fā)明提供一種基于腳本引擎的工作流事件機制實現方法,是用于工作流軟件平臺中,工作流核心引擎與業(yè)務系統(tǒng)交互集成的一種實現機制。其中,業(yè)務流程通過工作流引擎推動和流轉,在此過程中流程、及環(huán)節(jié)必須與業(yè)務數據或業(yè)務模塊發(fā)生交互。工作流提供的事件機制,則規(guī)定了流程流轉的整個生命周期過程中,相關業(yè)務邏輯的切入時機。這些事件包括如:流程啟動、取消、更新、結束,流程環(huán)節(jié)的進入、數據提交、離開,等等,在事件中編寫相應的代碼,可以實現對流程的自定義流轉干預控制、數據校驗、數據過濾、數據訪問等等豐富功能。
      【IPC分類】G06F9/44
      【公開號】CN105302581
      【申請?zhí)枴緾N201510869788
      【發(fā)明人】苗陽
      【申請人】南京萊斯信息技術股份有限公司
      【公開日】2016年2月3日
      【申請日】2015年12月2日
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1