现在,任何软件产品的移动化都是常见的或者是必须的,CCBPM也是如此。由于JFlow与CCFlow移动端不开源的情况,那么想自己开发移动端,应该如何做呢?下面,将介绍一下大体的思路。
CCBPM为移动端提供了两种实现方案,但是对应的表单类型也是具有局限性的。
第一种,适用于自由表单的方案。(通过流程设计器画出来的表单)
此种方案,首先需要完成表单解析器功能的开发,即PC端的MyFlow页面(MyFlow.jsp or MyFlow.aspx)、UCEn页面,用于解析PC端设计器中设计的表单并呈现在移动端。这也是移动端开发最难的地方,并且熟悉CCBPM的代码或者表单处理逻辑。(目前CCBPM的移动端表单解析器是与PC端同步的,所见即所得;微信端与PC端表单有出入。)
当解析器完成之后,那么剩下的工作就比较简单了,模块设计,调用API获取流程数据、表单数据,生成待办、流程发起、在途、抄送等功能模块。在设计好的按钮中,同样调用API实现流程的发送、退回、审批、轨迹等功能。
第二种,是针对于SDK表单、自定义表单的方案。(自己编写的流程表单页面)
由于SDK表单本身的特性,所以,这一方案就很简单了。在移动端中编写实现自己PC端的表单页面,并调用接口就可以现实。此种方案,总之,就一句话,调用接口。
以上两种方案,差别很大。
第一种方案,就属于做好之后,只要不是自己通过编码实现的表单,就可以重复使用。但是表单风格是统一的,不能进行局部个性化。适用于流程数量较多、表单事件较多的系统。
第二种方案,就是,每次增加一个流程,都需要在移动端中添加一个表单页面。这种方案,对表单风格是开发性、自由性的,可根据自己的想法进行设计。适用于流程数量较少、表单功能复杂的系统。
无论选择哪一种方案,都不能实现具有多种表单类型的流程。比如说,第一个节点使用自由表单,第二个节点使用SDK表单。这种方式,是不支持的。
下面是JFlow的移动端案例。