posts - 26,  comments - 7,  trackbacks - 0
           
               摘要: 業(yè)務(wù)流程管理(BPM)是一個(gè)當(dāng)前軟件行業(yè)最熱門的市場分類。BPM是模塊化,自動化,管理和優(yōu)化業(yè)務(wù)流程來獲取利潤的學(xué)科。

            閱讀全文
          posted @ 2007-09-11 17:37 jbpm 閱讀(537) | 評論 (0)編輯 收藏

          作者: nogocn 

          在某一公司中,部門員工要休假的話需要部門主管的批準(zhǔn)。如果休假天數(shù)大于10天的話,在部門主管的同意后,還必須上級主管批準(zhǔn)。如果是部門主管要休假只要上級主管批準(zhǔn)即可。在休假被批準(zhǔn)之前,申請人可以撤銷休假申請。
          每個(gè)員工還有多少天休假必須管理起來,在員工提交休假申請時(shí)要檢查申請?zhí)鞌?shù)是否超過可用天數(shù)。申請批準(zhǔn)后,要在可用天數(shù)里減去申請?zhí)鞌?shù)。每次休假申請結(jié)束之后,不管通過未通過或是否取消,都必須記錄下來。主管在批復(fù)申請之后,系統(tǒng)要將批復(fù)結(jié)果Email給申請人。對于大于10天的申請,如果部門主管已批準(zhǔn)同意而上級主管還未批準(zhǔn),這時(shí)申請人撤銷申請后,系統(tǒng)應(yīng)發(fā)Email通知部門主管申請已撤銷。 
            processdefinition.xml
          如下:

          <?xml version="1.0" encoding="UTF-8"?>
          <!-- edited with XMLSPY v2004 rel. 3 U (
          http://www.xmlspy.com) by Keller (zju) -->
          <!DOCTYPE process-definition PUBLIC
              "-//jBpm/jBpm Mapping DTD 2.0//EN"
              "
          http://jbpm.org/dtd/processdefinition-2.0.dtd">
          <process-definition  name="RequestLeave">
           <swimlane name="requester">
            <description>
          申請者</description>
           </swimlane>
           <swimlane name="chief">
            <description>
          部門主管
          </description>
            <delegation class="kellerdu.jbpm.delegation.ChiefSwimlane"/>
           </swimlane>
           <swimlane name="boss">
            <description>
          上級主管
          </description>
            <delegation class="kellerdu.jbpm.delegation.BossSwimlane"/>
           </swimlane>
           <start-state name="request" swimlane="requester">
            <transition to="Begin Request"/>
           </start-state>
           <fork name="Begin Request">
            <transition to="Requester Cancel"/>
            <transition to="IsChief"/>
           </fork>
           <decision name="IsChief">
            <delegation class="kellerdu.jbpm.delegation.ChiefDecision"/>
            <transition name="Boss Approve"  to="Boss Approve"/>
            <transition name="Chief Approve"  to="Chief Approve"/>
           </decision>
           <state name="Requester Cancel">
            <assignment swimlane="requester"/>
            <transition name="cancel" to="Decided">
             <action>
              <!--
          將請假的狀態(tài)改變?yōu)?/span>取消
          ”-->
              <delegation class="kellerdu.jbpm.action.RequestCancel"/>
             </action>
            </transition>
           </state>
           <state name="Chief Approve">
            <assignment swimlane="chief"/>
            <transition name="approve" to="NeedBossApprove">
             <action>
              <!--
          將請假的狀態(tài)改變?yōu)?/span>主管批準(zhǔn)
          ”-->
              <delegation class="kellerdu.jbpm.action.ChiefApprove"/>
             </action>
            </transition>
            <transition name="disapprove" to="Decided">
             <action>
              <!--
          將請假的狀態(tài)改變?yōu)?/span>主管否決
          ”-->
              <delegation class="kellerdu.jbpm.action.ChiefDisapprove"/>
             </action>
            </transition>
           </state>
           <state name="Boss Approve">
            <assignment swimlane="boss"/>
            <transition name="approve" to="Decided">
             <action>
              <!--
          將請假的狀態(tài)改變?yōu)?/span>老板批準(zhǔn)
          ”-->
              <delegation class="kellerdu.jbpm.action.BossApprove"/>
             </action>
            </transition>
            <transition name="disapprove" to="Decided">
             <action>
              <!--
          將請假的狀態(tài)改變?yōu)?/span>老板否決
          ”-->
              <delegation class="kellerdu.jbpm.action.BossDisapprove"/>
             </action>
            </transition>
           </state>
           <decision name="NeedBossApprove">
            <!--
          請假天數(shù)大于10天的要老板批準(zhǔn)
            -->
            <delegation class="kellerdu.jbpm.delegation.NeedBossApproveDecision"/>
            <transition name="need" to="Boss Approve"/>
            <transition name="notNeed" to="Decided"/>
           </decision>
           <join name="Decided">
            <description>
          有一個(gè)先到達(dá)即進(jìn)行父
          Token</description>
            <delegation class="kellerdu.jbpm.delegation.DecidedJoin"/>
            <transition to="Do Something"/>
           </join>
           <decision name="Do Something">
            <description>
             
          根據(jù)請求的狀態(tài)決定。

             
          1主管或者老板批準(zhǔn)‘approve’:修改員工休假的總天數(shù),設(shè)定發(fā)給用戶E-Mail的信息。
             
          2主管或者老板否決”-“disapprove”:設(shè)定發(fā)給用戶EMail的信息。
             
          3撤銷”-"cancel"-設(shè)定發(fā)給用戶EMail的信息。如果主管批準(zhǔn),要發(fā)給主管消息說明已經(jīng)撤銷。
              </description>
            <delegation class="kellerdu.jbpm.delegation.DoSomethingDecision"/>
            <transition name="disapprove" to="Finished">
             <action>
              <delegation class="kellerdu.jbpm.action.Disapprove"/>
             </action>
            </transition>
            <transition name="approve" to="Finished">
             <action>
              <delegation class="kellerdu.jbpm.action.Approve"/>
             </action>
            </transition>
            <transition name="cancel" to="Finished">
             <action>
              <delegation class="kellerdu.jbpm.action.Cancel"/>
             </action>
            </transition>
           </decision>
           <end-state name="Finished"/>
           <action event-type="process-end">
            <!--
          發(fā)送EMail消息給申請者,記錄請假日志 -->
            <delegation class="kellerdu.jbpm.action.ProcessEndAction"/>
           </action>
          </process-definition>

           


          posted @ 2007-09-11 13:47 jbpm 閱讀(2426) | 評論 (0)編輯 收藏
               摘要: JBoss jBPM為設(shè)計(jì)及開發(fā)工作流和業(yè)務(wù)流程管理系統(tǒng)提供了一個(gè)先進(jìn)的平臺。由API、特定領(lǐng)域的語言和圖形建模工具組成的框架讓開發(fā)人員和業(yè)務(wù)分析人員能夠使用通用平臺進(jìn)行溝通及操作。  閱讀全文
          posted @ 2007-09-11 13:35 jbpm 閱讀(465) | 評論 (0)編輯 收藏

          轉(zhuǎn)自: 百度

          jBPM,全稱是Java Business Process Management,是一種基于J2EE的輕量級工作流管理系統(tǒng)。jBPM是公開源代碼項(xiàng)目,它使用要遵循 Apache LicensejBPM20041018,發(fā)布了2.0版本,并在同一天加入了JBoss,成為了JBoss企業(yè)中間件平臺的一個(gè)組成部分,它的名稱也改成JBoss jBPM。隨著jBPM加入JBoss組織,jBPM也將進(jìn)入一個(gè)全新的發(fā)展時(shí)代,它的前景是十分光明的。

          jBPM
          最大的特色就是它的商務(wù)邏輯定義沒有采用目前的一些規(guī)范,如WfMC´s XPDL, BPML, ebXML, BPEL4WS等,而是采用了它自己定義的Process defiJBoss jBPM nition language (jPdl)jPdl認(rèn)為一個(gè)商務(wù)流程可以被看作是一個(gè)UML狀態(tài)圖。jPdl就是詳細(xì)定義了這個(gè)狀態(tài)圖的每個(gè)部分,如起始、結(jié)束狀態(tài),狀態(tài)之間的轉(zhuǎn)換等。


          jBPM
          的另一個(gè)特色是它使用Hibernate來管理它的數(shù)據(jù)庫。Hibernate是目前Java領(lǐng)域最好的一種數(shù)據(jù)持久層解決方案。通過HibernatejBPM將數(shù)據(jù)的管理職能分離出去,自己專注于商務(wù)邏輯的處理。

          posted @ 2007-09-11 13:32 jbpm 閱讀(392) | 評論 (0)編輯 收藏
          作者: fndcz

          1.     JPDL的流程定義元素

          1)        第一層:GraphElement

          這個(gè)容易理解,因?yàn)樵诋嬃鞒潭x時(shí),每個(gè)拖拉的對象都是一個(gè)graph的元素。GraphElement有四個(gè)屬性:

          (1)processDefine 表示當(dāng)前元素屬于哪個(gè)流程定義

          (2)events 表示可以接收哪些event

          (3)name 名字

          (4)exceptionHandlers 異常處理類集合(List)

          2)        第二層:nodeprocessDefinitionTransitionTask

          它們都繼承自GraphElement

          (1)processDefinition表示流程定義(implements NodeCollection),它有下面的屬性:nameversionnodesstartStatenodes表示流程中所有的nodestartState用于啟動流程時(shí)找到首節(jié)點(diǎn)。

          (2)Transition表示轉(zhuǎn)移,它有三個(gè)屬性:from(Node)to(Node)supportedEventTypes表示支持的event類型

          (3)node表示節(jié)點(diǎn),它有四個(gè)屬性:leaving transitionsarriving transitionsactionsuperState

          (4)Task 定義任務(wù)

          3)        第三層:各種不同的node

          它們都繼承自node DecisionEndStateForkJoinMergeMilestone InterleaveEndInterleaveStartProcessStateState

           

          posted @ 2007-09-11 13:29 jbpm 閱讀(582) | 評論 (0)編輯 收藏
               摘要: 1概述
          一個(gè)流程定義是對一個(gè)業(yè)務(wù)流程的正式說明,以及它是基于有向圖的。該圖是結(jié)點(diǎn)(node)與流向(transition)的組合。圖中每一個(gè)結(jié)點(diǎn)都是一個(gè)特殊的類型,結(jié)果的類型決定了該結(jié)點(diǎn)的運(yùn)行時(shí)的行為。一個(gè)流程定義有且僅有一個(gè)開始狀態(tài)。
          一個(gè)令牌(token)是執(zhí)行的軌跡。令牌是一個(gè)運(yùn)行時(shí)的概念,其維護(hù)著速個(gè)圖中指向結(jié)點(diǎn)的指針。
            閱讀全文
          posted @ 2007-09-11 13:27 jbpm 閱讀(731) | 評論 (0)編輯 收藏
          僅列出標(biāo)題
          共3頁: 上一頁 1 2 3 
          主站蜘蛛池模板: 民勤县| 乌什县| 黑龙江省| 宝应县| 搜索| 井研县| 横山县| 太湖县| 类乌齐县| 湘西| 临漳县| 三明市| 泉州市| 灵璧县| 南平市| 柳河县| 三门峡市| 芦山县| 连城县| 额济纳旗| 昌平区| 兴义市| 霍山县| 吴忠市| 张家界市| 巴林左旗| 泾源县| 塔河县| 定安县| 河间市| 策勒县| 年辖:市辖区| 石泉县| 沙河市| 怀集县| 凤山县| 屏山县| 宁强县| 同德县| 额敏县| 噶尔县|