在Jbpm3版本号中,这个著名的开源项目并没有基于浏览器的图形化流程设计器,结果导致流程设计一直停留在CS阶段。

比方我之前做过的一个OA项目。项目中採用的就是Jbpm3。因为它不支持在浏览器中的图形化流程设计器。我们就须要跟客户进行充分沟通,然后在Eclipse中设计好流程,最后再将相应的图片与xml文件同一时候上传,然后再进行部署。想一想。这个过程是比較烦琐的。

在Jbpm4.1版本号以后。開始支持网页设置业务流程。它就是Signavio Web设计器。本文将介绍安装这个设计器以及遇到的问题。

Jbpm是一个开源框架,我们要进行Jbpm的开发须要做非常多准备。

比方安装数据库、建表、安装应用server、安装图形化流程设计器插件等等,对于一个新手来说,上来就要去准备这些,无形中就提升了开发的门槛。

然而,在Jbpm4.4版本号中,通过Ant脚本,提供了“一键获取”所须要的Jbpm4整套开发、执行和管理环境。

一、傻瓜式安装

假设你符合上面所说的,你是刚刚開始使用Jbpm进行开发,那么推荐你使用这样的方式。

条件

1、Apache Ant 1.7.0版本号或者以上版本号;

2、JDK 5.0 或者以上版本号;

3、检查你电脑上是否配置了Jboss_home环境变量。假设有的话,做好先删除,防止发生冲突。

安装步骤

1、打开命令控制台,进入文件夹${Jboss_home}/install。

2、执行ant脚本: ant demo.setup.jboss。

安装原理

原理非常easy,就是Jbpm开发者开发了一套ant脚本,大家能够简单看一下${Jboss_home}/install 文件夹下的build.xml文件。上述步骤中“ant demo.setup.jboss”实际上在后台运行了下面几步:

1、下载Jboss,并把它安装到${Jbpm_home}/jboss-5.1.0.GA文件夹下;

2、把Jbpm安装到Jboss;

3、安装Jbpm内置数据库HSQLDB,并在后台启动。

4、创建数据库表结构;

5、启动Jboss;

6、依据演示样例(来自example是文件夹)创建一个examples.bar业务流程归档。并把它公布到Jbpm数据库中;

7、从${jbpm_home}/install/src/demo/example.identities.sql初始化用户和组;

8、安装Eclipse到${jbpm_home}/eclipse;

9、启动Eclipse;

10、安装Jbpm Web控制台;

11、安装Signavio Web设计器。

只一个ant命令。它就在后台为你做了这么多工作,可是这样做也是有非常大缺点的:通过上面的步骤我们能够看出来。它须要下载Jboss和Eclipse,这个过程最少要一个小时的时间完毕,一杯咖啡的时间是远远不够的~~

二、选择性安装

假设你只须要安装Signavio Web设计器。那么你能够在控制台打开${Jboss_home}/install这个文件夹,然后执行例如以下命令:

ant install.signavio.into.jboss。

当然,你也能够通过这个命令指定安装路径:ant -Dsignavio.repo.path=c:/signavio-repo install.signavio.into.jboss

上面两种方式的安装实现。原理是一样的。仅仅只是第一种方式是在ant脚本中,配置了下载Jboss、安装Jboss等操作。实质上的安装Signavio Web设计器的过程。它们都是运行了一个操作:将${Jbpm_home}/install/src/signavio/jbpmeditor.war复制到你的容器的热部署文件夹中。所以,你也可以直接进行拷贝,相同可以实现设计器的安装。

訪问问题:

上述安装中,已经将jbpm中的jbpmeditor.war项目部署在jboss热部署文件夹中,所以訪问时仅仅需在浏览器中输入訪问地址:http://localhost:8080/jbpmeditor/p/explorer,就可以进行訪问:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1NzY1MDIzMDUx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

新建上图中的jPDL时,会报错:It is not possible to use the process editor with your web browser。

然后我在网上查到这篇文章:http://www.aperteworkflow.org/forum/-/message_boards/view_message/17020,文章中说的非常清楚,这是Jbpm4中的一个bug,须要改动jbpmeditor.war项目中的xml文件,将context-param中。名称为supportedBrowserEditor的改为例如以下内容:

<context-param>
<description>Define a reg exp for all user agents which are supported for the editor</description>
<param-name>supportedBrowserEditor</param-name>
<param-value>Firefox[\/\s]((3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|32|33|34|35|36|37|38|39|40)\.\d+)|AppleWebKit|Opera.(9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33)\.\d+</param-value>
</context-param>

然后你就成功创建了jPDL,打开以下界面就算成了!

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1NzY1MDIzMDUx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

只是,这里仅仅是初步的尝试。我们还须要对这个web设计器对汉语支持的兼容性问题、各浏览器的对该界面的兼容性问题进行进一步的考查。项目中选用Signavio Web设计器还是其它设计器,还须要进一步的技术调研。

