《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Activiti5柔性工作流的售后信息平臺
基于Activiti5柔性工作流的售后信息平臺
2016年微型機與應用第16期
陳路路,周鳳
貴州大學 計算機科學與技術學院,貴州 貴陽 550025
摘要: 隨著當前信息技術突飛猛進的發展,各行各業對于辦公效率都有了更高的要求,尤其是在一些財政審批、貸款辦理等這些流程較多的行業,工作流技術成了其業務辦理不可或缺的一部分。傳統的工作流框架只支持事先設定的、循環的業務流程,對于一些動態變化和復雜的業務顯得捉襟見肘。該設計采用Activiti5和Struts2+Spring3+Hibernate4 3種輕量級框的整合,添加柔性表單,并且引入角色的權限機制來提高訪問的安全性。該設計不僅能方便不同部門的協同工作,而且能滿足動態流程的變化,提高辦公效率。
Abstract:
Key words :

  陳路路,周鳳
  (貴州大學 計算機科學與技術學院,貴州 貴陽 550025)

       摘要:隨著當前信息技術突飛猛進的發展,各行各業對于辦公效率都有了更高的要求,尤其是在一些財政審批、貸款辦理等這些流程較多的行業,工作流技術成了其業務辦理不可或缺的一部分。傳統的工作流框架只支持事先設定的、循環的業務流程,對于一些動態變化和復雜的業務顯得捉襟見肘。該設計采用Activiti5Struts2+Spring3+Hibernate4 3種輕量級框的整合,添加柔性表單,并且引入角色的權限機制來提高訪問的安全性。該設計不僅能方便不同部門的協同工作,而且能滿足動態流程的變化,提高辦公效率。
  關鍵詞:Activiti5;柔性表單;工作流;Struts2+Spring3+Hibernate4  

0引言
  為進一步增強和完善該公司的售后服務質量及用戶體驗,使售后服務管理流程化、規劃化,進一步提升公司的市場競爭力,滿足實際項目的需要,開發本系統,實現售后管理業務的規范化、信息化。該設計是對車輛混燃系統的一套售后服務系統。伴隨公司業務的擴大,人工的管理和服務消耗了大量的物力、財力,而且對于一些設備安裝等流程化問題,工作人員稍有疏忽,就會出錯,實時性很差,不能跟蹤和監控,降低客戶的滿意度,因此,在公司業務需要下,開發和設計一套流程化的、滿足動態業務的、可隨時監控的售后信息平臺。該平臺的開發采用S2SH輕量級開發框架[13],敏捷開發,代碼復用率高,便于移植、擴展和后期的維護;采用MVC的設計模式[4],降低Model、View和Control之間的耦合度,使其分離開來,極大削弱其相互之間的依賴,減少了工作量和降低開發難度。在S2SH輕量級框架的基礎上,整合Activiti5框架,采用其核心ProcessEngine類調用TaskService、RepositoryService、RuntimeService、 HistoryService 等組件,然后對流程定義、啟動和刪除以及流程任務和歷史的流程管理等進行管理,另外增加柔性表單設計,動態地響應流程的變化,來滿足實際項目的需求。該系統還增加了角色管理,該系統有管理員、普通職員、技術主管3個主要角色,根據不同的角色,分配不同的權限,這樣保證了系統的高效性和安全性。
