`
man1900
  • 浏览: 432874 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JOffice 中的JBPM4在线流程设计器--初览(Applet版)

    博客分类:
  • JBPM
阅读更多

 

 

       鉴于基于mxgraph的版本不能在中国使用,本人打算用Flex开发,不过Flex的图形处理功能目前还是不太强,主要表现在没有一个较好的图形处理框架,完成一个曲线绘制及编辑功能也需要大费周折,于是本人决定临时给客户开发一个基于Applet版的在线流程设计器。

         用java开发,相对得心应手一些,,花了整整一个星期的时间,初步完成了流程的界面编辑设计,并且生成了XML文件。可以比较方便编辑在线的流程,目前尚未解决的是如何进行分支决定。在线完成画图相对比较容易,惟一困难的是如何让它生成的xml文件支持自动跳转分支的功能,因此需要让设计者画分支图的可以输入一些跳转的条件,生成流程图的时候,就可以让Jbpm流程自动来进行。

 

        以下为程序的初步界面,其会随JOffice 1.3一起发布。

 

 

 

 

 

 

 

 

整合至EXT的界面如下所示:

 

 

 

流程设计中的分支条件设置,使用的是表达式方式,如下所示:

 

  <decision name="evaluate document" g="96,102,48,48">
    <transition to="submit document" g="120,60:">
      <condition expr="#{content==&quot;good&quot;}" />
    </transition>
    <transition to="try again">
      <condition expr="#{content==&quot;bad&quot;}" />
    </transition>
    <transition to="give up" g="120,189:" />
  </decision>

 

我们在设计器中也允许用户设置以上的表达式,如下图所示:

 

 

以上流程图最终生成的jpbm流程定义以下所示:

 

<?xml version="1.0" encoding="UTF-8"?>

<process name="test">
	<start g="63,34,58,58" name="开始">
		<transition g="-36,-16" name="to" to="输入金额"/>
	</start>
	<task g="217,42,103,44" name="输入金额">
		<transition g="-36,-16" name="t2" to="分支"/>
	</task>
	<task g="72,222,118,45" name="任务4">
		<transition g="-36,-16" name="t5" to="结束1"/>
	</task>
	<decision g="243,137,58,58" name="分支">
		<transition g="-36,-16" name="t4" to="任务5">
			<condition expr="#{account &lt;= 30}"/>
		</transition>
		<transition g="-36,-16" name="t3" to="任务4">
			<condition expr="#{account &gt; 30}"/>
		</transition>
	</decision>
	<task g="364,229,137,42" name="任务5">
		<transition g="-36,-16" name="t6" to="结束1"/>
	</task>
	<end g="239,336,58,58" name="结束1"/>
</process>

 

在eclipse中显示出来的图如下所示:

 

 

 

以下为稍为复杂一点的流程:

 

 

 

生成的源代码对应如下:

 

<?xml version="1.0" encoding="GBK"?>

<process name="test22">
	<task name="任务1" g="48,127,77,41">
		<transition name="t2" to="分支" g="-36,-16" />
	</task>
	<start name="开始" g="54,12,58,58">
		<transition name="t1" to="任务1" g="-36,-16" />
	</start>
	<decision name="分支" g="60,231,58,58">
		<transition name="t4" to="任务3" g="-36,-16">
			<condition expr="#{account&gt;20}" />
		</transition>
		<transition name="t3" to="任务2" g="-36,-16">
			<condition expr="#{account&lt;=20}" />
		</transition>
	</decision>
	<task name="任务2" g="171,156,50,50">
		<transition name="t5" to="同步任务" g="-36,-16" />
	</task>
	<task name="任务3" g="194,313,50,50">
		<transition name="t10" to="结束1" g="-36,-16" />
	</task>
	<fork name="同步任务" g="238,61,58,58">
		<transition name="t7" to="任务5" g="-36,-16" />
		<transition name="t6" to="任务4" g="-36,-16" />
	</fork>
	<task name="任务4" g="375,65,50,50">
		<transition name="t8" to="汇集任务" g="-36,-16" />
	</task>
	<task name="任务5" g="290,212,50,50">
		<transition name="t9" to="汇集任务" g="-36,-16" />
	</task>
	<join name="汇集任务" g="446,248,58,58">
		<transition name="t11" to="结束1" g="-36,-16" />
	</join>
	<end name="结束1" g="354,404,58,58" />
</process>
 

 

 

  • 大小: 60.5 KB
  • 大小: 83.4 KB
  • 大小: 59.5 KB
  • 大小: 48.7 KB
  • 大小: 54.3 KB
  • 大小: 27.8 KB
  • 大小: 52 KB
8
0
分享到:
评论
6 楼 man1900 2018-01-03  

想部署及学习了解,可参考本人新的博客获得下载源代码。
http://redxun.iteye.com/blog/2406509
5 楼 atgoingguoat 2017-09-25  
哎。假的。
4 楼 wufabeishang 2012-10-18  
我想知道J.OFFICE 2.0里面的BPM flex版本设计器是贵公司自己研发的,还是其他开源项目.
3 楼 a501723847 2012-03-22  
牛!可以分享一下代码吗?a501732847@163.com
2 楼 353366350 2012-02-23  
也给我一份吧 谢谢了  学习学习  353366350@qq.com
1 楼 zhang1210 2011-11-15  
能不能给个源码啊 谢谢 251084294@qq.com

相关推荐

    JOffice2中的JBPM4的任务回退实现

    在JOffice2中,JBPM4是一个强大的工作流引擎,用于管理和执行业务流程。本文将深入探讨如何在JOffice2中实现JBPM4任务的回退功能,这在处理复杂流程时尤其重要,允许用户纠正错误或根据需要调整流程方向。 任务回退...

    JOffice V1.2 beta

    这个JOffice V1.2 beta版,也就是官方说开源的版本之一。 说实话,这个公司很讨厌,打着开源的幌子来宣传自己的产品,里面的 东西根本没有开源,还很恶心的包留了一部分代码,htcore.jar。 对于这样的开源,我表示...

    joffice技术框架介绍

    - **发布/编辑/在线设计流程**:管理流程的发布状态、编辑内容或在线设计。 - **查看定制流程**:查看已定制的业务流程。 - **自定义流程表单设计**:根据需求自定义表单界面。 - **人员设置** - **流程处理...

    JOffice1.3使用手册.

    关于 JOffice1.3使用手册,方便快捷,大家来下载

    joffice文档

    // 将所有重要的初始化放置在 InitInstance 中 } // 唯一的一个 CChatApp 对象 CChatApp theApp; // CChatApp 初始化 BOOL CChatApp::InitInstance() { // 如果一个运行在 Windows XP 上的应用程序清单指定...

    joffice文档转pdf再转swf

    office文档转pdf后,再转swf,最终显示需要的一些工具及jar包,包括一个office转pdf转swf的java文件。因目前可上传的文件大小限制,OpenOffice安装文件未上传,工具目前最新版本为3.4.1,请另行下载

    SVN 源码 地址

    - **JBPM**:流程管理引擎,其SVN地址为`http://jbpmside.googlecode.com/svn/trunk`。 - **JOffice**:一个用于读写Microsoft Office文件格式的Java库,SVN地址为`http://joffice.googlecode.com/svn/trunk`。 - **...

    java资料下载java资料下载java资料下载java资料下载

    在`log4j.xml`配置文件中调整日志级别和输出位置,以便查看程序运行时的详细信息。 在解决可能出现的问题时,需要检查JDK是否满足1.6及以上版本,数据库编码是否已设置为UTF-8。此外,配置文件的正确性,如`jdbc....

    IReport3.6报表使用说明

    11. **上传至JOffice系统**: 完成设计后,将.jasper文件上传至报表管理系统,设定参数以便在系统中运行。 12. **参数设置和数据初始值**: 在报表参数设置中,指定参数的默认值或允许用户输入。这样,报表在运行时...

    权限实现实例(Ext+java)

    在JOffice中,权限管理采用了基于角色的管理策略,这使得系统能够高效地实现对用户访问权限的控制。这种策略与Spring Security 2框架相结合,允许开发者通过配置文件对整个系统的权限进行集中管理。Spring Security...

    java打jar包方法

    本教程的目标是将位于`D:\myfile`目录下的所有文件及其子目录打包到名为`license.jar`的JAR文件中。 #### 步骤详解 ##### 第一步:切换到指定目录 首先,打开命令提示符(CMD)。可以通过在Windows搜索框中键入...

    JoPro:一个应用程序中的生产力和Office套件。-开源

    JoPro是一个生产力和办公套件,将文字处理器,电子表格设计器,演示设计器和svg查看器集成到一个应用程序中! 基于Netbeans平台。 图像和代码由Anthony Goubard设计。 最初称为Joffice。

    SSH开发的办公自动化系统 OA

    SSH开发的办公自动化系统OA是一种基于Struts、Spring和Hibernate技术框架构建的企业级应用,它旨在提高工作效率,简化日常办公流程。SSH(Struts、Spring、Hibernate)是Java Web开发中常用的三大开源框架,它们各自...

    java extjs 仿163邮箱源码

    在压缩包中提到的“joffice”可能是该项目的一个组件或子目录,可能包含与Java Office集成相关的代码。这可能涉及到读取、写入或处理Office文档(如Word、Excel)的功能,使用户能够直接在邮箱中预览和编辑附件。 ...

    为Extjs加加速(javascript加速)

    在现代Web开发中,ExtJS是一个广泛使用的JavaScript框架,它能够创建丰富的Web应用程序界面。然而,ExtJS的庞大体积及其依赖的JavaScript文件加载成为了提高Web应用程序性能的瓶颈之一。本文提供了几种方法来加速...

    JOffVis:基于 Swing(Java)的工具,用于可视化 BIFF(二进制交换文件格式)文件

    JOffVis 一个基于 Java Swing 的工具,用于可视化 ...先决条件:1) Java SDK 72) Maven 3要编译应用程序,请运行以下命令mvn 干净编译要启动应用程序,请运行以下命令mvn exec:java -Dexec.mainClass="joffice.gui.App

Global site tag (gtag.js) - Google Analytics