安装Signavio Web设计器的更多相关文章

  1. SSH框架集成Activiti Modeler在线设计器页面出现问号及乱码的解决办法

    文·原创/朱季谦 工作流是一个针对企业用户.开发人员.系统管理员的轻量级工作流业务管理平台,其核心是使用Java开发的快速.稳定的BPMN2.0流程引擎.在我们日常开发当中,例如oa系统里的请假功能, ...

  2. YbSoftwareFactory 代码生成插件【十六】:Web 下灵活、强大的审批流程实现(含流程控制组件、流程设计器和表单设计器)

    程序=数据结构+算法,而企业级的软件=数据+流程,流程往往千差万别,客户自身有时都搞不清楚,随时变化的情况更是家常便饭,抛开功能等不谈,需求变化很大程度上就是流程的变化,流程的变化会给开发工作造成很大 ...

  3. 在网页中编辑报表的报表设计器Stimulsoft Reports Designer.Web报表控件

    Stimulsoft Reports Designer.Web报表控件是一款网页报表设计器.您想在网页中编辑您的报表吗?现在是可能的! Stimulsoft Reports Designer.Web ...

  4. 创建您的 ActiveReports Web端在线报表设计器

    概述 ActiveReports Web端在线报表设计器已经正式上线!看到它这么帅气.实用,你是不是也想自己动手创建一个? 现在我们就来教您,如何创建一个简单的 ActiveReports Web端在 ...

  5. activiti工作流的web流程设计器整合视频教程 SSM和独立部署

    本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流 ...

  6. activiti工作流的web流程设计器整合视频教程 SSM 和 独立部署

    本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流 ...

  7. F2工作流引擎之-纯JS Web在线可拖拽的流程设计器(八)

          Web纯JS流程设计器无需编程,完全是通过鼠标拖.拉.拽的方式来完成,支持串行.并行.分支.异或分支.M取N路分支.会签.聚合.多重聚合.退回.传阅.转交,都可以非常方便快捷地实现,管理员 ...

  8. activiti工作流的web流程设计器整合视频教程

    本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流 ...

  9. 基于Extjs的web表单设计器 第七节——取数公式设计之取数公式的使用

    基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extj ...

随机推荐

  1. 贰、js的基础(二)类型转换

    JS 数据类型转换 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把 ...

  2. JAVA jsp page指令的属性 errorPage 和isErrorPage

    >errorPage指定当前页面出现错误的实际响应页面是什么, 其中“/” 表示的是当前WEB应用的根目录 <% page errorPage="/error.jsp" ...

  3. ztree实现根节点单击事件,显示节点信息

    这段时间在维护公司的项目,去年做的项目里面有ztree树的例子,想起之前还没有开始写博客,一些知识点也无从找起,要新加一个右击节点事件,折腾了半天,其中也包含了一些知识点,稍稍做了一些demo. zT ...

  4. GenIcam标准(二)

    2     GenApi模块 – 配置相机 2.1. 简介 GenApi模块解决如何去配置相机的问题.主要的思路是,让相机生产厂商为他们的相机提供机器可以识别的产品说明.这些相机描述文件(camera ...

  5. UVA 12003 Array Transformer

    Array Transformer Time Limit: 5000ms Memory Limit: 131072KB This problem will be judged on UVA. Orig ...

  6. 通过force index了解的MySQL查询的性能优化

    查询是数据库技术中最常用的操作.查询操作的过程比较简单,首先从客户端发出查询的SQL语句,数据库服务端在接收到由客户端发来的SQL语句后, 执行这条SQL语句,然后将查询到的结果返回给客户端.虽然过程 ...

  7. TreeMap集合怎样依照Value进行排序

    ------- android培训.java培训.期待与您交流! ---------- 我们知道,TreeMap集合是依照Key进行排序的,怎样依照Value进行排序呢?如今有一个TreeMap集合 ...

  8. 设计模式之Mediator模式(笔记)

    中介者模式:用一个中介对象来封装一系列的对象交互. 中介者使各对象不须要显式的相互引用,从而使其耦合松散.并且能够独立的改变它们之间的交互. 使用场合:中介者模式一般应用于一组对象以定义良好可是复杂的 ...

  9. ASIHTTPRequest 框架的导入

    刚接触ios 对一切都不熟悉  记录一下ASIHTTPRequest 框架的导入 步骤 以便日后再用 1.首先下载ASIHTTPRequest:点击下载 2.在project中导入下面文件: 导入方式 ...

  10. js绑定事件方法:addEventListener与attachEvent的不同浏览器的兼容性写法

    js的事件绑定方法中,ie仅仅支持attachEvent,而FF和Chrome仅仅支持addEventListener,所以就必须为这两个方法做兼容处理,原理是先推断attachEvent仅仅否为真( ...