请问如何把流程和业务表单绑定?

wf_7758520 2007-03-16
你们都是怎么实现的?
已经实现的能不能说说应该怎么做?
tomkoo 2007-03-16
wf_7758520 写道
你们都是怎么实现的?
已经实现的能不能说说应该怎么做?


把业务表单和流程流程邦定一般说来有两种方法:

1、按照jbpm Demo上面一样,把业务表单在流程中用流程变量来存储。

2、业务表单用自己的数据库模型存储,在流程中直存储业务表单的主键,通过主键去找到业务表单。
jaul 2007-03-20
这样会不会出现跨数据库事务的问题?如果有?你们的具体解决方案是?
hxhjava 2007-06-18
to:tomkoo


能不能再详细的讲讲?
hxhjava 2007-06-18
tomkoo 写道
wf_7758520 写道
你们都是怎么实现的?
已经实现的能不能说说应该怎么做?


把业务表单和流程流程邦定一般说来有两种方法:

1、按照jbpm Demo上面一样,把业务表单在流程中用流程变量来存储。

2、业务表单用自己的数据库模型存储,在流程中直存储业务表单的主键,通过主键去找到业务表单。


能再详细的讲讲吗?通过主键去找到业务表单后,怎么把业务表单在页面里显示出来?你的业务表单的数据库模型该怎么设计呢???
wuxufeng8080 2007-06-19
一般页面表单肯定是定制的,不会像jBPM自带的实例那样,用一个通用的界面显示,这样肯定不符合用户的要求。

而且,流程和业务基本上是分离的,你的业务数据设计跟流程一点关系都没有。所以你原来怎么设计的现在还是怎么设计。
只是两个数据通过一个主键来关联就可以了。
youngliuus 2007-06-19
hxhjava提到的事务问题的确是一个需要考虑的地方。
如果你的jbpm和业务数据使用不同的数据库,就要使用分布式事务。
但我认为一般流程里都引用到业务数据,所以大多数情况我们还是放在一个数据库里。这个时候就会涉及到要不要把jbpm和业务数据的处理放在一个事务中处理的问题。
jbpm也考虑到了这个问题。所以jbpmContext允许传入hibernate Session或jdbc的connection。如果你需要把业务数据的操作和jbpm放在一个事务中处理,你就要利用这两个方法。
如果你这样做,要把jbpm设置成“不使用事务”,因为事务的提交或回滚不应该在jbpm中做。设置的方法jbpm的文档上有,但你要看3.2的文档,3.1.2的文档的配置是错误的。
说了一堆,总之是挺麻烦的。
youngliuus 2007-06-20
业务数据和表单绑定也是我没想好的问题。
tomkoo说的保存业务数据主键的方法肯定是可以的,我们现在的项目也是这样做的。

但我想比较好的方法就是把业务数据模型用hibernate映射,然后把hibernate对象作为流程变量在jbpm中操作。

至于怎样把这个业务数据对象render到网页上,我想不同的web framework肯定有不一样的方法吧。
delphidoc 2007-06-22
<controller>
<variable name="1.jsp" access="read" mapped-name="表单"/>
</controller>
hxhjava 2007-06-26
delphidoc 写道
<controller>
<variable name="1.jsp" access="read" mapped-name="表单"/>
</controller>


name="1.jsp" 这个怎么用?

mapped-name="表单" 这个怎么用?