999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

工作流在企業(yè)環(huán)境微生物檢測中的應用①

2018-04-21 01:37:26張云華
計算機系統(tǒng)應用 2018年3期
關鍵詞:引擎數(shù)據(jù)庫實驗

張 健, 張云華

(浙江理工大學 信息學院,杭州 310018)

1 引言

工作流技術起源于上個世紀 70 年代中期辦公自動化領域的研究工作,通過將工作分解定義良好的任務角色,按一定的規(guī)則和過程來執(zhí)行這些任務并對它們進行監(jiān)控來提高辦事效率降低生產成本,提高企業(yè)生產經營管理水平和企業(yè)競爭力[1]. Activiti是一個業(yè)務流程管理(BPM)和工作流系統(tǒng),適用于開發(fā)人員和系統(tǒng)管理員. 其核心是超快速,穩(wěn)定的BPMN2流程引擎. 它易于與Spring框架集成使用.

JAVA語言Spring框架是一個輕量級的控制反轉(IoC)和面向切面(AOP)的容器框架. 低侵入式設計,代碼污染極低,同時獨立于各種應用服務器Spring的DI機制降低了業(yè)務對象替換的復雜性,提高了組件之間的解耦; Spring[2]的AOP支持允許將一些通用任務如安全、事務、日志等進行集中式管理,從而提供了更好的復用; Spring的ORM和DAO提供了與第三方持久層框架的良好整合,并簡化了底層的數(shù)據(jù)庫訪問;Spring并不強制應用完全依賴于Spring,開發(fā)者可自由選用Spring框架的部分或全部.

JAVA語言[3]Struts框架具有組件的模塊化,靈活性和重用性的優(yōu)點,同時簡化了基于MVC的web應用程序的開發(fā). Struts可以清晰地區(qū)分控制,事務邏輯和外觀,從而簡化了開發(fā)應用程序的過程. Struts[4]提供的類使得開發(fā)工作更加簡單,這些類包括: 實現(xiàn)和執(zhí)行程序事務邏輯的類自定義的標記庫使得創(chuàng)建和驗證HTML表單更加容易.

針對當前企業(yè)環(huán)境微生物檢測中的問題,設計了一套基于工作流的企業(yè)環(huán)境微生物檢測平臺系統(tǒng).

2 企業(yè)環(huán)境微生物檢測平臺

2.1 業(yè)務背景和目標

在當前企業(yè)環(huán)境微生物檢測平臺中,操作人員手工處理數(shù)據(jù)很繁瑣,工作量繁重,尤其在檢測過程中,數(shù)據(jù)流轉不合理,不規(guī)范的問題,致使客戶和操作人員都無法及時準確地獲取檢測項目的進度和結果,甚至可能會帶來嚴重的經濟損失. 由此,設計開發(fā)一套邏輯嚴密,結構穩(wěn)定的微生物監(jiān)測系統(tǒng),進而可以提高工作效率和準確率,帶來經濟效益,減少不必要的經濟損失.

2.2 系統(tǒng)的業(yè)務流程

系統(tǒng)整體業(yè)務流程如圖1所示.

圖1 系統(tǒng)業(yè)務流程圖

① 從客戶提交訂單后開始,同時產生一個唯一的流程編號,由工作流引擎將表單傳給銷售部門. ② 銷售部接受到訂單任務后,檢查訂單,發(fā)現(xiàn)有誤可以進行修改,無法修改時可以打回給客戶,通知其重新修改訂單提交. 確認無誤后,將訂單傳遞到綜合管理部門. ③ 綜合管理部門接收檢查訂單信息以后,發(fā)現(xiàn)問題同樣可以進行打回,直至無誤后,將訂單樣品進行接收,任務進程進入到實驗部. ④ 實驗部獲取到樣品,可以進行對應實驗并填寫實驗數(shù)據(jù). 實驗完成后,任務流程到達信息部. ⑤ 信息部上傳實驗匯總數(shù)據(jù),外部程序獲取到上傳實驗數(shù)據(jù)后,進行驗證分析,得出結果. ⑥ 將結果返回到服務器數(shù)據(jù)中,系統(tǒng)程序自動檢測到結果數(shù)據(jù)后,根據(jù)結果生成實驗報告,信息部將所得實驗結果發(fā)送到綜合運營部門. ⑦ 綜合運營部門對實驗報告進行審核,審核不通過,可以打回到信息部門,審核通過,可以將報告送到實驗室主任. ⑧ 實驗室主任對報告進行最后確認,決定是否進行簽發(fā)操作. ⑨ 簽發(fā)后,數(shù)據(jù)報告到銷售部門,銷售部將報告發(fā)放給客戶. ⑩ 最后客戶接收到報告后流程結束.

