当前位置: 首页 > 工具软件 > Shark > 使用案例 >

Shark 问题解答

冯皓
2023-12-01

为了让shark适用于中国国情的工作流应用,目前已完成或改造技术点如下:
技术点名称
1.交接班当班值长精确移交任务
2. 取下一活动ID
3.查阅流程历史活动记录
4.过期活动提示,有新任务弹出提示用户
5.根据当前活动取下一活动的参与者映射人员
6. 强大参与者映射,可映射外部(企业自己数据库)组织机构,人员, 角色,资格等
7. 任务关联业务数据
8. 任务只发给指定人
9. 各步骤流程图
10. 更简单化的流程配置文件
11 快速读取任务列表(比shark默认的方法快)
12. 根据不同活动跳转不同的URL
13. 根据当前活动决定页面可以编辑什么元素。
14. 根据页面编辑了什么元素,决定下一步活动的自动扭转。
15.当前活动有人处理,其他此活动参与者只能浏览
16.避免数据库死锁,出现阻塞。
17. 流程图汉化
18. 给shark提速
19. 用简单方法实现会签功能
20. 带不同业务数据的首页任务(工作项)列表

shark DEMO 下载: http://www.01g.net/download/shark.rar

(1) 我的shark server为什么在启动后会一直显示这句:NameServer is (re)started!
答:因为你内存中有一个实例. 在任务管理器中关掉 namesrv 或者重启一次计算机就可以了。

(2)我想修改admin的默认密码enhydra为别的值,在哪里可以改
答:默认第一次启动时随便输入什么密码,以后都是这个密码。以后可以在Shark管理器里更改。

(3)Shark的参与者映射是用好Shark的关键之一,你是怎么做到的?
答:目前有三种模式,一是使用它的表,二是使用自己的组织机构人员表(改源码),三使用自己的组织机构人员表(改配置)

(4)如何在Shark中建立一个外部事务?
答:SharkTransaction st = Shark.getInstance().createTransaction();

(5)Shark的工作流数据集与属性各有何作用?
答:工作流数据集用于流程活动之间交换数据用,是可变的,而属性只存在于每个活动,下个活动是不能访问得到的。

(6)怎么实现流程的回退?
答:如果回到上一步,可这个活动的参与者映射的人全部拒收这个任务,如果回到指定的活动,要在XPDL里定义,并根本条件流转。

(7)在shark中,任务可以移交给一群人吗?
答:不可以.一次只能移交一人。

(8)Shark一定要用DODS来实现吗?
答:还可以用Hibernate.

(9)Shark可以实现完全自由的流程吗?
答:不可以,因为一般工作流系统就是约束业务按流程走,如果太自由无规则的,就不需要工作流了。

(10)在Shark中如何显示流程图信息?
答:Shark提供了JAWE类可以用,但必须要将XPDL文件放到reposite/external目录中,JAWE类可以读取XPDL文件根据传来的包ID,流程ID,和活动ID来绘制流程图。

(11)Shark支持会签流程吗?怎样实现?
答:支持,这只与流程设计有关,在设计XPDL时多想想需求多动脑子来解决。

(12)Shark的性能问题,如何提速?
答:如果没必要用Corba,就不要打开Corba服务,可省内存,如果不想查看日志,就关掉DatabaseManger 和 SharkExcuction日志写入文件,另外内存等参数可在shark目录shark.conf中配置,还可以关掉审计流程,这些都可以提速不少。

(13)在业务中如何调用Shark,或Shark如何执行业务方法?
答:目前,有两种方式:一是在业务方法中调用shark函数推动流程,二是在shark中定义ToolAgent映射业务方法,到这个活动时自动调用业务方法。这两种方法各有利弊,应根据实际情况来做选择。

(14)如何让业务事务与shark事务保持一致?
答:可先执业务方法,再执行shark, 如果业务出错,回滚业务,而shark尚未执行。如果业务通过,shark推动流程出错,回滚shark和业务事务。将业务与shark放在一个try { }catch 中。

(15)Shark支持EJB吗?
答:支持,需要下载并安装 enhydra-enterprise-6.5-1.exe.

(16)怎样让流程图显示中文?
答:shark提供的JAWE类库可以生成流程图,但默认是UTF-8编码,必须要转成GBK才可以显示中文。

(17)任务可以移交给角色吗?
答:到1.1.2为止, shark没有提供这个业务方法,需要自己实现。
 

 类似资料: