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

来源:互联网 发布:openstack源码下载 编辑:程序博客网 时间:2024/05/14 02:29

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

由于时间有限,不足之处,欢迎讨论反馈。


1 0
原创粉丝点击