在系統(tǒng)整個流程中,任何部門都可以隨時查詢到訂單的進度情況,信息能夠實現(xiàn)共享同時每一個訂單都能在部門之間準確的流轉.

2.3 系統(tǒng)建設方案

基于當前紙質化的微生物檢測流程,建立一個環(huán)境微生物檢測平臺勢必存在一些挑戰(zhàn)和困難,主要包括以下幾個方面.

1) 如何將項目流程進度與部門聯(lián)系起來,并實時查看項目所處部門,獲取項目進度;

2) 如何解決實驗步驟的控制和動態(tài)修改;

3) 報告審核過程中,每一個樣本都要生成報告,然后并上傳到服務器,由于每個樣本都存在大量數(shù)據(jù),生成報告和上傳需要都消耗大量時間. 如何優(yōu)化報告審核功能.

4) 如何控制不同用戶在不同地點登錄權限問題.

針對上述問題,主要的解決辦法如下.

1) 首先將所有的項目狀態(tài)規(guī)范定義并與相關部門進行關聯(lián). 然后統(tǒng)計不同類型項目步驟總數(shù),項目每完成一步或者打回時,項目狀態(tài)立即發(fā)生改變,并計算當前狀態(tài)處于項目哪一步驟,確定進度值.

2) 首先需要設計好所有類型項目的實驗步驟頁面并對其進行編碼,針對不同的項目的實驗步驟,可以進行排序以及調整. 項目實驗進行過程中,通過當前項目類型和項目當前實驗步驟,從而可以得到下一步實驗步驟編碼和對應URL地址,通過URL地址就可定位到對應實驗步驟頁面.

3) 報告審核時需要服務器中其他程序進行審核判斷的,所以需要將一個項目中的所有樣本數(shù)據(jù)生成對應的樣本報告并上傳到FTP服務器. 這需要消耗大量的時間,用戶在此過程中無法進行其他操作,用戶的體驗很差. 本系統(tǒng)在原有的基礎上,設置一個循環(huán)定時器,定時的去獲取上傳進度,直至完成后,銷毀定時器. 之前的流程在后臺自動進行,從而給用戶很好操作體驗.

4) 由于數(shù)據(jù)安全性的問題,除了銷售部門成員和客戶. 其他部門人員只能在公司內部進行登錄. 而銷售部門人員由于業(yè)務的需求,不能經常在公司內部,此時需要設置權限認證用戶進行登錄. 公司內網采用是用VPN (Virtual Private Network),即“虛擬專用網絡”,是虛擬出來的企業(yè)內部專線.

為外網登錄用戶分配登錄權限. 當用戶進行登錄,首先判斷當前網絡是公司內網還是外部網絡. 若為內網,賬號密碼無誤后,直接登錄. 而處于外網,賬號密碼無誤后,判斷是否有登錄權限,若有權限,登錄成功. 若無權限,登錄失敗.

3 企業(yè)環(huán)境微生物檢測平臺實現(xiàn)

3.1 開發(fā)環(huán)境

Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE),是一個開放源代碼的、基于Java的可擴展開發(fā)平臺. 就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境. 因此環(huán)境微生物監(jiān)測平臺的設計采用Eclipse開發(fā)環(huán)境.

3.2 數(shù)據(jù)庫設計

MySQL數(shù)據(jù)庫簡稱MySQL,是一款由瑞典MySQL AB公司開發(fā)并且廣泛應用在于小型企業(yè)或者組織中的小型數(shù)據(jù)管理系統(tǒng),MySQL數(shù)據(jù)庫因其體積小、速度快、總體擁有成本低等優(yōu)點.

MySQL數(shù)據(jù)庫是基于Linux操作系統(tǒng)開發(fā)出來的數(shù)據(jù)庫,眾所周知Linux是開放源碼的操作系統(tǒng),所以MySQL數(shù)據(jù)庫也是開放源碼的免費數(shù)據(jù)庫,這也是MySQL數(shù)據(jù)庫的優(yōu)點. 基于以上的優(yōu)點,本系統(tǒng)使用就是Mysql數(shù)據(jù)庫.

3.3 系統(tǒng)設計

系統(tǒng)的設計采用的是MVC模式[5]. MVC是一種開發(fā)模式,是很強大,應用很廣泛的. 是面向對象的基礎的常見開發(fā)模式.

