• 
    

    
    

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

      工作流技術在海事衛(wèi)星業(yè)務受理中的現(xiàn)代研究與實現(xiàn)

      2018-10-21 12:04:05劉利靜燕鵬飛
      科學與信息化 2018年4期
      關鍵詞:工作流

      劉利靜?燕鵬飛

      摘 要 隨著海事衛(wèi)星業(yè)務范圍日益擴大,為了能夠更好兼容三、四代星及未來的五代星業(yè)務,提升整體業(yè)務受理的交易量和成功率,縮短業(yè)務受理時長,其現(xiàn)有業(yè)務支撐系統(tǒng)需要不斷更新。本論文將研究和實現(xiàn)基于工作流的業(yè)務受理系統(tǒng)。工作流處理模塊采用開源的Activiti5工作流引擎實現(xiàn)業(yè)務受理數(shù)據(jù)的數(shù)據(jù)轉換、數(shù)據(jù)分發(fā)及全流程自動處理功能。最終消除半手工工作狀態(tài),保持各系統(tǒng)數(shù)據(jù)一致的需求。

      關鍵詞 Activiti5;工作流;業(yè)務受理系統(tǒng);海事衛(wèi)星

      前言

      國際海事衛(wèi)星(Inmarsat)是第一個可以覆蓋面積為全球范圍的商用移動衛(wèi)星通信系統(tǒng)[1],現(xiàn)已發(fā)展成為海、陸、空范圍內話音、傳真、數(shù)據(jù)等衛(wèi)星通信服務。全球有四大關口站,其中北京關口站為其中之一。

      目前北京關口站業(yè)務子系統(tǒng)已經形成第四代海事衛(wèi)星[2]網絡體系。四代星業(yè)務支撐系統(tǒng)主要是用于支撐電信通信業(yè)務的業(yè)務受理與業(yè)務需求的擴展[3],提供業(yè)務開通、變更、注銷,以及對計費數(shù)據(jù)的賬務處理功能,服務于海事衛(wèi)星全體用戶及系統(tǒng)管理部門。

      業(yè)務受理是業(yè)務支撐系統(tǒng)重要的組成部分,通過內外需求驅動來優(yōu)化整個系統(tǒng)運營流程,從而提升資金安全,最終滿足系統(tǒng)業(yè)務、財務審計及管理需求等。

      由于現(xiàn)有的業(yè)務支撐系統(tǒng)實現(xiàn)非模塊化,大量的建設需求及相關信息處于半手工管理階段,使得各交互系統(tǒng)之間的數(shù)據(jù)存在數(shù)據(jù)不一致情況。鑒于此,本論文將設計和實現(xiàn)一套基于開源的Activiti5工作流的業(yè)務受理系統(tǒng),通過全自動的流程處理,減少半手工處理帶來的數(shù)據(jù)差異。

      1 工作流工作機制

      1.1 工作流技術

      生產與辦公自動化領域在發(fā)展過程中為了優(yōu)化管理,將生產/辦公處理過程中具有共性的內容進行抽象,涉及的人員通過角色權限抽象成數(shù)據(jù)信息,涉及的共性工作通過任務來進行處理,涉及不同人員/部門之間工作的調度等抽象為系統(tǒng)中的執(zhí)行規(guī)則與過程,將生產/辦公處理過程通過軟件技術進行處理,從中孕育出了工作流技術[4],提升整個領域的處理效率。

      1993年工作流管理聯(lián)盟(Workflow Management Coalition, WMFC)成立,定義工作流為:“工作流是一類能夠完全或者部分自動執(zhí)行的經營過程,它根據(jù)一系列過程規(guī)則、文檔、信息或任務能夠在不同的執(zhí)行者之間進行傳遞與執(zhí)行”[5]。從上可以看出工作流管理聯(lián)盟對于兩者的定義重點在于工作流的執(zhí)行工作上。

      WMFC定義了工作流最基本的概念,其中提出的廣泛應用的術語有:工作流、業(yè)務流程、過程定義、過程定義工具、活動、過程/活動實例、工作流管理系統(tǒng)、工作流引擎、工作項、工作列表等,工作流管理聯(lián)盟定義的工作流基本概念間關系圖,如圖1所示。

      1.2 業(yè)務流程建模標記語言(BPMN2.0)

      (1)BPMN2.0

      WMFC的成立在一定程度上促使了整個業(yè)務流程管理市場繁榮發(fā)展,業(yè)務流程管理基本內容是將現(xiàn)實生產活動按照相應的管理過程進行抽象,通過統(tǒng)一管理,使流程涉及的人員能夠在恰當?shù)臅r間點完成各自的任務且任務內容準確無誤,最終實現(xiàn)減少流程冗余及處理流程優(yōu)化的目標。

      業(yè)務流程建模標注語言(Business Process Modeling Notation, BPMN)是業(yè)務流程設計與流程實現(xiàn)之間搭建的一條標準化的橋梁,該語言使用圖示的形式簡單清晰的表達生產活動中的業(yè)務流程信息,這種圖示與常見的業(yè)務流程圖圖示相似[6]。

      對象管理組織(Object Management Group,OMG)在2011年發(fā)布了BPMN2.0規(guī)范。2.0版本引用了XML語言描述,使用XML語言定義流程節(jié)點的執(zhí)行先后順序,完成了業(yè)務流程可執(zhí)行化的描述。因為BPMN2.0的出現(xiàn),業(yè)務流程管理的流程建模與模型的序列化執(zhí)行可以使用同一種規(guī)范化定義標準。

      (2)BPMN2.0圖形標記

      BPMN2.0定義了用于業(yè)務流程處理主要圖形標記,圖形內容包含有五個基本元素,分別是將各個分開的業(yè)務過程/任務/活動連接在一起的連接對象;各節(jié)點直接進行相互傳遞的數(shù)據(jù)信息;用于分辨多部門或者多系統(tǒng)或者多用戶間各自獨立的流程定義的泳道;為各個活動提供上下文途徑的擴展符號——工件(Artifacts)[6];標識基本工作流處理事件或者任務的工作流對象。2.0版本定義了流程的開始、結束、流程過程判斷等,其包含了事件(Events)、活動節(jié)點(Activities)及網關(Gateways)三類基本要素。

      ①事件

      事件一般用圓圈表示,可以用于表示業(yè)務流程活動的開始、結束,當出現(xiàn)邊界判斷或者定時判斷時候,也可以使用事件進行定義。在實際使用過程中存在多個業(yè)務系統(tǒng)之間整合,此時也可以通過使用事件增強整個系統(tǒng)之間交互控制。BPMN2.0中定義的事件有:開始事件(Start Events)、中間事件(Intermediate Events)、結束事件(End Events)等。

      ②活動

      工作流建模中將存在從啟動到結束有一定過程狀態(tài)的內容定義為活動,活動一般用圓角型圖示進行表示,常見的活動的有任務(Task)、流向(Sequence Flow)及子流程(Sub-Process)等。

      任務:可以用于表示工作流執(zhí)行活動內容,任務與其他類型節(jié)點或者其他任務之間的連接通過順序流來實現(xiàn)。

      順序流:是帶箭頭的有向連接線,在進行順序定義的時候同時有源頭ID定義及目的ID定義。工作流建模中涉及的所有元素之間的連接均通過順序流連接。

      子流程:主要功能是實現(xiàn)流程的繼承。當出現(xiàn)多重復雜流程時,可以通過創(chuàng)建不同級別的流程進行實現(xiàn)。

      ③網關

      工作流建模過程中存在流程判斷與流程并行執(zhí)行情況,這種情況可以通過網關來實現(xiàn)。BPMN2.0中定義的網關有:并行網關(Parallel Gateway)、排他型網關(Exclusive Gateway)、包容型網關(Inclusive Gateway)。

      并行網關:是經過該網關的活動可以同時被執(zhí)行,該網關所有輸入的順序流對應的源活動節(jié)點均執(zhí)行完畢后,才能繼續(xù)執(zhí)行網關輸出流連接的活動節(jié)點。

      排他型網關:是經過該網關可能有多條順序流輸出,但是最終只有一條滿足參數(shù)判斷條件的輸出流被調用執(zhí)行。

      包容型網關:被用來進行條件性拆分或者歸并順序流。

      1.3 Activiti5引擎

      (1)Activiti5

      Activiti5以BPMN2.0標準化語言為基礎,可以通過標準化的建模語言與可執(zhí)行化的描述完成相應工作流的建立與執(zhí)行,使應用該開源工作流引擎的企業(yè)能夠處理形式多樣的問題。Activiti5最終的目標是為了創(chuàng)建更靈活開放的業(yè)務流程管理處理方案[7]。

      Activiti5擁有活躍的生命力與潛在的可能性,原因在于在底層開發(fā)框架許可上選擇的是Apache,這樣使得整個架構可以開放給全世界,而不僅僅是將歸屬權限制在某個公司或者個人。

      (2)Activiti5與BPMN2.0

      BPMN2.0定義了標準的建模圖示與可序列化執(zhí)行的描述信息,Activiti5在設計與研發(fā)中嚴格按照BPMN2.0標準執(zhí)行,實現(xiàn)了其中大部分的圖示定義與可序列化執(zhí)行語義的描述。Activiti5是開源的業(yè)務流程管理軟件和工作流系統(tǒng)引擎,同時通過自定義擴展元素與屬性,在實際生產過程自動化建設過程中,可以實現(xiàn)更多的業(yè)務功能。這些擴展的元素與屬性同樣支持BPMN2.0標準規(guī)范。

      Activiti5通過BpmnParseHandler類進行BPMN2.0 XML流程定義文件的解析。其解析過程為從頂部節(jié)點開始解析,逐級深入,從定義的屬性、導入、分項定義、消息、接口、錯誤信息到過程定義,最后進行可視化定義的讀取與分析。

      除了以上內容外,Activiti5還引入了監(jiān)聽機制,包含:BPMN解析監(jiān)聽、任務監(jiān)聽、執(zhí)行監(jiān)聽、事務監(jiān)聽。

      2 工作流處理模塊設計與實現(xiàn)

      2.1 工作流處理模塊需求分析

      海事衛(wèi)星業(yè)務受理系統(tǒng)需要將用戶提交的業(yè)務受理信息,進行數(shù)據(jù)解析處理并發(fā)送到不同系統(tǒng)中。與業(yè)務受理系統(tǒng)進行交互的有Inmarsat系統(tǒng)、Billing系統(tǒng)、賬管系統(tǒng)、流控系統(tǒng)及870系統(tǒng)。

      各交互系統(tǒng)需要的數(shù)據(jù)類型、數(shù)據(jù)格式相差很大,對受理數(shù)據(jù)進行數(shù)據(jù)解析轉換處理在工作流處理模塊進行操作。各平臺數(shù)據(jù)處理的時候根據(jù)其開通的關鍵性及后續(xù)處理便捷性進行排序。

      現(xiàn)有系統(tǒng)目前對于各平臺數(shù)據(jù)處理部分處于半手工狀態(tài),因而為了能夠實現(xiàn)數(shù)據(jù)處理的及時性、準確性,引用Activiti開源工作流進行配置處理。Inmarsat系統(tǒng)通過報文文件方式進行數(shù)據(jù)訂購/變更/退訂操作,因而工作流流程處理過程中采用異步的方式實現(xiàn)。當某個平臺處理失敗的時候,需要考慮錯單、異常訂單處理機制。

      因而工作流處理模塊需要實現(xiàn)的內容如下:

      (1)Activiti工作流的啟動、查詢、停止等操作控制與管理。

      (2)需要解析訂單信息,將訂單信息轉化為各個外圍平臺識別的報文信息。

      (3)出現(xiàn)異常情況的錯單處理,訂單重發(fā)或者訂單撤單操作等。

      (4)所有平臺均處理完成后,整個工作流數(shù)據(jù)的歸檔操作。

      2.2 Activiti5在海事衛(wèi)星受理系統(tǒng)中的應用實現(xiàn)

      工作流管理模塊主要實現(xiàn)工作流的啟動、查詢與終止操作。訂單模塊創(chuàng)建訂單完成后,調用工作流處理模塊進行訂單的派發(fā)操作。初始化時調用Activiti啟動工作流,每個訂單生成唯一的流程實例ID(PROC_INST_ID),每個訂單發(fā)送到不同平臺,生成不同的TASK_ID。當訂單派發(fā)處理完成后,調用Activiti終止工作流,管理工作流的生命周期。Activiti流程圖如圖6所示。

      圖6 Activiti流程圖

      工作流管理模塊實現(xiàn)了對工作流流程的控制與分發(fā),整個流程設計自動化完成處理,減少了人工操作及各系統(tǒng)之間的數(shù)據(jù)差異。系統(tǒng)中實現(xiàn)的工作流主要使用節(jié)點有開始事件、順序流、JAVA服務任務、用戶任務、排他型網關及結束事件。每個節(jié)點實現(xiàn)的任務不同。針對Acitiviti流程圖中重要節(jié)點定義圖形符號、類型及功能描述如表1所示。

      (1)JAVA服務任務:工單預處理節(jié)點的XML定義如下。

      節(jié)點參數(shù)定義:

      id參數(shù)定義為 servicetask_orderPreprocessor;name名稱為工單預處理(判斷是否發(fā)送inmarsat);

      activiti:expression是該節(jié)點調用的表達式,Expression表達式可以用于Java Service Tasks、Task Listeners和Condition Sequence Flows中。

      activiti:resultVariableName表示該節(jié)點執(zhí)行完畢后,執(zhí)行結果賦值的參數(shù)名稱,如節(jié)點正常結束,節(jié)點最終輸出結果為param=Continue(param參數(shù)值用于順序流判定)。

      節(jié)點功能:

      該節(jié)點實現(xiàn)的功能為先判斷是否發(fā)送Inmarsat平臺,如果發(fā)送直接調用發(fā)送Inmarsat任務,不發(fā)送則調用通知訂單處理模塊進行轉實例操作。

      (2)用戶任務:發(fā)送Inmarsat節(jié)點的XML定義如下。

      節(jié)點參數(shù)定義:

      id定義為usertask_inmarsat。name名稱定義為發(fā)送inmarsat。

      activiti:async參數(shù)定義服務處理是異步操作;當設置async=”true”的時候,流程引擎采用JobExecutor來異步執(zhí)行,引擎首先會將該任務實例化一條job記錄,插入act_ru_job表中,然后JobExecutor掃描該表并加鎖執(zhí)行該job。

      extensionElements:User Task的擴展屬性定義,任務監(jiān)控(Task Listener)定義是用戶任務的擴展屬性。

      activiti:taskListener:使用任務監(jiān)聽器方式實現(xiàn)該節(jié)點功能,通過方法表達式完成類調用,在此該節(jié)點功能具體的實現(xiàn)類方法為interOrderAllBusiServiceImpl.orderSendInmarsat(task)(task參數(shù)保存當前任務的相關信息)。

      節(jié)點功能:

      對訂單數(shù)據(jù)進行解析并轉化成Inmarsat平臺可以識別的文件,并增加任務監(jiān)控,出現(xiàn)異常的時候捕獲異常,并進行相應的異常處理。

      (3)排他型網關:網關節(jié)點的XML定義如下。

      節(jié)點參數(shù)定義:

      id定義為exclusivegateway1;name名稱定義為Exclusive Gateway;

      節(jié)點功能:

      排他型網關連接一個輸入流,三個輸出流,三個輸出流分別為:判斷參數(shù)值是Continue調用通知受理轉實例分支;判斷參數(shù)值是Repeat調用發(fā)送Inmarsat節(jié)點;判斷參數(shù)值是Exception調用錯單處理節(jié)點。

      (4)順序流:連接排他型網關exclusivegateway1有三個輸出順序流。

      節(jié)點參數(shù)定義(以flow90節(jié)點為例):

      id定義為flow90。

      sourceRef定義flow90順序流的源頭節(jié)點是id為exclusivegateway1的排他型網關。

      targetRef定義flow90順序流的目標節(jié)點是id為servicetask_accept的服務任務。

      conditionExpression定義順序流flow90分支條件判斷表達式,使用單變量的boolean表達式進行判斷處理,順序流flow90分支的條件判斷定義為:${param==Continue},增加CDATA標記是格式化字符數(shù)據(jù)。

      節(jié)點功能:

      flow90的源頭節(jié)點是網關,目標節(jié)點是服務任務通知訂單處理模塊進行轉實例操作節(jié)點;flow91的源頭節(jié)點是網關,目標節(jié)點是發(fā)送數(shù)據(jù)到Inmarsat系統(tǒng)節(jié)點;flow72的源頭節(jié)點是網關,目標節(jié)點是錯單處理節(jié)點。

      輸出順序流的定義如下所示:

      sourceRef=”exclusivegateway1”

      targetRef=”servicetask_accept”>

      <![CDATA[${param==Continue}]] >

      sourceRef=”exclusivegateway1” targetRef=”usertask_inmarsat”>

      <![CDATA[${param==Repeat}]] >

      sourceRef=”exclusivegateway1” targetRef=”usertask_error_1”>

      <![CDATA[${param==Exception}]] >

      3 結束語

      本文研究和實現(xiàn)了基于工作流的業(yè)務受理系統(tǒng),通過引用開源的Activiti5工作流引擎,實現(xiàn)了海事衛(wèi)星業(yè)務受理系訂單的全自動處理功能,解決了之前應用系統(tǒng)的半手工訂單處理問題,最終避免了各系統(tǒng)之間數(shù)據(jù)不一致情況。而與五代星業(yè)務融合是后續(xù)事衛(wèi)星業(yè)務范圍日益擴大,五代星業(yè)務也在慢慢成熟,需要推廣到市場中,如何實現(xiàn)與五代星業(yè)務融合,也將是非常有意義的工作。

      參考文獻

      [1] 王震東,趙興生.國際海事衛(wèi)星組織的通信業(yè)務[J].現(xiàn)代通信,1997,(8):28-31.

      [2] 鄒栫潔.第四代國際海事衛(wèi)星技術的特點研究[J].中國海事,2012,(11):53-56.

      [3] 莊少燉.基于Spring的輕量級Web框架研究與實現(xiàn)[D].成都:電子科技大學,2009.

      [4] 于萬鈞.工作流管理技術研究[D].吉林:吉林大學,2004.

      [5] Palmer N.Workflow Management Coalition[M].New York:Springer US,2009:179.

      [6] Rosing M V,White S,Cummins F,et al.Business Process Model and Notation—BPMN[J].Complete Business Process Handbook,2015,(95):429-453.

      [7] Tijs Rademakers,Ron van Liempd.Activiti in Action[M].New York:Manning Publications,2007:51-52.

      作者簡介

      劉利靜(1987-),女,河南新鄉(xiāng)人,中國交通通信信息中心,研究方向:交通信息化。

      燕鵬飛(1981-),男,內蒙古烏蘭察布人,中國交通通信信息中心,研究方向:交通信息化。

      猜你喜歡
      工作流
      支持節(jié)點協(xié)同的工作流模型構建方法研究
      基于工作流2.0的智慧教室設計與研究
      工作流在電力生產管理信息系統(tǒng)中的設計和應用
      “奔向共贏、做到最好”行業(yè)信息化研究方法論
      價值工程(2016年32期)2016-12-20 15:51:16
      個性化計算機輔助教學系統(tǒng)的設計與實現(xiàn)
      商情(2016年39期)2016-11-21 09:57:19
      工作流技術在醫(yī)療信息整合工程中的應用分析
      基于工作流的水運應急信息管理平臺設計 
      軟件導刊(2016年9期)2016-11-07 21:29:10
      辦公自動化系統(tǒng)中公文管理模塊的設計和實現(xiàn)
      基于J2EE的電子政務系統(tǒng)研究與應用
      考試周刊(2016年71期)2016-09-20 18:20:53
      基于J2EE的電子政務系統(tǒng)研究與應用
      考試周刊(2016年71期)2016-09-20 18:20:52
      双流县| 淳化县| 申扎县| 沾益县| 临城县| 大城县| 诸暨市| 文成县| 兴国县| 乐昌市| 许昌市| 东乡族自治县| 花莲县| 靖宇县| 四平市| 晴隆县| 定陶县| 鲁甸县| 盐亭县| 南漳县| 葵青区| 巨鹿县| 江门市| 平舆县| 南澳县| 东乌| 盐亭县| 莫力| 山阴县| 陆良县| 介休市| 玉山县| 唐山市| 名山县| 新干县| 新河县| 柳河县| 聊城市| 喀喇沁旗| 古蔺县| 麻江县|