《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于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农村| 9i看片成人免费高清| 亚洲第一级黄色片| 国产中文一区二区三区| 国产精品女同互慰在线看| 欧美日韩视频第一区| 欧美国产视频日韩| 欧美暴力喷水在线| 欧美顶级艳妇交换群宴| 开元免费观看欧美电视剧网站| 欧美在线影院| 久久精品30| 欧美主播一区二区三区| 午夜精品理论片| 亚洲欧美日韩精品综合在线观看| 一区二区三区精品视频| 99亚洲视频| 99国内精品久久| 99国产精品久久久| 99re这里只有精品6| 一片黄亚洲嫩模| 在线亚洲免费| 亚洲在线一区二区| 亚洲欧美一级二级三级| 午夜激情综合网| 午夜综合激情| 欧美一级淫片aaaaaaa视频| 亚洲欧美日韩一区二区三区在线观看| 国产精品99久久久久久白浆小说| 夜夜躁日日躁狠狠久久88av| 亚洲天堂网站在线观看视频| 亚洲小少妇裸体bbw| 亚洲摸下面视频| 久久激情五月激情| 老司机久久99久久精品播放免费 | 老**午夜毛片一区二区三区| 美日韩精品免费| 欧美精品在欧美一区二区少妇| 欧美肉体xxxx裸体137大胆| 国产精品久久久久久久久免费| 国产精品婷婷| 国产亚洲毛片在线| 有码中文亚洲精品| 亚洲日本中文字幕| 一本色道久久综合亚洲91| 亚洲伊人一本大道中文字幕| 羞羞答答国产精品www一本| 亚洲成人资源| 日韩一二三在线视频播| 亚洲资源av| 久久久久久夜精品精品免费| 欧美sm重口味系列视频在线观看| 欧美日韩高清在线| 国产精品视频区| 精品999日本| 日韩小视频在线观看专区| 亚洲欧美怡红院| 亚洲日本国产| 亚洲欧美日韩天堂| 久久综合给合| 欧美视频网址| 国模一区二区三区| 99精品国产在热久久下载| 欧美一区激情视频在线观看| 夜色激情一区二区| 欧美一区二区视频免费观看 | 狠狠色丁香婷婷综合久久片| 亚洲国产欧美一区二区三区同亚洲 | 在线天堂一区av电影| 久久国产直播| 亚洲午夜激情在线| 久久综合九色欧美综合狠狠| 欧美日韩和欧美的一区二区| 国产亚洲观看| av成人免费在线观看| 久久精品99国产精品酒店日本| 一区二区三区导航| 久久美女艺术照精彩视频福利播放| 欧美日韩国产成人| 一区二区在线免费观看| 亚洲一区二区精品在线| 亚洲精品中文字幕有码专区| 久久精品国产久精国产爱| 欧美日韩一区二区三区在线视频| 国产一区二区| 亚洲一级二级在线| 9色porny自拍视频一区二区| 久久伊人亚洲| 国产嫩草一区二区三区在线观看| 亚洲精品综合| 亚洲经典在线| 久久精品一区四区| 国产精品久久婷婷六月丁香| 亚洲日本视频| 亚洲精品国产精品乱码不99按摩| 欧美一区二区三区在线视频| 欧美视频手机在线| 亚洲精品网站在线播放gif| 91久久精品日日躁夜夜躁国产| 欧美永久精品| 国产精品99免视看9| 亚洲肉体裸体xxxx137| 亚洲国产片色| 久久久久五月天| 国产丝袜一区二区三区| 亚洲色在线视频| 亚洲视频电影在线| 欧美日韩精品免费在线观看视频| 亚洲高清激情| 亚洲国产日日夜夜| 久久人人爽人人爽| 黑人巨大精品欧美一区二区| 亚洲欧美日韩中文视频| 亚洲男人的天堂在线观看| 欧美日韩麻豆| 亚洲免费观看视频| 日韩亚洲欧美一区| 欧美精品一区三区在线观看| 亚洲国产精品精华液网站| 亚洲国产精品国自产拍av秋霞| 久久这里只有| 国内自拍亚洲| 亚洲高清av| 蜜臀av在线播放一区二区三区 | 日韩一二三在线视频播| av成人免费在线观看| 欧美精品1区2区3区| 亚洲国产专区校园欧美| 亚洲免费电影在线观看| 欧美久色视频| 99在线|亚洲一区二区| 亚洲一区二区精品在线| 国产精品久久久久久久久| 亚洲无亚洲人成网站77777| 亚洲欧美另类在线| 国产精品三区www17con| 亚洲欧美日韩国产一区二区| 欧美制服丝袜| 激情校园亚洲| 亚洲精品九九| 欧美日韩一区二区三区免费| 亚洲天堂免费观看| 午夜精品短视频| 国产午夜精品久久| 亚洲第一视频网站| 欧美国产日韩在线观看| 夜夜嗨av色综合久久久综合网 | 国产精品毛片a∨一区二区三区|国| 亚洲一区二区网站| 久久精品国产99国产精品| 激情久久久久久久久久久久久久久久| 久久精品国产99精品国产亚洲性色| 久久综合国产精品| 亚洲日本欧美在线| 午夜精品美女久久久久av福利| 国产亚洲精品一区二555| 亚洲国产婷婷综合在线精品| 欧美精品自拍| 亚洲伊人第一页| 久久久久久网站| 亚洲精品日韩久久| 午夜精品一区二区三区四区| 国产在线观看91精品一区| 日韩午夜av在线| 国产精品福利久久久| 久久电影一区| 欧美精品一区二区三区久久久竹菊| 亚洲午夜精品久久| 久久中文字幕一区| 一区二区三区波多野结衣在线观看| 久久av资源网| 亚洲国产欧美久久| 性伦欧美刺激片在线观看| 激情视频一区二区| 亚洲一区欧美二区| 激情偷拍久久| 亚洲欧美精品伊人久久| 狠狠色丁香婷婷综合久久片| 国产精品99久久久久久有的能看| 国产日韩高清一区二区三区在线| 亚洲三级影院| 国产九区一区在线| 亚洲裸体在线观看| 国产日韩一级二级三级| 一本色道久久88亚洲综合88| 国产精品综合久久久| 亚洲最新视频在线播放| 国产综合第一页| 亚洲一区美女视频在线观看免费| 一区二区三区自拍| 午夜欧美大片免费观看| 亚洲激情视频在线播放| 久久国产精品亚洲va麻豆| 日韩视频国产视频| 麻豆av一区二区三区久久| 亚洲免费一区二区| 欧美裸体一区二区三区| 久久精品女人的天堂av| 国产精品视频观看| a4yy欧美一区二区三区|