1主要相關技術簡介
  1.1柔性工作流技術

  柔性,顧名思義就是在外界條件改變或者外力沖擊的情況下,自身有一定的張力和適應力,從而保持自己原有特性的一種能力。柔性工作流管理系統就是當系統的流程或者系統的某些功能模塊發生變化時,僅僅對相應的流程定義或者相關參數和規則進行調節即可,而系統本身的業務邏輯代碼不需要大的改動,這種柔性的實現原理主要是靠代碼邏輯的低耦合、高內聚來實現的。系統的功能設計很大程度上決定系統的柔性限度,在柔性管理系統中最重要的一方面就是要設計出統一通用的算法以及相關的業務邏輯,這樣能夠使系統在不同的環境下實現真正的柔性適應。該設計采用柔性化的工作流管理系統,可以避免二次開發帶來的成本開銷,減少不必要的人力和物力。
  1.2S2SH輕量級框架
  S2SH框架是當前開發者首選的框架之一,其便捷的開發、極高的松散性、較短的開發周期等優點成為開發人員首選的一種開發框架。該系統采用Struts2+Spring3+Hibernate4這3種技術整合的開發框架[5]。其中,Struts2是在Struts1和WebWork的基礎上出現的一種輕量級框架。該系統采用Struts2的原因在于它是表示層框架,通過struts2.xml配置文件可以讓框架結構一目了然,方便開發人員縮短開發周期。另外一個優勢在于,其特有的核心過濾器和攔截器可以對一些非法的操作進行過濾和攔截,通過攔截器后才可以進入控制層進行下一步的操作,提供面向抽象類編程,還提供對于接口類的開發。Spring3是整個S2SH框架中核心地位,一方面是它可以與Struts2進行向上整合,與Hibernate4進行向下整合;另一方面它可以解決軟件耦合性差和復用性弱的問題,將系統進行分層設計。該框架中,最引人注目的就是控制反轉( Inversion of Control, IOC)和面向切片編程(Aspect-Oriented Programming, AOP)這兩個功能,前者是將對象的創建交給外部容器,系統中所用到的組件都可以綁定到配置文件中,通過配置文件和核心類庫來完成容器的各種操作;后者面向切面編程,主要是由JDK Proxy以及Ciglib來完成切面工作,AOP模塊被直接嵌入到了框架,只需要在Spring的核心配置文件中配置相應文件,然后通過調用AOP接口即可完成AOP需求的任務。最后一種整合框架是Hibernate4,它是一種對象關系映射框架,早期的編程人員采用的都是JDBC,采用這種方式進行開發代碼顯得臃腫,復用性太差。而Hibernate4則只需要對JDBC進行一次編寫,就能完成任何地方都能進行引用的效果,并且使用Hibernate4框架可以很容易生成數據庫表,在SQL語句的書寫上,省去了很多不必要的操作,只需要書寫HQL就可以操作數據庫。
2Activiti5與S2SH框架整合的系統結構
  2.1系統的整體架構圖

  該設計采用的結構是B/S結構,選取Eclipse IDE開發平臺,運用Struts2+Spring3+Hibernate4組合的Web框架,采用jQuery等開發技術,有表現層、業務邏輯層、持久層等。在業務邏輯層中整合Activiti5引擎[67]。另外采用MVC設計模式,使層與層之間的耦合度降低,增強代碼的復用性,便于開發人員對后期功能的擴展和維護。系統總體結構如圖1所示。
  

圖像 001.png

  2.2該系統設計的原理
  該系統采用的是3層架構[8],即表現層、邏輯層、持久層。表現層采用的主要技術有BootStrap、JSP和Jquery,當用戶向Web應用器提交一個請求時,這個請求可以是觸發一個事件或者提交一個表單,請求參數會通過HTTP協議提交到Web服務器,Struts2的攔截器經過過濾后,通過訪問ActionService類中對應的Action,由其Struts.xml 中的映射進而調用相應的JSP等。在業務邏輯層,Activiti工作流引擎則由Spring管理,因為Activiti工作流底層框架是基于Spring和ibatis的,其中Activiti引擎[9]可以解析基于BPMN2.0繪制的流程圖,進而對流程進行管理。Activiti中的Activiti Designer是一個Eclipse插件,允許在IDE環境內用BPMN2.0建立流程模型,這方便了設計人員和開發人員的溝通,使他們不用進行面對面的交流就可以使開發人員進行編程和代碼設計。持久層的Hibernate與Spring集成時,在Spring的配置文件中只需要配置Hibernate需要的資源即可,例如一些DataSource的配置等,將Hibernate框架與系統集成起來完成對數據的操作。整個系統的實現是由這幾種框架整合集成來的,這樣可以充分利用各個框架自身的優勢,相互補充,避免了單獨使用的不便。
3該售后業務平臺的實現
  3.1數據庫初始化

  數據庫初始化代碼如下。
  /**使用代碼創建工作流需要的23張表*/
  @Test
  public void createTable(){
  ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();//連接數據庫的配置
  processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
  processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/itcast0711activiti?useUnicode=true&characterEncoding=utf8");
  processEngineConfiguration.setJdbcUsername("root");
  processEngineConfiguration.setJdbcPassword("111");
  processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE)
  //工作流的核心對象,ProcessEnginee對象
  ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
  System.out.println("processEngine:"+processEngine);
  }
  在Activiti5中,創建核心的流程引擎對象時會自動建表。如果程序正常執行,MySQL會自動建庫,然后創建23張表。
  3.2工作流程圖設計
  該設計的流程圖是用Activiti5 Modeler工具來制作的,業務流程以圖形化的方式呈現出來,這樣方便開發人員使用,從而避免業務人員和開發人員由于地理上的局限而帶來的難以溝通的問題。該流程圖有開始節點和結束節點,這是流程圖繪制過程中必不可缺少的,另外還有任務節點和排他網關,當流程執行到排他網關時,流程引擎會自動檢索網關出口,從上到下檢索,如果發現第一條決策結果為true或者沒有設置條件的(默認為成立),則流出。圖2所示為本系統中某任務的流程圖。
 

