Shark工作流JSP客户端的表单显示与存储

在Shark提供的客户端中就有一种基本的工作流相关数据的显示与存储方式,本文对这种方式进行了扩展,使得在Web客户端中能更方便地显示和保存数据。

可以这样理解:Shark客户端实现了单一数据的存储和显示,而实际应用中通常要存储和显示若干组数据,每一组数据是一个表单。

Shark客户端中是这样实现的:

  • 所有数据在“流程相关数据”(或“包相关数据”)中定义,给出ID、名称、数据类型和初始值
  • 在“活动”的扩展属性中定义两种属性,一种属性的名字叫“VariableToProcess_VIEW”,其值是需要查看的“流程相关数据”的ID,这种属性可以定义多个;另一种属性的名字叫“VariableToProcess_UPDATE”,其值是需要修改的“流程相关数据”的ID,这种属性也可以定义多个;Shark客户端根据这两种扩展属性提供“流程相关数据”的查看和修改界面

我的扩展方案是在“流程相关数据”中以XML格式保存web需要显示的信息,而XML信息的显示通过Velocity的Anakia实现。

如果不用XML保存,那么表单信息的存储可能用以下方式:

  • 由多个“流程相关数据”分别保存——由于数据项可能很多,容易造成混乱,而且一项项读写既不方便效率又低。
  • 保存在Shark之外,例如独立的RDBMS中——需要考虑事务处理,这会增加较大的工作量。如果修改数据的操作不包含在Shark事务管理中,有可能出现信息不同步的现象。

用XML保存可以避免上述问题。具体的实现方式如下:

  • 所有数据在“流程相关数据”(或“包相关数据”)(以下称为PCD)中定义,包括XML和其它基本类型的数据。
  • 如果PCD的内容是XML,其ID以“XML_”开头,数据类型为基础类型String。
  • 显示和修改XML内容的模板应该是两个独立的模板,都可以通过PCD的扩展属性找到。为PCD定义两个扩展属性,一个名字叫“templet_submit”,值是用于提交修改的模板文件名;另一个名字叫“templet_view”,值是用于查看的模板文件名
  • 在“活动”的扩展属性中定义一种名字叫“VariableToProcess_VIEW”的属性,其值是需要查看的PCD的ID,这点与Shark自身的做法相同;如果要查看的ID是以“XML_”开头的,则在后续的程序处理中找出其对应的显示模板进行显示
  • 在“活动”的扩展属性中定义一种名字叫“VariableToProcess_UPDATE”的属性,其值是需要修改的PCD的ID,这点与Shark自身的做法相同;如果要修改的ID是以“XML_”开头的,则找出其对应的修改模板进行显示
  • XML信息的显示通过Velocity的Anakia实现
  • 如果需要将XML数据写到Shark之外的某处,例如某个CRM、HR系统,可以直接在完成活动之前做,或者通过ToolAgent实现

(本文完)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值