• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于工作流引擎的遺留系統(tǒng)流程重構(gòu)設(shè)計(jì)與實(shí)現(xiàn)

      2016-05-14 21:31:20武鵬李文倚劉小白
      軟件導(dǎo)刊 2016年5期
      關(guān)鍵詞:工作流系統(tǒng)集成

      武鵬 李文倚 劉小白

      摘要:基于工作流引擎工具,設(shè)計(jì)了遺留系統(tǒng)集成工作流引擎的嵌入式結(jié)構(gòu),實(shí)現(xiàn)了遺留系統(tǒng)與工作流引擎用戶和權(quán)限數(shù)據(jù)的同步及工作流引擎節(jié)點(diǎn)配置的無縫集成,解決了遺留系統(tǒng)流程處理靈活性與可擴(kuò)展性不強(qiáng)、難以實(shí)現(xiàn)用戶級(jí)靈活定制和不能快速滿足企業(yè)應(yīng)用的問題,對(duì)于遺留系統(tǒng)流程重構(gòu)具有一定的借鑒意義。

      關(guān)鍵詞:工作流;系統(tǒng)集成;遺留系統(tǒng);流程重構(gòu)

      DOIDOI:10.11907/rjdk.161456

      中圖分類號(hào):TP319

      文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2016)005-0097-02

      0 引言

      隨著信息系統(tǒng)的深入應(yīng)用,各企業(yè)和組織內(nèi)部產(chǎn)生了大量作為業(yè)務(wù)支撐的遺留系統(tǒng)[1]。為了滿足新的業(yè)務(wù)需求,對(duì)相關(guān)系統(tǒng)進(jìn)行優(yōu)化與重構(gòu)不可避免。其中,隨著管理提升和審核流程的變更,作為系統(tǒng)重要功能的各類審核流程管理功能暴露出了如下主要問題:①不少遺留系統(tǒng)獨(dú)立開發(fā)的流程管理模塊使用了偽流程方式,依賴于流程節(jié)點(diǎn)序列編碼,缺乏靈活性與可擴(kuò)展性;②在流程節(jié)點(diǎn)設(shè)計(jì)方面未能實(shí)現(xiàn)用戶級(jí)靈活定制,需要開發(fā)人員操作后臺(tái)數(shù)據(jù)庫或硬編碼進(jìn)行人工干預(yù)。

      一般的工作流產(chǎn)品或工具都能夠可視化地進(jìn)行流程建模,并靈活適應(yīng)流程節(jié)點(diǎn)的變化需要[2]。但通常基于工作流的信息系統(tǒng)開發(fā)要針對(duì)具體的工作流產(chǎn)品進(jìn)行架構(gòu)、設(shè)計(jì)和實(shí)現(xiàn),既定架構(gòu)、設(shè)計(jì)和實(shí)現(xiàn)的遺留系統(tǒng)并不能很好地且輕量地使用工作流工具,以發(fā)揮工作流技術(shù)的優(yōu)勢(shì)。

      針對(duì)上述問題,本文首先引入了工作流引擎工具,然后在原有系統(tǒng)架構(gòu)、設(shè)計(jì)和實(shí)現(xiàn)的基礎(chǔ)上完成了工作流引擎嵌入結(jié)構(gòu)設(shè)計(jì)并加以實(shí)現(xiàn),通過二次開發(fā)解決了工作流引擎在現(xiàn)有系統(tǒng)中動(dòng)態(tài)嵌入的問題,最終以某遺留系統(tǒng)為例成功完成了審核流程的重構(gòu),提高了系統(tǒng)的可用性與靈活性,解決了實(shí)際應(yīng)用問題。

      1 具體問題分析

      目前某應(yīng)用系統(tǒng)的流程管理功能基于自行開發(fā)的流程管理模塊,如表1所示。其流程管理機(jī)制是將每個(gè)流程活動(dòng)狀態(tài)用一組整數(shù)序列(1,2,10,50,100,150,200)來表示,每個(gè)整數(shù)值代表一個(gè)審核狀態(tài),讓程序記錄該狀態(tài)以便知道操作順序,以及當(dāng)前處于什么狀態(tài)。然而這種機(jī)制不支持靈活修改,如表1所示。假設(shè) “錄入完畢“和“經(jīng)過了第一次審核”之間多一個(gè)活動(dòng),則意味著需要在1和2之間增加一個(gè)整數(shù)。若要滿足需求,只能重新設(shè)計(jì)相應(yīng)序列并修改相關(guān)實(shí)現(xiàn)。

      一般的解決方案是引入工作流引擎代替現(xiàn)有流程處理模式,以實(shí)現(xiàn)流程用戶級(jí)靈活自定制,提高可用性與靈活性。但面對(duì)架構(gòu)、設(shè)計(jì)和實(shí)現(xiàn)已經(jīng)成型的遺留系統(tǒng),一個(gè)成熟的工作流引擎本身的可定制性有限,要實(shí)現(xiàn)工作流引擎與遺留系統(tǒng)的無縫集成,有如下問題需要解決:①遺留系統(tǒng)的業(yè)務(wù)數(shù)據(jù)與工作流引擎的流程實(shí)例建立關(guān)聯(lián);②遺留系統(tǒng)與工作流引擎管理器用戶數(shù)據(jù)和權(quán)限數(shù)據(jù)的同步及流程節(jié)點(diǎn)配置的無縫集成。以下針對(duì)上述具體問題進(jìn)行分析并提出解決方案。

      2 設(shè)計(jì)思路與實(shí)現(xiàn)

      2.1 遺留系統(tǒng)集成工作流引擎嵌入式結(jié)構(gòu)

      通常工作流的使用有以下幾個(gè)典型步驟:①使用工作流中類似企業(yè)管理器的工具建立用戶、組織結(jié)構(gòu)和角色等基礎(chǔ)元素;②針對(duì)業(yè)務(wù)流程完成數(shù)據(jù)庫及數(shù)據(jù)庫表、頁面和表單設(shè)計(jì);③使用工作流的可視化流程建模設(shè)計(jì)器完成流程建模;④在建好的流程中配置流程節(jié)點(diǎn)屬性。這些都建立在工作流引擎之上,依托設(shè)計(jì)器等工具即可將使用設(shè)計(jì)器設(shè)計(jì)的表單與流程建模得到的流程節(jié)點(diǎn)關(guān)聯(lián)起來。每張數(shù)據(jù)庫表都有類似TaskID(任務(wù)ID)的字段,該字段標(biāo)識(shí)一個(gè)流程任務(wù),由工作流引擎自動(dòng)維護(hù)[3]。

      其中流程建模通常是由流程節(jié)點(diǎn)加上一定的條件節(jié)點(diǎn),按照一定規(guī)則互相連接完成。流程流轉(zhuǎn)的對(duì)象實(shí)際上是表單信息,而將表單與流程相關(guān)聯(lián)的關(guān)鍵在于流程節(jié)點(diǎn)的設(shè)置。通過對(duì)流程節(jié)點(diǎn)屬性的設(shè)置,以及表單對(duì)應(yīng)的后臺(tái)數(shù)據(jù)庫表中的TaskID字段來關(guān)聯(lián)信息系統(tǒng)中的基本業(yè)務(wù)單元、相應(yīng)表單、所在流程以及對(duì)應(yīng)節(jié)點(diǎn)。表單的提交將發(fā)起一個(gè)流程實(shí)例,表單的處理使流程實(shí)例順著一個(gè)個(gè)節(jié)點(diǎn)流轉(zhuǎn),而“提交”等處理事件將在表單設(shè)計(jì)過程中固化到表單或表單的后臺(tái)代碼中[4]。

      對(duì)于一個(gè)已經(jīng)開發(fā)完成并運(yùn)行多年的遺留系統(tǒng)而言,系統(tǒng)所有的Web頁面、后臺(tái)業(yè)務(wù)邏輯和數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(jì)都已完成,直接使用工作流相關(guān)工具進(jìn)行設(shè)計(jì)和配置無法建立表單和流程實(shí)例之間的關(guān)聯(lián)。因此,本文設(shè)計(jì)了遺留系統(tǒng)集成工作流引擎的嵌入式結(jié)構(gòu),解決了上述問題。

      本文在現(xiàn)有遺留系統(tǒng)的架構(gòu)、設(shè)計(jì)和實(shí)現(xiàn)基礎(chǔ)上,設(shè)計(jì)中間表作為遺留系統(tǒng)和工作流引擎的適配器和橋接器,建立表單和流程實(shí)例之間對(duì)應(yīng)關(guān)系。具體思路如下:針對(duì)應(yīng)用系統(tǒng)中表單的構(gòu)成(例如:在基本信息審核中是以油氣田為單位,每個(gè)油氣田下又有所屬油氣田的具體信息表,即存在兩個(gè)基本單元:油氣田代碼和具體信息表代碼,分別用于標(biāo)識(shí)油氣田和所屬油氣田的具體信息表),建立并記錄工作流引擎中TaskID(流程實(shí)例對(duì)象)與油氣田代碼和具體信息表代碼的關(guān)聯(lián)。同時(shí),如果節(jié)點(diǎn)和表單直接關(guān)聯(lián),工作流引擎中有一個(gè)ProcID(流程處理過程對(duì)象),每一步流轉(zhuǎn)通過它來標(biāo)識(shí),如果一個(gè)節(jié)點(diǎn)一步一次處理一個(gè)表單信息到下一個(gè)節(jié)點(diǎn),由于沒有分支,則不需要知道此表單具體對(duì)應(yīng)哪個(gè)ProcID;如果一個(gè)節(jié)點(diǎn)一步一次處理不止一個(gè)表單,待處理任務(wù)中會(huì)有不止一個(gè)ProcID,而每一個(gè)ProcID對(duì)應(yīng)一個(gè)表單,則需要記錄ProcID分別對(duì)應(yīng)哪個(gè)表單,以區(qū)分處理。

      本文據(jù)此設(shè)計(jì)了一個(gè)類似(TaskID、ProcID、油氣田代碼、具體信息表代碼)的關(guān)系將流程實(shí)例和具體的待處理信息關(guān)聯(lián)起來,并提出了如下通用解決方案:依據(jù)具體的業(yè)務(wù)流程處理要求,在工作流的后臺(tái)數(shù)據(jù)庫或應(yīng)用系統(tǒng)的數(shù)據(jù)庫中添加一張中間表來記錄TaskID、ProcID和具體業(yè)務(wù)的關(guān)聯(lián)關(guān)系,如圖1、圖2所示。改變已有的處理機(jī)制,使用一張中間表作為橋接,在遺留系統(tǒng)的業(yè)務(wù)表單同后臺(tái)工作流引擎的內(nèi)部處理機(jī)制(流程流轉(zhuǎn)、處理記錄等)之間建立橋梁,形成遺留系統(tǒng)集成工作流引擎的嵌入式結(jié)構(gòu),并關(guān)聯(lián)業(yè)務(wù)處理與流程實(shí)例,將遺留系統(tǒng)應(yīng)用工作流的難度從技術(shù)層面轉(zhuǎn)移到業(yè)務(wù)層面,從而使應(yīng)用工作流技術(shù)進(jìn)行遺留系統(tǒng)重構(gòu)變得可行和簡(jiǎn)單。

      本文以Liveflow工作流引擎為例,在啟動(dòng)一個(gè)流程時(shí)同時(shí)寫中間表,借助工作流引擎內(nèi)在提交方法Post(objBPCn, "提交", out o, 0, "", SetFields(fieldsName, fieldsValue), null, null)寫入這種關(guān)系,其中SetFields(fieldsName, fieldsValue) 是表單數(shù)據(jù)集合參數(shù)。通過此方法把ProcID、油氣田代碼、具體信息表代碼在啟動(dòng)時(shí)寫入中間表。進(jìn)行流程節(jié)點(diǎn)處理時(shí),對(duì)同一油氣田代碼和具體信息表代碼更新ProcID,使中間表永遠(yuǎn)存儲(chǔ)最新處理完的ProcID。

      通過該方式為遺留系統(tǒng)使用工作流的二次開發(fā)接口重寫“提交”和“處理”建立了基礎(chǔ),也為單節(jié)點(diǎn)中多表單信息的批量處理提供了解決方案。要在工作流引擎中的單節(jié)點(diǎn)中處理多表單信息,只需在中間表中建立一對(duì)多關(guān)系,然后使用工作流的二次開發(fā)接口,重寫“提交”和“處理”事件。當(dāng)用戶在審核處理界面操作時(shí),相應(yīng)的“提交”和“審核”事件將通過工作流引擎的內(nèi)部處理機(jī)制與工作流引擎進(jìn)行一系列交互,以保證每一次處理都知道處理內(nèi)容以及下一個(gè)節(jié)點(diǎn)的接收內(nèi)容,并由工作流引擎自動(dòng)維護(hù)節(jié)點(diǎn)狀態(tài)信息,以保證業(yè)務(wù)流程的處理過程在使用工作流設(shè)計(jì)器建模后形成的流程中作為一個(gè)個(gè)流程實(shí)例進(jìn)行體現(xiàn)。

      2.2 數(shù)據(jù)同步及工作流引擎節(jié)點(diǎn)配置無縫集成

      本文直接從工作流引擎后臺(tái)數(shù)據(jù)庫中讀取流程實(shí)例的各節(jié)點(diǎn)“狀態(tài)”信息,通過LiveFlow建立在BPFC(Business Process Foundation Class)上的基于COM的二次開發(fā)接口BPO (Business Process Object)映射和同步工作流產(chǎn)品與遺留系統(tǒng)的用戶信息數(shù)據(jù)庫表,完成遺留系統(tǒng)與工作流引擎管理器用戶數(shù)據(jù)和權(quán)限數(shù)據(jù)的同步。在遺留系統(tǒng)的系統(tǒng)管理模塊集成流程節(jié)點(diǎn)的審核用戶配置,將工作流引擎流程節(jié)點(diǎn)的配置與遺留系統(tǒng)進(jìn)行無縫集成。工作流引擎維護(hù)的流程節(jié)點(diǎn)的配置,已經(jīng)集成在遺留系統(tǒng)的系統(tǒng)管理模塊中來完成。

      3 結(jié)語

      本文完成了遺留系統(tǒng)集成工作流引擎的嵌入式結(jié)構(gòu)設(shè)計(jì),同時(shí)以LiveFlow工作流引擎為例完成了遺留系統(tǒng)與工作流引擎管理器用戶和權(quán)限數(shù)據(jù)的同步及流程節(jié)點(diǎn)配置的無縫集成,實(shí)現(xiàn)了遺留系統(tǒng)數(shù)據(jù)審核流程用戶級(jí)靈活自定制,有效提高了系統(tǒng)的可用性與靈活性,對(duì)使用工作流技術(shù)重構(gòu)遺留系統(tǒng)流程具有實(shí)際意義和一定的借鑒價(jià)值。

      參考文獻(xiàn):

      [1]張一川,汪德帥,劉瑩,等.基于業(yè)務(wù)服務(wù)的企業(yè)遺留系統(tǒng)集成框架[J].計(jì)算機(jī)應(yīng)用, 2008,28(B06):263-265.

      [2]蔡孝武,韓永國(guó),藍(lán)科.一種輕量級(jí)工作流引擎的研究與設(shè)計(jì)[J].計(jì)算機(jī)工程, 2010,36(20):78-79.

      [3]羅海濱,范玉順,吳澄.工作流技術(shù)綜述[J].軟件學(xué)報(bào),2000,11(7):899-907.

      [4]王凱,張毅坤,楊凱峰,等.面向OA系統(tǒng)的工作流引擎研發(fā)[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(19):4967-4971.

      (責(zé)任編輯:黃 ?。?/p>

      猜你喜歡
      工作流系統(tǒng)集成
      加氫站與調(diào)壓站能源供應(yīng)系統(tǒng)集成技術(shù)及應(yīng)用
      煤氣與熱力(2021年6期)2021-07-28 07:21:32
      試析汽車產(chǎn)業(yè)智能制造中的信息化系統(tǒng)集成
      科技傳播(2019年23期)2020-01-18 07:58:14
      工業(yè)企業(yè)系統(tǒng)集成技術(shù) 系統(tǒng)集成技術(shù)與信息化集成系統(tǒng)(下)
      基于工作流2.0的智慧教室設(shè)計(jì)與研究
      工作流在電力生產(chǎn)管理信息系統(tǒng)中的設(shè)計(jì)和應(yīng)用
      “奔向共贏、做到最好”行業(yè)信息化研究方法論
      個(gè)性化計(jì)算機(jī)輔助教學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      商情(2016年39期)2016-11-21 09:57:19
      “系統(tǒng)集成”式的改革
      工作流技術(shù)在醫(yī)療信息整合工程中的應(yīng)用分析
      基于工作流的水運(yùn)應(yīng)急信息管理平臺(tái)設(shè)計(jì) 
      大化| 乡城县| 东阳市| 丰都县| 博野县| 鄂伦春自治旗| 沂水县| 铜陵市| 九龙坡区| 西安市| 扎囊县| 克拉玛依市| 太湖县| 东城区| 高唐县| 邹城市| 双流县| 稻城县| 焦作市| 丰镇市| 宁晋县| 鹿泉市| 镇沅| 会宁县| 大姚县| 滨州市| 陇南市| 枞阳县| 屏山县| 安溪县| 宁武县| 甘德县| 丰顺县| 沾化县| 都江堰市| 永春县| 双江| 肇源县| 日喀则市| 平和县| 阳春市|