jbpm5.1介绍(11)

简介: Jbpm-gwt-console源码编译 从svn下载,svn的下载地址是 http://anonsvn.jboss.org/repos/soag/bpm-console/tags/bpm-console-2.

Jbpm-gwt-console源码编译

从svn下载,svn的下载地址是

http://anonsvn.jboss.org/repos/soag/bpm-console/tags/bpm-console-2.1

下载之后使用mvn进行编译

当中遇到本很多问题,可以通过以下的网站进行jar包的查找和处理

https://repository.sonatype.org/index.html#welcome             mvn仓库

http://www.java2s.com/                                                            jar包查找

http://grepcode.com/                                                               jar包查找

因为本地使用的是nexus,所以可能有一些jar包找不到,那么可以先下载jar包下来,根据提示加入到第三方jar仓库中就可以了。

经过一上午的折腾,基本上没什么问题了

导入到eclipse并且运行

程序结构

控制台三个不同部分:UI的控制台控制台服务器集成层

结构图

控制台用户界面一个Ajax Web应用程序使用HTTP进行通信服务器模块本身,发布了一个REST门面给控制台用户调用来执行实际的请求

流程引擎通过一个集成层分离集成API控制台项目一部分该层实际执行情况流程引擎所在服务器模块在运行时使用一个服务加载机制通过集成层访问流程引擎

在官方给的样例中使用的是GWT的RequestBuilder调用RPC的服务列表

GWT除了可以使用RPC来通信外,还可以使用普通的GET POST来发送请求。

    //创建请求的Builder  
    RequestBuilder builder=new RequestBuilder(RequestBuilder.POST,GWT.getHostPageBaseURL()+"a.txt");  
    //设置超时时间  
    builder.setTimeoutMillis(10000);  
    Request req=builder.sendRequest(null, new RequestCallback() {  
          
        @Override  
        public void onResponseReceived(Request request, Response response) {  
            //正常返回(code=200)  
            if(response.getStatusCode()==Response.SC_OK){  
                com.google.gwt.user.client.Window.alert(response.getText());  
            }  
              
        }  
          
        @Override  
        public void onError(Request request, Throwable exception) {  
            //如果发生超时异常  
            if(exception instanceof RequestTimeoutException){  
                  
            }  
              
        }  
    });  

发布的RPC接口列表

1,服务器信息
一般REST服务器信息

方式 路径 描述 结果
GET /gwt-console-server/rs/server/status 得到服务的运行状态 application/json
GET /gwt-console-server/rs/server/resources 得到服务的资源列表 text/html





2,流程管理
流程相关数据