MVC 定義: 即 Model-View-Controller,把一個應用的輸入、處理、輸出流程按照Model、View、Controller的方式進行分離,這樣一個應用被分成3層,即模型層、視圖層、控制層.

3.3.1 后臺業(yè)務設計

系統(tǒng)中后臺設計采用分層結構來實現(xiàn),主要分為3層: 行為(Action)層,業(yè)務邏輯層,數(shù)據(jù)交換層.

其中Action層使用的是Struts技術. ActionServlet是Struts中核心的控制器,所有的用戶請求都必須通過ActionServlet的處理,ActionServlet通過配置文件把用戶的請求發(fā)送到對應的Action控制器中. 所以,所有從前端向后臺發(fā)送的請求方法,都是在Action控制器中進行編寫,而Action全部交由Spring去管理. 數(shù)據(jù)庫中獲取的數(shù)據(jù)要先回到Action層,通過HttpServletResponse將數(shù)據(jù)返回到前端. 由于篇幅原因,Struts配置文件部分代碼如下:

業(yè)務邏輯層和數(shù)據(jù)交換層使用的是Spring技術,Action層的獲取的到前臺Ajax請求后,會先到業(yè)務邏輯層進行對應處理,同時事務管理是通過Spring中的AOP模塊來控制,它是將一個或多個操作放在同一個事務下,最終統(tǒng)一進行提交或者回滾. 而數(shù)據(jù)交換層,即與數(shù)據(jù)庫的交互,是通過Spring DAO中的JdbcTemplate模塊來實現(xiàn). Spring的IOC特性可以很好的管理Action層,業(yè)務邏輯(Service)層,數(shù)據(jù)交互(Dao)層. 部分管理代碼如下:

整個系統(tǒng)基礎數(shù)據(jù)的傳輸交互流程如圖2所示.由于本系統(tǒng)的分層設計,使得各層內部的能獨立變化,而整體不受影響.

圖2 數(shù)據(jù)傳輸流程圖

3.3.2 Activiti工作流引擎接口的設計

Activiti流程[6,7]引擎重點關注在系統(tǒng)開發(fā)的易用性和輕量性上. 每一項BPM[8]業(yè)務功能Activiti流程引擎都以服務的形式提供給開發(fā)人員. 通過使用這些服務,開發(fā)人員能夠構建出功能豐富、輕便且高效的BPM應用程序. 圖3是Activiti引擎的系統(tǒng)服務結構圖,該圖顯示了引擎提供的所有功能組件.

本系統(tǒng)要實現(xiàn)流程的控制,主要是使用了RuntimeService和TaskService. 每當一個流程定義被啟動一次之后,都會生成一個相應的流程對象實例.RuntimeService提供了啟動流程、查詢流程實例、設置獲取流程實例變量等功能. 此外它還提供了對流程部署,流程定義和流程實例的存取服務.

在Activiti中業(yè)務流程定義中的每一個執(zhí)行節(jié)點被稱為一個Task,對流程中的數(shù)據(jù)存取,狀態(tài)變更等操作均需要在Task中完成. TaskService提供了對用戶Task相關的操作. 它提供了運行時任務查詢、領取、完成、刪除以及變量設置等功能.

圖3 Activiti引擎的系統(tǒng)服務結構圖

本系統(tǒng)的工作流引擎接口放在業(yè)務邏輯層來進行處理,這樣帶來的好處是,系統(tǒng)在工作流中出現(xiàn)的異常時,Spring中事務管理都可以方便的進行回滾,從而避免因為異常帶來的錯誤. 下面簡單介紹下任務流程開啟和領取并完成個人任務代碼:

客戶通過頁面點擊提交訂單按鈕,調用流程開啟代碼,啟動一次任務流程,企業(yè)操作人員通過依次領取個人任務,完成任務,直至任務流程最終完成,客戶獲得檢測報告.

圖4是根據(jù)系統(tǒng)業(yè)務流程設計的工作流流程圖.

圖4 企業(yè)微生物檢測系統(tǒng)工作流流程圖

4 結果分析

未引入本系統(tǒng)時,由于整個流程是通過紙質方式來傳輸?shù)?人工完成一個微生物檢測項目流程所需時間平均為10-15天,而當通過引入本系統(tǒng)后,作者測試了50個項目,每個項目100個樣本,完成一個項目流程時間縮短為1-2天.

5 結束語

本文設計的一種基于工作流的企業(yè)環(huán)境微生物檢測系統(tǒng),將Spring和Struts框架與工作流很好的整合為一個整體,運用在了企業(yè)環(huán)境微生物檢測中,使得信息能夠共享,極大方便了企業(yè)客戶項目進度的查詢和獲取,同時也大大的提高了企業(yè)工作效率,減少了手工帶來的誤差和不便,方便了管理,提高了經濟效益.

