• 
    

    
    

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

      ?

      教研視野下主流開源工作流引擎對(duì)比分析

      2014-01-26 21:21:32馬亞鋒張玉扣
      成才之路 2014年1期
      關(guān)鍵詞:工作流開源教研

      馬亞鋒 張玉扣

      摘 要:(目的)了解當(dāng)前主流開源工作流引擎,對(duì)比各自特點(diǎn),為進(jìn)行工作流系統(tǒng)開發(fā)者提供一個(gè)客觀的評(píng)價(jià),提高學(xué)生綜合能力。(方法)針對(duì)三個(gè)最為常用的引擎進(jìn)行具體分析,分析各自的背景、架構(gòu)、實(shí)現(xiàn)方法及優(yōu)缺點(diǎn)。(結(jié)果)三大主流開源工作流引擎分別是shark、osworkflow和jbpm。shark靠的是Enhydra,osworkflow靠的是opensymphony,而jbpm靠的是jboss。(結(jié)論)osworkflow實(shí)現(xiàn)起來簡單靈活,但是功能匱乏,數(shù)據(jù)維護(hù)較為復(fù)雜;shark的jawe圖形化功能較強(qiáng),但是表現(xiàn)一般;jbpm基于狀態(tài)圖,提供靈活的表達(dá)機(jī)制,學(xué)生學(xué)習(xí)起來容易上手。

      關(guān)鍵詞:教研;開源;工作流;shark;osworkflow;jbpm

      工作流最早是在生產(chǎn)和辦公領(lǐng)域中針對(duì)日常生活工作中固定有序的活動(dòng)提出的一個(gè)概念,主要就是為了將一個(gè)工作分解成多個(gè)任務(wù)和角色,依據(jù)特定的規(guī)則來執(zhí)行,針對(duì)這些任務(wù)對(duì)其進(jìn)行監(jiān)控,從而能夠達(dá)到提高工作效率、有效合理地管理業(yè)務(wù)等目的。而所謂的工作流引擎,就是在工作流系統(tǒng)中為其提供各種不同信息的傳遞、角色分工等解決方案。由于工作流沒有統(tǒng)一的規(guī)范,因此工作流引擎比較多,而且較雜,大家普遍應(yīng)用得比較多的三種工作流引擎分別是shark、osworkflow和jbpm。下面,我們針對(duì)這三種引擎從它們的持久層、定義語言、穩(wěn)定性和可維護(hù)性等多個(gè)方面進(jìn)行對(duì)比,以期更多的讀者對(duì)這三種引擎有一個(gè)全面、客觀的認(rèn)識(shí),對(duì)他們的工作能有一些幫助。

      一、主流工作流引擎簡介

      (1)Shark。Shark是一個(gè)完全基于WFMC和OMG規(guī)范的工作流引擎,使用 XPDL作為工作流定義語言。流程和活動(dòng)的存儲(chǔ)使用Enhydra DODS(一個(gè)開源OR映射工具)。ToolAgents可以用JavaScript、JDBC、EJB訪問、純 Java 類、Email調(diào)用等等。Shark的建模工具是jawe。Jawe是一種基于形式化的過程定義的建模工具,是Enhydra的一個(gè)開源產(chǎn)品,符合WMFC規(guī)則,提供了圖形化的界面來進(jìn)行流程繪制、屬性添加等,能自動(dòng)將流程定義轉(zhuǎn)化為相應(yīng)的能夠被工作流引擎解釋的過程定義文件。第一就是過程定義的圖形化表示,第二就是將過程定義輸出到xpdl,最后就是可以將有效的xpdl文件進(jìn)行導(dǎo)入和圖形化表示。Shark的內(nèi)部調(diào)度機(jī)制比較簡單,基本上是基于WfprocessImpl類的run算法,采用的是遍歷循環(huán)的方式,效率較高、直觀易懂,但是很難支持比較復(fù)雜的運(yùn)行模型。

      (2)Osworkflow。Osworkflow是純java語言編寫,開放源代碼。它主要面向的用戶群是具有一定技術(shù)背景的軟件開發(fā)人員,用戶可以根據(jù)自己的實(shí)際需求,用XML配置出完全符合自身業(yè)務(wù)邏輯的流程。OSWorkflow適用于任何Java平臺(tái),在企業(yè)ERP開發(fā)中得到了廣泛的應(yīng)用。Osworkflow最大的特點(diǎn),就是其顯著的靈活性和完全面向軟件開發(fā)人員。

      (3)jbpm。Jbpm采用jpdl來定義工作流。jPDL(JBoss jBPM Process Definition Language)是基于jBPM框架的流程定義語言之一。Jpdl采用圖形化的流程定義,將每個(gè)任務(wù)定義為一個(gè)uml狀態(tài)圖,每個(gè)狀態(tài)圖均有起始狀態(tài)、結(jié)束狀態(tài)以及狀態(tài)的轉(zhuǎn)換。Jbpm還有一個(gè)特點(diǎn),就是它采用Hibernate來進(jìn)行數(shù)據(jù)庫的管理。Hibernate是一個(gè)開源的映射框架,既可以在java客戶端使用,也可以在web應(yīng)用中使用,支持目前大部分的數(shù)據(jù)庫。

      二、三種工作流引擎對(duì)比

      Shark的體系和功能最為復(fù)雜,遵循WfMC的XPDL標(biāo)準(zhǔn)。它有兩個(gè)特點(diǎn),一個(gè)就是 XPDL中的Activity基于UML活動(dòng)圖。活動(dòng)圖最大的優(yōu)勢(shì)就是容易進(jìn)行分叉控制,即可以控制并發(fā)線程同時(shí)執(zhí)行或順序執(zhí)行。另一個(gè)特點(diǎn)就是采用了泳道來控制工作流引擎中任務(wù)的產(chǎn)生,采用“模塊化”思路,容易擴(kuò)展。OSWorkflow也是一款非常靈活、定位低級(jí)別的工作流引擎框架。OSWorkflow在國內(nèi)項(xiàng)目用的較多,很多簡易審批流程項(xiàng)目都是基于此。OSWorkflow在可視化流程定義工具大行其道的今天,逆流而行,反對(duì)可視化定義工具的使用,它希望用戶靠XML去手動(dòng)寫流程,這點(diǎn)我很難理解。同時(shí),持久化配置方式不唯一,差別比較大。有內(nèi)存方式、JDBC方式、SpringHibernate聯(lián)合方式、JDBCTemplate方式、Hibernate方式。

      本人覺得,同學(xué)們?nèi)绻胍獙W(xué)習(xí)Spring的源碼的話,不妨先看看JBPM的Bean管理模塊,這樣能非常容易理解 Spring的核心代碼,但卻比直接看Spring源碼簡單了許多。JBPM完全使用Hibernate作為持久化工具,并不強(qiáng)制大家一定只能在JBOSS上使用jbpm,TOMCAT上也能跑。我想,這個(gè)工作流引擎既然是 JBOSS主推的,而且很多開源項(xiàng)目上也采用它來做底層組件,那么它的未來一定很光明。

      參考文獻(xiàn):

      [1]百度百科.osworkflow[DB/OL].http://baike.baidu.com/view/

      674080.htm.

      [2]百度百科.jbpm[DB/OL].http://baike.baidu.com/view/10875

      11.htm.

      [3]王海軍,樊留群,楊力鋒.等.基于Shark的工作流流程的實(shí)現(xiàn)

      方式研究[J].機(jī)械工程與自動(dòng)化,2005(4).

      猜你喜歡
      工作流開源教研
      研學(xué)農(nóng)谷 產(chǎn)教研學(xué)
      五毛錢能買多少頭牛
      工作流在電力生產(chǎn)管理信息系統(tǒng)中的設(shè)計(jì)和應(yīng)用
      個(gè)性化計(jì)算機(jī)輔助教學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      商情(2016年39期)2016-11-21 09:57:19
      An Analysis of Li’s Prose The Great Goal with Gee’s “the Seven Building Tasks”〔*〕
      工作流技術(shù)在醫(yī)療信息整合工程中的應(yīng)用分析
      基于工作流的水運(yùn)應(yīng)急信息管理平臺(tái)設(shè)計(jì) 
      大家說:開源、人工智能及創(chuàng)新
      開源中國開源世界高峰論壇圓桌會(huì)議縱論開源與互聯(lián)網(wǎng)+創(chuàng)新2.0
      開源計(jì)算機(jī)輔助翻譯工具研究
      彰武县| 洛隆县| 定结县| 怀远县| 酒泉市| 兴化市| 虞城县| 蒙阴县| 志丹县| 文成县| 舟曲县| 高台县| 宜州市| 唐海县| 禹城市| 太和县| 和硕县| 深州市| 汨罗市| 习水县| 桂东县| 阿拉善右旗| 荆州市| 肥乡县| 明星| 堆龙德庆县| 闻喜县| 藁城市| 天全县| 响水县| 安塞县| 象山县| 福贡县| 五寨县| 北碚区| 宝清县| 工布江达县| 江山市| 玉屏| 普兰店市| 客服|