方式 路径 描述 结果
POST /gwt-console-server/rs/process/definition/{id}/new_instance 定义新的流程 application/json
POST /gwt-console-server/rs/process/instance/{id}/state/{next} 得到指定流程实例状态 application/json
GET /gwt-console-server/rs/process/definition/{id}/image 得到相关图片 image/*
GET /gwt-console-server/rs/process/instance/{id}/activeNodeInfo 得到所有活动结点信息 application/json
GET /gwt-console-server/rs/process/definition/history/{id}/nodeInfo 得到所有历史节点信息 application/json
GET /gwt-console-server/rs/process/definitions 得到流程定义 application/json
POST /gwt-console-server/rs/process/definition/{id}/remove 删除流程定义 application/json
GET /gwt-console-server/rs/process/definition/{id}/instances 得到流程中所有实例 application/json
GET /gwt-console-server/rs/process/instance/{id}/dataset 得到统计信息 text/xml
POST /gwt-console-server/rs/process/instance/{id}/end/{result} 实例执行结果 application/json
POST /gwt-console-server/rs/process/instance/{id}/delete 删除指定实例 application/json
POST /gwt-console-server/rs/process/tokens/{id}/transition 得到流程下一个状态 application/json
POST /gwt-console-server/rs/process/tokens/{id}/transition/default 得到流程默认状态 application/json












 


3,任务列表
访问任务列表

方式 路径 描述 结果
GET /gwt-console-server/rs/tasks/{idRef} 任务列表 application/json
GET /gwt-console-server/rs/tasks/{idRef}/participation 参与的任务列表 application/json





4,任务管理
管理任务实例

方式 路径 描述 结果
POST /gwt-console-server/rs/task/{taskId}/assign/{ifRef} 指定分配的任务 application/json
POST /gwt-console-server/rs/task/{taskId}/release 发布的任务 application/json
POST /gwt-console-server/rs/task/{taskId}/close 关闭的任务 application/json
POST /gwt-console-server/rs/task/{taskId}/close/{outcome} 来自外部关闭的任务 application/json







5,用户管理
管理用户和组

方式 路径 描述 结果
POST /gwt-console-server/rs/identity/sid/invalidate 已经停止的用户 text/plain
GET /gwt-console-server/rs/identity/sid 得到用户的身份 text/plain
GET /gwt-console-server/rs/identity/secure/sid 得到安全的用户的身份 text/plain
GET /gwt-console-server/rs/identity/user/roles 得到用户的角色 application/json
GET /gwt-console-server/rs/identity/user/{actorId}/groups/ 得到指定角色的用户和组 application/json
GET /gwt-console-server/rs/identity/group/{groupName}/members 得到指定组的成员 application/json
GET /gwt-console-server/rs/identity/user/{actorId}/actors 得到相同角色的用户 application/json









6,流程引擎
流程的运行时状态

方式 路径 描述 结果
GET /gwt-console-server/rs/engine/deployments 已经部署的引擎 application/json
POST /gwt-console-server/rs/engine/deployment/{id}/delete 删除指定id的引擎 application/json
POST /gwt-console-server/rs/engine/deployment/{id}/suspend 暂停指定id的引擎 application/json
GET /gwt-console-server/rs/engine/jobs 得到正在工作的引擎 application/json
POST /gwt-console-server/rs/engine/job/{id}/execute 执行指定的引擎 application/json
POST /gwt-console-server/rs/engine/deployment/{id}/resume 恢复指定id的引擎 application/json








7,表格处理
基于web的处理

方式 路径 描述 结果
GET /gwt-console-server/rs/form/task/{id}/render 指定id的任务 text/html
GET /gwt-console-server/rs/form/process/{id}/render 指定id的流程 text/html
POST /gwt-console-server/rs/form/task/{id}/complete 完成指定id的任务 text/html
POST /gwt-console-server/rs/form/process/{id}/complete 完成指定id的流程 text/html







以上接口还有待测试。


目录
相关文章
|
Java 应用服务中间件 数据库连接
|
应用服务中间件 Android开发 Java
安装JBpm
原文 http://www.cnblogs.com/default/archive/2012/02/28/2370673.html   自动安装(ant start.demo)太慢,所以手动安装。
884 0
|
API
jBPM 5 的点滴
发布地址 http://sourceforge.net/projects/jbpm/files/jBPM%205/  http://www.jboss.org/jbpm/documentation   jBPM5引入了新的API、新的工具并支持BPMN 2.
1029 0
|
测试技术
jbpm5.1介绍(7)
Junit测试评估流程 评估流程的界面如下: 这个示例里边用到了Script Task,Service Task和User Task Log执行记录日志的功能,打印出一段信息 RegisterRequest调用外部预定义的程序或者其它引擎的程序 Two调用人工任务 看一下调用的测试程...
832 0
|
测试技术
jbpm5.1介绍(9)
Junit测试调用子流程 下面的示例中测试在程序中调用其它程序的子流程的示例,需要加载两个配置文件 和 需要指定属性 下面是调用的示例程序 public void testCallActivity() throws Exception { System.
910 0
jbpm5.1介绍(5)
看几个jbpm5中带的示例程序吧,包括了很多我们在日常生活中的场景 循环示例 本示例是一个在外部传入的变量,通过传入的变量来判断循环次数的演示程序,看一下流程定义的内容 如图: 初始化的时候设置变量i的值为0,然后进入流程结点,选择的是XOR,就是异或的意思,在循环中输出变量i的值并且加1, 在后面的选择节点上判断变量i的值,如果小于count则循环继续,如果大于i那么就进行完成结点,输出结点中的内容。
751 0