1范玉順. 工作流管理技術基礎. 北京: 清華大學出版社,2001.

2王幸福. 基于Spring和Struts的輕量級J2EE通用框架的研究與應用[碩士學位論文]. 武漢: 武漢理工大學,2007.

3Eckel B. Thinking in Java. Upper Saddle River,NJ,USA:Prentice Hall,2006.

4林琴,譚駿珊. 基于Struts框架的Web報表展示的設計與實現(xiàn). 計算機系統(tǒng)應用,2006,15(11): 25-28. [doi: 10.3969/j.issn.1003-3254.2006.11.007]

5易可可,陳志剛. 基于MVC模式的Web OA系統(tǒng)設計與研究. 計算機工程與應用,2005,41(4): 112-115.

6唐華云,郭芬,桑英碩. 工作流管理平臺的設計及其在自助服務中的應用. 計算機系統(tǒng)應用,2016,25(7): 89-95. [doi: 10.15888/j.cnki.csa.005316]

7湯幸江,姚明海. 工作流系統(tǒng)在離散制造業(yè)的應用. 計算機系統(tǒng)應用,2010,19(8): 146-151.

8王鵬. 一種輕量級BPM引擎功能擴展模型的研究[碩士學位論文]. 哈爾濱: 哈爾濱工程大學,2015.

猜你喜歡
引擎數(shù)據(jù)庫實驗
記一次有趣的實驗
做個怪怪長實驗
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
數(shù)據(jù)庫
財經(2017年2期)2017-03-10 14:35:35
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
數(shù)據(jù)庫
財經(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(2016年6期)2016-02-24 07:41:51
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
主站蜘蛛池模板: 国产偷国产偷在线高清| 狠狠色香婷婷久久亚洲精品| 国产粉嫩粉嫩的18在线播放91| 国产欧美视频在线观看| 国产手机在线观看| 国产成在线观看免费视频| 日本三级欧美三级| 国产精品香蕉在线观看不卡| 91免费观看视频| 欧美国产综合视频| 人人妻人人澡人人爽欧美一区| 国产精品久久久久久久久kt| 国产成人喷潮在线观看| 国产精品网址在线观看你懂的| 毛片免费在线视频| 国产无码网站在线观看| 国产99欧美精品久久精品久久| 国产熟睡乱子伦视频网站| 久久国产精品无码hdav| 亚洲精品卡2卡3卡4卡5卡区| 国产美女91视频| 在线视频亚洲色图| 最新日韩AV网址在线观看| 青青青亚洲精品国产| 欧美日韩理论| 国产在线精彩视频论坛| 欧美亚洲一区二区三区在线| 沈阳少妇高潮在线| 夜夜操天天摸| 九一九色国产| 91国语视频| 亚洲人成网站在线播放2019| 亚洲天堂精品视频| 超清人妻系列无码专区| 久久国产拍爱| 就去色综合| 国产流白浆视频| 亚洲精品高清视频| 日韩国产无码一区| 一区二区三区四区日韩| 手机看片1024久久精品你懂的| 国产成人1024精品| 国产成人综合在线视频| 99re热精品视频国产免费| 免费观看欧美性一级| 亚洲AV成人一区二区三区AV| 老色鬼欧美精品| 免费又爽又刺激高潮网址 | 狼友视频国产精品首页| 国产丝袜第一页| 精品自窥自偷在线看| 精品久久人人爽人人玩人人妻| 欧洲欧美人成免费全部视频| 久久久久国产一区二区| 天堂成人在线视频| 一区二区午夜| 伊人福利视频| 午夜精品福利影院| 性欧美久久| 亚洲国产看片基地久久1024| 亚洲熟妇AV日韩熟妇在线| 91小视频在线播放| 99青青青精品视频在线| aaa国产一级毛片| 久久无码av一区二区三区| 高清无码不卡视频| 一级毛片免费观看不卡视频| 黄色网址免费在线| 国产迷奸在线看| 欧美中文字幕一区| 凹凸精品免费精品视频| 91精品啪在线观看国产| 久久福利网| 香蕉eeww99国产在线观看| 国产精品密蕾丝视频| 日韩一区二区三免费高清| 99re热精品视频国产免费| 毛片免费在线视频| 激情综合婷婷丁香五月尤物| 毛片久久久| 色综合综合网| 日韩小视频在线播放|