第1章: 问题1:对流程的操作,我们是否都封装在接口里?
Ask: 周经理,流程发送、退回、移交、终止按钮,我想我们自己定义,添加在我们页面某个位置,为了实现javascript封装启动流程、终止流程、移交任务及流程事件让应用模块在客户端可以调用并捕获到流程事件,我需要知道咱们发送、退回、移交及流程事件的实际处理接口,能给我传个详细接口文档吗?
RE:
退回、移交、终止还有您没有提到的加签….按钮,我们都已经封装在API里,其实我们自己的接口也是调用自己开发API, 这些辅助工作处理的窗口大概有15个左右,这些功能是否启用是根据按钮权限确定的,分别如下。
您可以通过在线手册打开:
http://ccbpm.mydoc.io/?v=5404&t=16255
我们提供了一个详细的API文档,这个文档在我们的svn服务器里可以下载下来的,请参考:
操作手册截图:
关于退回的业务处理:
1, 首先要根据一个API获得当前节点可以退回的节点列表。
用户点击退回的时候,就调用CCBPM的退回API,然后把退回的信息反馈给操作员。
我们不建议你们在封装我们的退回窗口了,如果业务场景需要这样做,那就调用两个API可以解决,这个风格的窗口可以自己去定义。
其他的窗口也是如此
1.1: 退回
1.2: 抄送:
1.3: 工作移交:
1.4: 加签:
1.5: 移交:
第2章: 问题2是否可一个把这些流程引擎的操作接口都封装一个aip?
Ask: 基本框架为javascript +服务端html模块+你们流程接口,javascript用于应用模块流程处理,包括启动流程、移交、退回处理函数。这些函数,我会通过ajax发请求给html模块,html模块再通过流程接口做实际流程处理,处理成功与否通过true false 返回给客户端,客户端在使用javascript时,需要告知成功后的回调函数。这样有这优点,流程提交、移交、退回执行前和后应用模块在客户端都能得到通知,他可以处理自己逻辑。
RE: 理论上来说,是可以的,您可以把他们封装在webservices里(我们的andriod版本的手机模块就是这样的),当然也可以把它封装在js里面。
但是并非你想的返回true & false, 比如:我创建一个workid, 有可能创建失败,系统就要抛出异常。发送,也有可能抛出异常。在驰骋工作流引擎中,如果发送失败,就会抛出异常,而非返回true, false. 所以要仔细的处理每个接口的返回结果。