您的位置:首页 > 产品设计 > 产品经理

Cordys BOP 4平台开发入门实战演练——流程建模开发(BPM)

2015-04-12 00:37 483 查看

1、流程建模开始

        在Workspace的项目中,本文项目名称为:Training_WSApp。在项目中根目录下建立BPM文件夹,然后鼠标右键,在弹出菜单中选择New ->Business Process Model组件,进行流程建模开发。

        


                                                                                       图1

        


                                                                                              图2

2、图形化建模

        在Business Process Model工作台上,图形化、拖拽绘制流程图。

        


                                                                                                            图3

        (1)为BPM流程配置表单(新建)

        


                                                                                                        图4

        注意:发布表单

        


                                                                                                                                图5

        在Business Process Model界面中,在其左下角选择Workspace

        


                                                                                                                                   图6

        拖拽表单界面BPMTestInterface到各个活动环节中,如下图所示。

        


                                                                                                             图7

        在拖拽表单过程中,系统将询问是否替换环节名称为表单名称,在此不做替换,直接点击“否”按钮即可。

        


                                                                  图8

        (2)配置流程参数传递:Message

        活动环节上有入口、出口参数,在活动环节上把出入参与与表单上的数据项相关联。

        


                                                                                                           图9

        (2.1)创建Message Map

        


                                                                                                                      图10

        (2.2)先创建Message,再创建其Element

        


                                                                                                                            图11

        (2.3)首先,设置启动节点传入Message

        


                                                                                                                                                  图12

        选择具体Message

        


                                                                                                                          图13

        (2.4)环节入口参(Pre Assignments)

        Message输入、输出从Source到Target,选中到Assignment。

        


                                                                                                                                  图14

        结果如下:

        


                                                                图15

        (2.5)环节出口,出参(Post Assignments),处理提交后,出口把资源传到流程消息Message

        领导审批界面中,ns2:***Model_OP,为Output,把界面的值传到流程的消息Message中。

        


                                                                                                                                   图16

        注:所有的流程环节通常都要设置传递参数Message,并其上面所承载表单关键数据项目对应。

3、调试、测试流程

        


                                                                                                                                           图17

        (1)单步跟踪调试界面

        


                                                                                                                                       图18

4、关于Message强调说明、使用

        在项目中,使用统一的Message定义,方法如下:

        (1)导出已经定义的Message定义XML Schema

        


                                                                                                                                         图19

        (2)粘出Show XML内容

        (3)在其他BPM里导入建立Message

        (4)导入XML Schema

        


                                                                                                                                                   图20

5、设置决策环节

        菱形的环节是判断节点,用于流程分支处理,如下图所示的分支,领导同意走采购员采购环节,否则走重新修改申请单环节,再审批。

        


                                                                                                                                                图21

        如上图21所示,选择输入条件:Condition

        


                                                                                                                                           图22

        通过“Replace Content With Fixed Value”设置,传递固定值/特定值。

        


6、Debug测试

        


                                                                                                             图23

        注:流程实例管理,Process Instance Manager中需要流程描述要清晰些,方便使用流程实例管理。

7、通过XForm表单,启动流程

        (1)通过XForm界面启动流程

        新建TestStartBPMXForm,增加“启动流程”按钮。

        


                                                                                                               图24

        


                                                                                                            图25

        如上图25所示,新建model(Manager Models中,选择“+”),model名称为StartBPMModel。

        


                                                                                      图26

        (注:上图中Business Object有误,应为StartBPMModel)

        (2)写按钮处理脚本代码

function start_Click(eventObject)

{

    var req = StartBPM.XMLDocument;

    

    cordys.setNodeText(req,".//*[local-name()='goodsName']",goodsName.getValue());

    

    cordys.setNodeText(req,".//*[local-name()='counts']",counts.getValue());

    cordys.setNodeText(req,".//*[local-name()='price']",price.getValue());

    

    StartBPMModel.setMethodRequest(req);

    StartBPMModel.reset();

    var resp=StartBPMModel.getData();

    var instanceid=cordys.getNodeText(resp,".//*[local-name()='instance_id']");

    InstanceID.setValue(instanceid);   

}

        (3)设置流程实例Model名称

        在WorkSpace中,选中BPM文件夹下BPMTest2,鼠标右键菜单,选择属性。获取Soap

        


                                                                                             图27

        使用Qualified Name内容,把“.”换成“/”。如下图28所示,并在界面底部切换Tab页面到XML页面。

        


                                              图28

<xml>

  <xml xmlns="" id="StartBPMModel">

    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">

      <SOAP:Body>

        <ExecuteProcess xmlns="http://schemas.cordys.com/bpm/execution/1.0" type="">

          <type>definition</type>

          <receiver>BPM/BPMTest2</receiver>

          <message>

            <Test xmlns="http://schemas.cordys.com/default">

              <goodsName xmlns="http://schemas.cordys.com/default">钢笔</goodsName>

              <counts xmlns="http://schemas.cordys.com/default">10</counts>

              <price xmlns="http://schemas.cordys.com/default">8</price>

            </Test>

          </message>

        </ExecuteProcess>

      </SOAP:Body>

    </SOAP:Envelope>

  </xml>

</xml>

        上面代码中<receiver>BPM/BPMTest2</receiver>为流程Soap请求名称。在Process Instance Manager监控管理中可见此流程实例。

        


                                                                                                                                     图28

8、测试流程待办

        


                                                                                                                                    图29

由于时间有限,不足之处,欢迎讨论反馈。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