圖像 002.png

4結論
  該設計主要以Activiti5工作流引擎為核心,集成了Struts2、Spring3、Hibernate4這幾種輕量級框架的最新版本,添加了安全訪問機制,提高了系統的訪問安全性。另外采用MVC的設計模式,使模型、視圖、控制器這三者徹底分離開來,降低了視圖層、業務層和數據層的耦合性,使它們的松散性增強,極大方便了開發人員的開發。除此之外還增加了柔性表單,可以讓工作流管理系統有一點的柔性,這樣可以在業務流程改變或者功能模塊改變的時候,不需要對業務代碼進行大的改動,只需要修改流程定義或者流程參數或規則即可。該設計的可擴展性和復用性提升了工作流管理系統的性能,進一步提升了公司信息化水平。
  參考文獻
  [1] 李剛.輕量級Java EE企業應用實戰[M].北京: 電子工業出版社,2011.
  [2] 張耀民.SSH框架在Web項目開發中的構建和應用實踐[J].微型機與應用,2013,32(15):1821.
  [3] 范新燦,趙明.基于Struts + Hibernate + Spring的輕量級架構開發應用研究[J].現代計算機(專業版),2010(1):176 179.
  [4] 唐永瑞,張達敏.基于Ajax與MVC模式的信息系統的研究與設計[J].電子技術應用,2014,40(2):128131.
  [5] 王學偉.基于S2SH2和Fireflow工作流的辦公自動化系統的設計與實現[D].武漢:武漢科技大學,2011.
  [6] 王虎. 基于jBPM的計量管理信息系統的設計與實現[D].合肥:合肥工業大學,2010.
  [7]  賈松浩,楊彩,劉軍. 基于S2SH框架的個性化實驗室管理系統[J].實驗室研究與探索,2014,33(8):232235.
  [8] 葛揚瑛. 基于JavaEE和工作流的項目申報系統的設計與實現[D].成都:電子科技大學,2013.
  [9] 曹偉. 面向辦公自動化的工作流引擎研究和設計[D].南京:南京理工大學,2013.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
