posts - 26,  comments - 7,  trackbacks - 0
            2007年11月11日
               摘要:   閱讀全文
          posted @ 2007-12-12 16:16 jbpm 閱讀(1840) | 評(píng)論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2007-12-12 16:13 jbpm 閱讀(1474) | 評(píng)論 (0)編輯 收藏

          作者:楊洪波
          jbpm解析流程定義有三種方式:
          1)par包
          static ProcessDefinition auctionProcess =
                ProcessArchive.parse("org/jbpm/tdd/auction.par");
          注意,必須在classes的org/jbpm/tdd/目錄下有一個(gè)auction.par文件

          2)xml文件方式
          static ProcessDefinition auctionProcess =
                JpdlXmlReader.parseFromResource("org/jbpm/tdd/auction.xml");
          注意,必須在classes的org/jbpm/tdd/目錄下有一個(gè)auction.xml文件

          3)文本方式
          static ProcessDefinition auctionProcess = JpdlXmlReader.parse(
              "<process-definition>" +
              "  <start-state name='start'>" +
              "    <transition to='auction'/>" +
              "  </start-state>" +
              "  <state name='auction'>" +
              "    <transition to='end'/>" +
              "  </state>" +
              "  <end-state name='end'/>" +
              "</process-definition>");
          這種方式的本質(zhì)和xml文件解析方式是一樣的.

          posted @ 2007-11-22 18:02 jbpm 閱讀(757) | 評(píng)論 (0)編輯 收藏

          作者:楊洪波

          作者:楊洪波

          shark和jbpm配置文件處理方式比較

          1.都使用了單例模式
          我想這個(gè)是最基本的,一般的程序員寫(xiě)解析程序都會(huì)這樣使用;要說(shuō)明的是,AgileFlow
          除了使用單例模式,還實(shí)現(xiàn)了配置文件的動(dòng)態(tài)裝載,如果用戶修改了配置文件,它能夠在
          運(yùn)行中動(dòng)態(tài)的獲取這些變化.
          使用jbpm時(shí),第一句話就要使用該模式:JbpmServiceFactory.getInstance()....

          2.都實(shí)現(xiàn)了缺省配置和定制配置
          Shark中,缺省配置放在一個(gè)深層次的目錄中,定制配置放在config目錄,兩個(gè)配置
          文件的內(nèi)容差不多;
          jbpm中,缺省配置放在代碼中實(shí)現(xiàn),如下:
          propertyClassNames = new HashMap();
          propertyClassNames.put( "default", "org.jbpm.impl.DefaultServiceFactory" );
          abbreviatedClassNames.put( "jbpm.service.factory", propertyClassNames );
          定制配置放在config目錄中,為jbpm.properties
          比較而言,jbpm的實(shí)現(xiàn)方式要好,理由如下:
          1)缺省配置容易找到
          2)定制配置很簡(jiǎn)單,默認(rèn)是沒(méi)有配置的,比shark的要清爽很多

          3.都實(shí)現(xiàn)了用一個(gè)單例實(shí)現(xiàn)多個(gè)單例
          我在Shark學(xué)習(xí)系列的文章中討論過(guò)這個(gè)功能,jbpm是在JbpmConfiguration.java中實(shí)現(xiàn)的:
          private void instantiateConfiguredObjects() {
              // instantiate configured objects
              this.fileMgr = (FileMgr) instantiate( "jbpm.file.mgr", FileMgr.class );
              this.idGenerator = (IdGenerator) instantiate( "jbpm.id.generator", IdGenerator.class );
              this.serviceFactory = (ServiceFactory) instantiate( "jbpm.service.factory", ServiceFactory.class );
          }

          1.都使用了單例模式
          我想這個(gè)是最基本的,一般的程序員寫(xiě)解析程序都會(huì)這樣使用;要說(shuō)明的是,AgileFlow
          除了使用單例模式,還實(shí)現(xiàn)了配置文件的動(dòng)態(tài)裝載,如果用戶修改了配置文件,它能夠在
          運(yùn)行中動(dòng)態(tài)的獲取這些變化.
          使用jbpm時(shí),第一句話就要使用該模式:JbpmServiceFactory.getInstance()....

          2.都實(shí)現(xiàn)了缺省配置和定制配置
          Shark中,缺省配置放在一個(gè)深層次的目錄中,定制配置放在config目錄,兩個(gè)配置
          文件的內(nèi)容差不多;
          jbpm中,缺省配置放在代碼中實(shí)現(xiàn),如下:
          propertyClassNames = new HashMap();
          propertyClassNames.put( "default", "org.jbpm.impl.DefaultServiceFactory" );
          abbreviatedClassNames.put( "jbpm.service.factory", propertyClassNames );
          定制配置放在config目錄中,為jbpm.properties
          比較而言,jbpm的實(shí)現(xiàn)方式要好,理由如下:
          1)缺省配置容易找到
          2)定制配置很簡(jiǎn)單,默認(rèn)是沒(méi)有配置的,比shark的要清爽很多

          3.都實(shí)現(xiàn)了用一個(gè)單例實(shí)現(xiàn)多個(gè)單例
          我在Shark學(xué)習(xí)系列的文章中討論過(guò)這個(gè)功能,jbpm是在JbpmConfiguration.java中實(shí)現(xiàn)的:
          private void instantiateConfiguredObjects() {
              // instantiate configured objects
              this.fileMgr = (FileMgr) instantiate( "jbpm.file.mgr", FileMgr.class );
              this.idGenerator = (IdGenerator) instantiate( "jbpm.id.generator", IdGenerator.class );
              this.serviceFactory = (ServiceFactory) instantiate( "jbpm.service.factory", ServiceFactory.class );
          }

          posted @ 2007-11-22 17:59 jbpm 閱讀(483) | 評(píng)論 (0)編輯 收藏
               摘要: 目前我看過(guò)采用JBPM的工作流有web-console (JBPM 3.2.1自帶)、RUNA WFE、SMART,就這三個(gè)我做一個(gè)比較:

          RUNA WFE

          RUNA WFE是上面提到的三個(gè)中,唯一可以直接部署應(yīng)用的,當(dāng)然也有它的缺點(diǎn),下面我會(huì)提到。這個(gè)框架采用的是Struts作為表示層,流程管理和組織架構(gòu)管理都做的不錯(cuò),良好的國(guó)際化,文檔很全。如果只打算研究可以看下它的permission部分,它已經(jīng)實(shí)現(xiàn)了對(duì)流程查看、啟動(dòng)、結(jié)束等的權(quán)限控制,JBPM自身在這部分基本還是TODO狀態(tài)。

            閱讀全文
          posted @ 2007-11-11 16:24 jbpm 閱讀(2022) | 評(píng)論 (0)編輯 收藏
               摘要: 研究工作流及其相關(guān)技術(shù)的人一定知道這個(gè)組織——工作流管理聯(lián)盟(簡(jiǎn)稱(chēng)WfMC,Workflow Management Coalition),其成立于1993年。作為工作流技術(shù)標(biāo)準(zhǔn)化的工業(yè)組織,WfMC提出的工作流系統(tǒng)參考模型(Reference Model)無(wú)疑為各家工作流軟件廠商的系統(tǒng)設(shè)計(jì)規(guī)劃提供了最權(quán)威的參考,乃至標(biāo)準(zhǔn)。下面就是這個(gè)參考模型:

            閱讀全文
          posted @ 2007-11-11 16:00 jbpm 閱讀(990) | 評(píng)論 (0)編輯 收藏
          主站蜘蛛池模板: 玉溪市| 灌阳县| 伊通| 紫阳县| 罗江县| 含山县| 衡东县| 南平市| 巴里| 从化市| 应用必备| 宁晋县| 察哈| 上高县| 桂阳县| 永仁县| 荔波县| 衡南县| 揭东县| 吉水县| 宝应县| 青龙| 大埔县| 凤台县| 额济纳旗| 弥渡县| 靖西县| 临漳县| 梁山县| 股票| 吉安市| 巍山| 驻马店市| 大荔县| 扶余县| 清新县| 边坝县| 南投市| 博爱县| 郯城县| 苍梧县|