• 
    

    
    

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

      基于OSWorkflow的信息設(shè)備管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      2017-05-03 09:14:27林鈺杰陳衍鵬
      微型電腦應(yīng)用 2017年3期
      關(guān)鍵詞:框架管理系統(tǒng)流程

      林鈺杰, 陳衍鵬

      (廣東電網(wǎng)有限責(zé)任公司 佛山供電局, 佛山 528000)

      基于OSWorkflow的信息設(shè)備管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      林鈺杰, 陳衍鵬

      (廣東電網(wǎng)有限責(zé)任公司 佛山供電局, 佛山 528000)

      隨著電網(wǎng)企業(yè)信息化的不斷發(fā)展,企業(yè)內(nèi)部的信息設(shè)備種類越來越多,數(shù)量越來越大,傳統(tǒng)的設(shè)備管理模式已顯得捉襟見肘。針對這個(gè)問題,設(shè)計(jì)并實(shí)現(xiàn)了基于OSWorkflow工作流引擎的信息設(shè)備管理系統(tǒng)。介紹了工作流相關(guān)技術(shù),對比分析了業(yè)界主流的4種工作流引擎并說明了適合OSWorkflow的基本原理,對信息設(shè)備管理系統(tǒng)進(jìn)行功能和性能需求分析,以S2SH搭建系統(tǒng)的總體框架,并詳細(xì)描述了OSWorkflow的集成和實(shí)現(xiàn)方法。實(shí)際應(yīng)用表明,基于OSWorkflow的信息設(shè)備管理系統(tǒng)為企業(yè)提供了高效的設(shè)備管理、設(shè)備采購、統(tǒng)計(jì)報(bào)表等功能,達(dá)到了預(yù)期開發(fā)目標(biāo)。

      OSWorkflow; 信息設(shè)備管理; 電網(wǎng)企業(yè); S2SH

      0 引言

      隨著科學(xué)技術(shù)的發(fā)展和信息技術(shù)的普及,電網(wǎng)企業(yè)現(xiàn)已具備了一定規(guī)模的信息系統(tǒng)以管理關(guān)乎國計(jì)民生的電力設(shè)備,確保電網(wǎng)安全穩(wěn)定地運(yùn)行。但對于企業(yè)內(nèi)的信息設(shè)備,如電腦、平板、PDA等,卻缺乏有效的信息化管理手段,仍然采用傳統(tǒng)的管理方式,大部分過程資料采用紙張?zhí)顚?、手工傳遞或使用Email、Office辦公軟件來完成,這些方式主要存在以下缺點(diǎn):

      1)無法對設(shè)備的去向和狀態(tài)進(jìn)行有效跟蹤和了解;

      2)無法避免人為原因造成的筆誤或延時(shí)處理而影響效率。

      與電力設(shè)備管理類似,有效的信息設(shè)備管理可以提高資產(chǎn)利用率,節(jié)約企業(yè)運(yùn)營成本。因此,為了克服上述困難,最直接的方式就是實(shí)現(xiàn)“流程化,信息化”。目前,以流程為中心的管理模式已經(jīng)滲入到各行各業(yè),企業(yè)以流程整合各種獨(dú)立的生產(chǎn)活動(dòng),輔以各項(xiàng)管理手段使其落實(shí)執(zhí)行。工作流技術(shù)的核心便是流程,引入工作流技術(shù)可以有效監(jiān)督和評價(jià)管理方法、效果和收益[1]。一方面,信息設(shè)備管理中涉及許多申請和審批流程,而工作流技術(shù)可按照約定規(guī)則使數(shù)據(jù)和任務(wù)在節(jié)點(diǎn)之間傳遞和被執(zhí)行。另一方面,工作流技術(shù)可對現(xiàn)實(shí)中的規(guī)程、業(yè)務(wù)的變化做出快速反應(yīng),幫助企業(yè)實(shí)現(xiàn)管理目標(biāo)。針對信息設(shè)備管理中存在許多工作流技術(shù)適用的場景,本文將OSWorkflow引入信息設(shè)備管理系統(tǒng)中,并完成相應(yīng)模塊的設(shè)計(jì)和實(shí)現(xiàn)。

      1 工作流技術(shù)

      1.1 技術(shù)對比與選型

      目前,業(yè)界主流的工作流引擎主要有4種:Enhydra公司旗下的Shark、JBoss組織發(fā)布的jBPM、Alfresco公司的開源項(xiàng)目Activiti和OpenSymphony開發(fā)的OSWorkflow。

      Shark是一個(gè)可擴(kuò)展的工作流引擎框架,兼容WfMC(Workflow Management Coalition)的XPDL和OMG(Object Management Group)的BPMN流程定義語言,通過可自定義的持久層API來實(shí)現(xiàn)流程的存儲和實(shí)例化,并且提供了特有的ORM工具DODS(Database Object Design Studio)來完成數(shù)據(jù)持久化[2]。

      jBPM(Java Business Process Management)基于輕量級開源框架J2EE開發(fā),是JBoss企業(yè)中間件平臺的一個(gè)組成部分。jBPM以Petri網(wǎng)的token機(jī)制為參考并引入PVM(Process Virtual Machine)的設(shè)計(jì)理念,采用UML活動(dòng)圖模型和無限狀態(tài)機(jī)模型來管理流程[3]。

      Activiti是一個(gè)輕量級、可嵌入的業(yè)務(wù)流程管理引擎,遵循Apache開源許可,基于BPMN2.0標(biāo)準(zhǔn)開發(fā),實(shí)現(xiàn)了該標(biāo)準(zhǔn)大部分的執(zhí)行語義和圖元定義。Activiti還定義了多個(gè)擴(kuò)展元素和屬性,支持與BPMN2.0規(guī)范結(jié)合使用,便于業(yè)務(wù)功能開發(fā)[4]。

      OSWorkflow基于Petri網(wǎng)和有限狀態(tài)機(jī)的原理進(jìn)行設(shè)計(jì),采用Java開發(fā),具有極強(qiáng)的靈活性,開發(fā)人員可根據(jù)用戶需求設(shè)計(jì)符合規(guī)則的業(yè)務(wù)流程,也可將其與現(xiàn)有系統(tǒng)集成[5]。

      Shark的體積結(jié)構(gòu)比較大,對系統(tǒng)復(fù)雜度和運(yùn)行速度產(chǎn)生了一些負(fù)面影響。雖然Shark對傳統(tǒng)中間件EJB、CORBA等提供了較好的支持,但對本文使用的S2SH框架的支持較弱。jBPM現(xiàn)已非常完善,通過它建立流程管理系統(tǒng)也比較容易,但其對復(fù)雜、特殊流程的支持相對較弱,實(shí)際使用時(shí)需開發(fā)人員進(jìn)行較多的修改和擴(kuò)展。另外,JBoss組織的產(chǎn)品較多,旗下的jBPM與JBoss服務(wù)器、JBoss Hibernate結(jié)合緊密,使得jBPM存在一定局限性。Activiti作為新興的工作流引擎,其相關(guān)文檔和社區(qū)還不夠健全,開發(fā)過程中遇到困難時(shí)難免會(huì)影響項(xiàng)目進(jìn)度和質(zhì)量。OSWorkflow輕便靈活、低耦合、易與現(xiàn)有系統(tǒng)集成和業(yè)務(wù)擴(kuò)展,適合作為本文的信息設(shè)備管理系統(tǒng)的工作流引擎[6]。

      1.2 OSWorkflow基本原理

      在OSWorkflow中,有限狀態(tài)機(jī)的State由Step和Status組成,State間的流轉(zhuǎn)依賴于Action的發(fā)生,在整個(gè)工作流生命周期內(nèi)有至少一個(gè)或多個(gè)活動(dòng)的State,涉及的基本概念包括:

      1)Step:一個(gè)工作流可以有多個(gè)Step,每個(gè)Step可通過Status進(jìn)一步細(xì)分,工作流可在Step間流轉(zhuǎn),也可以在Step內(nèi)流轉(zhuǎn);

      2)Status:用于描述Step在流程中的狀態(tài),包括進(jìn)行中(Underway)、等候中(Queued)、已完成(Finished)三種;

      3)Action:用于觸發(fā)Step的流轉(zhuǎn),通常由執(zhí)行此Action的條件和執(zhí)行此Action后的結(jié)果這兩部分組成。Action可以是自動(dòng)執(zhí)行的動(dòng)作,也可以是按業(yè)務(wù)需要制定的動(dòng)作;

      4)Condition:表示工作流中執(zhí)行動(dòng)作的邏輯判斷條件,支持“and”和“or”兩種基本邏輯,復(fù)雜邏輯可結(jié)合Split和Join實(shí)現(xiàn);

      5)Split和Join:Split描述的是工作流程中產(chǎn)生的分支,可以產(chǎn)生多個(gè)結(jié)果;Join用于根據(jù)當(dāng)前Step的狀態(tài)合并出一個(gè)結(jié)果;

      6)Result:用于描述執(zhí)行Action后的結(jié)果,該結(jié)果可能指向新的Step和Step對應(yīng)的Status,也可能進(jìn)入Split和Join的邏輯處理。

      2 需求分析

      在軟件工程領(lǐng)域,完善的需求分析對軟件開發(fā)的成功起到至關(guān)重要的作用。下面分別對信息設(shè)備管理系統(tǒng)的功能需求和性能需求進(jìn)行詳細(xì)分析。

      2.1 功能需求分析

      信息設(shè)備具有使用周期長、使用地點(diǎn)分散、管理難度大等特點(diǎn),信息設(shè)備管理系統(tǒng)應(yīng)能提供設(shè)備增加、減少、轉(zhuǎn)移、停用、閑置、報(bào)廢等管理功能,并能提供按業(yè)務(wù)要求定制的報(bào)表、統(tǒng)計(jì)和査詢功能。系統(tǒng)主要功能需求如下:

      1)設(shè)備管理功能:設(shè)備信息的增加、修改、查看和刪除;如果設(shè)備在庫可執(zhí)行借出操作,如果設(shè)備己被借出可執(zhí)行歸還操作;如果設(shè)備發(fā)生損壞且在保修期內(nèi)可執(zhí)行維修操作,如果設(shè)備損壞且不能使用可執(zhí)行報(bào)廢操作;如果設(shè)備不使用且需移出庫,則要執(zhí)行注銷操作;

      2)報(bào)表統(tǒng)計(jì)功能:主要包括現(xiàn)有設(shè)備統(tǒng)計(jì)、設(shè)備使用統(tǒng)計(jì)、設(shè)備維修統(tǒng)計(jì)、設(shè)備領(lǐng)用次數(shù)統(tǒng)計(jì)、設(shè)備報(bào)廢統(tǒng)計(jì)等,各種統(tǒng)計(jì)均能以圖形和報(bào)表形式展現(xiàn);

      3)設(shè)備采購管理:從設(shè)備采購申請、采購資料管理、采購訂單跟蹤到供應(yīng)商評價(jià)的全部過程,均有專門人員對其施加影響,確保整個(gè)采購過程符合企業(yè)制度,維護(hù)企業(yè)利益;

      4)用戶管理:包括用戶的新增、刪除,以及用戶各項(xiàng)屬性的維護(hù),比如個(gè)人基本信息、所屬部門、權(quán)限職責(zé)等。由于用戶管理功能關(guān)系到整個(gè)系統(tǒng)的安全,故只有管理員有權(quán)限操作;

      5)字典管理:主要是對資產(chǎn)類型、組織機(jī)構(gòu)等枚舉值進(jìn)行管理,例如,當(dāng)有新類型設(shè)備入庫,或有新的部門成立時(shí),管理員可以新增相應(yīng)的設(shè)備類型和組織機(jī)構(gòu);當(dāng)有組織機(jī)構(gòu)更名或撤銷時(shí),管理員需修改或刪除相應(yīng)的信息;

      6)日志管理:日志可以記錄系統(tǒng)產(chǎn)生的所有行為,并按照既定的規(guī)范進(jìn)行表達(dá)。日志所記錄的信息可以輔助維護(hù)人員排錯(cuò)并優(yōu)化系統(tǒng)性能,或者根據(jù)這些信息調(diào)整系統(tǒng)的行為。

      2.2 性能需求分析

      開發(fā)信息設(shè)備管理系統(tǒng)的目的是充分利用設(shè)備數(shù)據(jù)以提高信息設(shè)備管理的效率與質(zhì)量,為此,系統(tǒng)必須能夠滿足以下性能要求:

      1)可靠性,即系統(tǒng)在運(yùn)行中不發(fā)生或極少發(fā)生故障。在停電、宕機(jī)、網(wǎng)絡(luò)故障等問題出現(xiàn)時(shí),或者用戶操作失誤時(shí),系統(tǒng)應(yīng)具有較強(qiáng)的自恢復(fù)能力,并且在問題消除后,用戶可繼續(xù)之前的工作而不是重頭開始。因此,系統(tǒng)應(yīng)在運(yùn)行過程中及時(shí)記錄用戶的關(guān)鍵操作,以免在出現(xiàn)故障時(shí)丟失數(shù)據(jù);

      2)安全性,首先,系統(tǒng)要預(yù)防信息泄漏、假冒身份和惡意攻擊等安全問題,主要預(yù)防措施包括對系統(tǒng)進(jìn)行安全配置、設(shè)置防火墻等;其次,系統(tǒng)需加入權(quán)限管理功能,任何用戶都必須使用用戶名和密碼登錄系統(tǒng),以確定用戶的操作權(quán)限;再者,當(dāng)用戶進(jìn)行了不當(dāng)操作時(shí),系統(tǒng)能進(jìn)行相應(yīng)的錯(cuò)誤處理并給予提示或警示,不影響正常運(yùn)行;

      3)易用性,一方面,系統(tǒng)的部署、配置、維護(hù)簡單方便,具有良好的人機(jī)交互界面,能夠方便地進(jìn)行跨平臺移植;另一方面,用戶只需掌握基本的計(jì)算機(jī)操作,便可在系統(tǒng)中進(jìn)行日常管理工作。

      3 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      3.1 總體框架

      系統(tǒng)總體框架采用輕量級J2EE體系中的S2SH(Struts2、Spring、Hibernate)框架技術(shù)進(jìn)行搭建,如圖1所示。

      圖1 系統(tǒng)總體框架

      其中,Spring是搭建整個(gè)框架的基礎(chǔ),負(fù)責(zé)整合Struts2和Hibernate。表示層和控制層負(fù)責(zé)與用戶交互,包括接收用戶請求并將處理結(jié)果返回給用戶,這些可以采用Struts2框架處理。業(yè)務(wù)邏輯層負(fù)責(zé)實(shí)現(xiàn)具體的業(yè)務(wù)處理,可以通過Spring框架的IoC和AOP技術(shù)將各個(gè)功能模塊耦合相連。數(shù)據(jù)持久層基于Hibernate框架實(shí)現(xiàn)實(shí)體類與數(shù)據(jù)庫表間的映射,減輕了開發(fā)人員創(chuàng)建和維護(hù)數(shù)據(jù)的工作。

      3.2 Spring集成OSWorkflow

      OSWorkflow在Spring容器中可方便得到依賴解析和組件裝配,同時(shí)也得到了全生命周期的支持,整合過程需要配置以下4個(gè)組件:

      1)SpringHibernateWorkflowStore:WorkflowStore表示對工作流數(shù)據(jù)的訪問支持,除了Hibernate方式,OSWorkflow還提供了其他配置,例如,JDBCWorkflowStore(JDBC方式管理數(shù)據(jù))、JDBCTemplateWorkflowStore(JDBCTemplate方式管理數(shù)據(jù))、MemoryWorkflowStore(內(nèi)存方式管理數(shù)據(jù)),等等。Hibernate方式的配置代碼如下:

      WorkflowStore的屬性propertySetDelegate引用的是對Hibernate提供支持的代理類:

      2)SpringWorkflowFactory:此組件確保了Spring容器可以注入工作流配置對象WorkflowConfiguration,而無需從其他XML配置文件中讀??;

      3)SpringConfiguration:一個(gè)WorkflowConfiguration接口的實(shí)現(xiàn)類,包含了指向Factory和Store的引用,可在Spring容器中注入或連接;

      4)SpringTypeResolver:此組件可使OSWorkflow從Spring的配置ApplicationContext中解析獲得OSWorkflow的業(yè)務(wù)邏輯組件,如FunctionProvider、Validator、Condition等。

      3.3 工作流引擎類實(shí)現(xiàn)

      信息設(shè)備管理系統(tǒng)的核心組件是工作流引擎,相關(guān)的類實(shí)現(xiàn)主要是擴(kuò)展AbstractWorkflow接口中的方法,這里以本文的實(shí)現(xiàn)類ProcessManagementWorkflow的核心方法doAction為例來說明,該方法的功能是完成流程步驟,推動(dòng)流程運(yùn)轉(zhuǎn),主要實(shí)現(xiàn)代碼如下:

      List functions;

      WorkflowStore store=getPersistence();

      WorkflowStore entry=store.findEntry(id);

      if(entry.getState()!=WorkflowEntry.ACTIVATED){

      return;

      }

      //取得當(dāng)前所有步驟

      List currentSteps=store.findCurrentSteps(id);

      //遍歷每個(gè)步驟

      for(Iterator it=currentSteps.iterator();!validAction && it.hasNext();){

      Step step=(Step)it.next;

      StepDescriptor sd=wf.getStep(step.getStepId());

      for(Iterator it2=sd.getActins().iterator();!validAction && it2.hasNext();){

      ActionDescriptor ad=(ActionDescriptor)it2.next();

      //遍歷當(dāng)前動(dòng)作描述的所有動(dòng)作

      for(Iterator it3=ad.iterator; it3.hasNext();){

      Action action=(Action)it3.next();

      //添加當(dāng)前動(dòng)作的所有方法

      functions.add(action.getFunctions());

      }

      }

      }

      //遍歷方法列表,執(zhí)行業(yè)務(wù)流程

      for(Iterator it=functions.iterator(); it.hasNext();){

      Function f=Class.forName(((Function)it.Next()).getName());

      f.execute(),

      }

      首先,根據(jù)工作流實(shí)例id,調(diào)用WorkflowStore類對象的findEntry方法得到該實(shí)例的實(shí)體類對象entry,在獲取該實(shí)例對應(yīng)的所有步驟前,還需判斷其是否處于激活狀態(tài),若是便進(jìn)行后續(xù)的處理,否則返回。然后,遍歷取得的所有步驟Step,得到每個(gè)步驟的步驟描述符StepDescriptor;通過描述符可以得到每個(gè)步驟中包含的所有動(dòng)作描述符ActionDescriptor;通過第三層嵌套循環(huán)得到所有動(dòng)作Action,把每個(gè)動(dòng)作中包含的業(yè)務(wù)邏輯方法Function添加到列表中。最后,遍歷列表,執(zhí)行方法,完成流程實(shí)例。

      4 總結(jié)

      本文著眼于電網(wǎng)企業(yè)的信息設(shè)備管理現(xiàn)狀,在分析傳統(tǒng)管理模式的基礎(chǔ)上,以進(jìn)一步提高信息設(shè)備管理工作效率為目標(biāo),研究了基于工作流技術(shù)的信息設(shè)備管理模式,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于B/S分層架構(gòu),使用S2SH框架搭建并集成OSWorkflow工作流引擎的信息設(shè)備管理系統(tǒng)。自系統(tǒng)正式上線運(yùn)行后,整個(gè)信息設(shè)備管理流程愈加公開和透明,管理者對業(yè)務(wù)流程狀態(tài)、設(shè)備庫存狀況等了如指掌,在進(jìn)行決策管理時(shí)也可以使用更多的科學(xué)依據(jù),從而證明了本系統(tǒng)的實(shí)用性;由于系統(tǒng)總體框架使用輕量級、低耦合的技術(shù)搭建,對于需求的變化和擴(kuò)展均能比較容易地進(jìn)行相應(yīng)修改,減輕了開發(fā)人員的工作量,也較好體現(xiàn)了本系統(tǒng)的靈活性。

      [1] 朱永華, 張倩, 吳俊杰. 基于操作的輕量級工作流模型的研究與設(shè)計(jì)[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2012, 33(1): 153-157.

      [2] 肖春水, 陳中育, 郭婷. 基于構(gòu)件的工作流建模研究[J]. 計(jì)算機(jī)與現(xiàn)代化, 2013, 3: 106-109.

      [3] 楊波, 嚴(yán)坤, 姜?jiǎng)潘? 胡谷雨. 面向Web服務(wù)架構(gòu)的協(xié)同工作流模型[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2011, 32(3): 927-930.

      [4] 肖飛, 張為華, 王東輝. 面向科學(xué)過程的工作流技術(shù)研究現(xiàn)狀與趨勢[J]. 計(jì)算機(jī)應(yīng)用研究, 2011, 28(11): 4013-4019.

      [5] 羅國濤, 裴廣, 鄧祖樸, 劉勇軍. 面向物聯(lián)網(wǎng)的工作流服務(wù)架構(gòu)模型[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2014, 31(2): 9-13.

      [6] 戴小平, 周松. 一種基于Web服務(wù)的工作流協(xié)作系統(tǒng)模型[J]. 工業(yè)控制計(jì)算機(jī), 2013, 26(2): 79-81.

      Design and Implementation of the Information Equipment Management System Based on OSWorkflow

      Lin Yujie,Chen Yanpeng

      (Foshan Power Supply Bureau,Guangdong Power Grid Limited Corporation,Foshan 528000,China)

      With the continuous development of information technology in power grid enterprises, the numbers of type and amount of internal information equipment are growing increasingly, and result in a stretched situation of the traditional equipment management mode. Aiming at this problem, an information equipment management system based on OSWorkflow workflow engine is designed and implemented in this paper. Firstly, the related technology of workflow is introduced and four mainstream workflow engines are compared. After that, the basic principle of OSWorkflow which is suitable for this paper is explained. Secondly, the analysis of the function and performance requirements of the system is performed. Finally, the integration and implementation of OSWorkflow are described based on the overall framework built with S2SH. In practice, the system achieves the expected development goals by providing enterprises with efficient equipment management, procurement, statistical report and other functions.

      OSWorkflow; Information equipment management; Power grid enterprise; S2SH

      林鈺杰(1987-),男,通信作者,碩士研究生,研究方向:信息系統(tǒng)開發(fā)和管理、營配信息集成 陳衍鵬(1990-),男,本科生,研究方向:信息系統(tǒng)開發(fā)和管理、數(shù)據(jù)庫

      1007-757X(2017)03-0067-04

      TP311

      A

      2016.04.20)

      猜你喜歡
      框架管理系統(tǒng)流程
      基于James的院內(nèi)郵件管理系統(tǒng)的實(shí)現(xiàn)
      框架
      吃水果有套“清洗流程”
      廣義框架的不相交性
      基于LED聯(lián)動(dòng)顯示的違停管理系統(tǒng)
      違反流程 致命誤判
      海盾壓載水管理系統(tǒng)
      中國船檢(2017年3期)2017-05-18 11:33:08
      WTO框架下
      法大研究生(2017年1期)2017-04-10 08:55:06
      本刊審稿流程
      析OGSA-DAI工作流程
      库尔勒市| 宣汉县| 宁明县| 靖州| 手游| 迁安市| 阿拉尔市| 子长县| 南投县| 盐山县| 德阳市| 海晏县| 天镇县| 闽清县| 贺州市| 泽普县| 鄱阳县| 中西区| 旌德县| 无锡市| 新绛县| 敖汉旗| 波密县| 交口县| 荣昌县| 阆中市| 肇庆市| 赤城县| 温州市| 双流县| 古丈县| 乐陵市| 黎川县| 鄯善县| 石嘴山市| 阿合奇县| 民丰县| 子洲县| 海丰县| 公主岭市| 宣城市|