在线日韩av| 国产色综合天天综合网| 99热这里只有成人精品国产| 国产精品一二一区| 欧美成人国产一区二区| 午夜精品区一区二区三| 最新国产成人在线观看| 亚洲毛片av在线| 国产美女精品一区二区三区| 欧美岛国激情| 亚洲欧美日韩一区二区三区在线| 亚洲人精品午夜在线观看| av不卡在线| 亚洲第一天堂av| 国产欧美一区二区三区沐欲 | 亚洲美女精品久久| 国产精品久久久久久久久久久久久久 | 亚洲精品乱码久久久久久黑人 | 先锋影音国产精品| 一区二区电影免费在线观看| a4yy欧美一区二区三区| 亚洲福利视频二区| 一区国产精品| 国产精品中文字幕欧美| 欧美视频一区二区三区四区| 欧美成人蜜桃| 乱人伦精品视频在线观看| 欧美在线播放视频| 亚洲色无码播放| 99视频日韩| 亚洲美女av电影| 亚洲茄子视频| 亚洲国产精品久久精品怡红院| 夜夜精品视频一区二区| 亚洲精品一级| 在线 亚洲欧美在线综合一区| 欧美激情精品久久久久久久变态| 久久精品1区| 久久成人综合网| 一区二区三区久久久| 国产在线视频欧美一区二区三区| 国产精品swag| 欧美午夜一区| 欧美午夜片欧美片在线观看| 欧美日韩在线免费| 国产精品成人在线| 欧美性片在线观看| 国产精品毛片在线看| 国产精品日韩精品| 国产精品专区h在线观看| 国产欧美精品日韩区二区麻豆天美 | 久久夜色精品国产欧美乱极品| 狼狼综合久久久久综合网| 久久噜噜亚洲综合| 女人色偷偷aa久久天堂| 欧美激情网站在线观看| 欧美日本一区二区三区| 欧美日韩综合精品| 国产精品久久久久免费a∨| 国产精品一区二区久久久| 国产无一区二区| 国产亚洲综合性久久久影院| 激情成人综合| 亚洲国产精品高清久久久| 亚洲精品在线看| 亚洲一区二区三区成人在线视频精品| 亚洲一区三区电影在线观看| 欧美一级理论片| 亚洲人成亚洲人成在线观看图片| 亚洲靠逼com| 亚洲手机在线| 久久福利一区| 久久久久久久97| 欧美国产视频一区二区| 欧美日韩一区二区三区四区五区| 国产精品久久久久久久久免费桃花| 国产日韩欧美在线| 亚洲国产精品视频一区| 宅男在线国产精品| 久久国产福利国产秒拍| 欧美一区二区三区在| 亚洲日本欧美天堂| 亚洲综合国产激情另类一区| 久久精品日产第一区二区| 国产日产欧美一区| 亚洲伊人网站| 欧美一级视频精品观看| 狂野欧美激情性xxxx| 欧美日韩视频第一区| 国产亚洲精品久久久久动| 亚洲三级免费电影| 午夜在线成人av| 日韩视频久久| 性亚洲最疯狂xxxx高清| 欧美成人69av| 国产日韩欧美a| 91久久精品国产91久久性色| 亚洲午夜极品| 久久精品亚洲| 亚洲免费在线视频一区 二区| 久久久久久久97| 欧美四级在线| 激情小说另类小说亚洲欧美| 亚洲电影免费| 性欧美精品高清| 亚洲图片欧美午夜| 久久中文字幕一区| 欧美福利视频| 国产一区激情| 亚洲欧美在线另类| 性伦欧美刺激片在线观看| 欧美日韩一区在线播放| 亚洲精品免费电影| 亚洲精品久久久久久下一站| 久久人人97超碰国产公开结果 | 亚洲精品免费在线| 亚洲国产欧美国产综合一区 | 国产精品黄色在线观看| 亚洲六月丁香色婷婷综合久久| 亚洲日本成人女熟在线观看| 国产精品亚洲第一区在线暖暖韩国| 国产精品二区三区四区| 99re热精品| 中文成人激情娱乐网| 欧美理论片在线观看| 亚洲精品欧美| 一区二区动漫| 欧美三级网址| 亚洲视频精品| 欧美一区亚洲一区| 国产一区二区日韩精品| 欧美在线关看| 久久久综合网站| 一区二区三区亚洲| 最新热久久免费视频| 欧美成人一区二区三区| 91久久精品久久国产性色也91 | 麻豆精品精华液| 亚洲国产综合视频在线观看| 亚洲欧洲午夜| 欧美人与性禽动交情品| 夜夜嗨av一区二区三区网页| 亚洲欧美日韩精品久久| 国产精品一区二区在线观看网站| 亚洲欧美日产图| 亚洲欧美在线免费观看| 国产日韩欧美一二三区| 亚洲影院高清在线| 久久精品国产综合| 影音国产精品| 日韩视频在线观看免费| 国产精品jizz在线观看美国| 亚洲欧美第一页| 久热综合在线亚洲精品| 亚洲精品久久久蜜桃| 亚洲欧美电影在线观看| 国产日产亚洲精品系列| 最新中文字幕亚洲| 欧美色欧美亚洲高清在线视频| 亚洲午夜精品久久| 久久亚洲欧美国产精品乐播| 亚洲激情第一页| 亚洲女人天堂av| 国产原创一区二区| 亚洲六月丁香色婷婷综合久久| 欧美三级视频| 欧美一区二区三区久久精品茉莉花| 久久一综合视频| 亚洲精品一区二区三区蜜桃久| 亚洲欧美久久| 狠狠综合久久av一区二区老牛| 亚洲精选一区二区| 国产精品一二三四| 亚洲日韩第九十九页| 国产精品草草| 久久精品国产亚洲精品| 欧美日韩精品是欧美日韩精品| 午夜精品久久久久久久| 欧美成人一区二区三区在线观看 | 一色屋精品视频在线观看网站| 在线视频欧美日韩| 国产日韩欧美一区| 一区二区高清| 国内偷自视频区视频综合| 在线一区二区三区做爰视频网站| 国产婷婷精品| 亚洲午夜高清视频| 伊人久久大香线蕉综合热线| 亚洲午夜精品久久| 国内精品久久久久久久97牛牛| 在线一区观看| 伊人久久亚洲热| 欧美视频日韩| 亚洲精品在线一区二区| 久久精品在线视频| 亚洲午夜一区二区| 欧美精品首页| 亚洲电影av在线| 国产精品一二一区| 中文一区二区|