jbpm5.1介绍(11)

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

以上接口还有待测试。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏怀英的自我修炼

Java漫谈3

上次我们说道Java中的Hello World(以下简称HW)是什么样子的,还写了一段HW的输出程序。不知道你是否会有疑问,难道在Java的环境中只要输入这一句...

380110
来自专栏AI科技评论

为 Java 开发者量身定制的五款机器学习库

编者按:机器学习是目前最炙手可热的技术之一,各大公司都在积极招聘相关的编程人才,来填补机器学习和深度学习代码编写的空缺。诚然,根据相关的招聘统计数据,Pytho...

335110
来自专栏程序员互动联盟

为啥有些人编程一学就会?

很多人初学者对现在很多的技术大牛觉得羡慕不已,会的编程语言太多了,对于编程语言说起来如数家珍。会这么多的语言,是不是天才或者有什么特异功能,入门时候一门语言都要...

35880
来自专栏怀英的自我修炼

Java漫谈2

本周我们的Java漫谈从一个段子说起。话说有一个老程序退休了,在家闲着没事便开始学习写毛笔字,焚香,研墨,铺纸。站在薄如蝉翼白似雪的宣纸面前,提笔闭目。只见那人...

34780
来自专栏怀英的自我修炼

Java漫谈1

对于接触编程的人来说,Java更多地代表了一门编程语言。 Java是一门通用的计算机编程语言,它是并行的,基于类的,面向对象的,可以一次编写到处运行的一门语言。...

393140
来自专栏大闲人柴毛毛

我的Java学习之路

我认为,作为一名合格的程序员,精通一门语言只是最最基本的要求,除此之外,具备扎实的基础知识、了解主流的技术框架、具备快速学习的能力也都非常重要。语言是帮助你实...

42770
来自专栏怀英的自我修炼

Java漫谈5

吴军老师有在他的《硅谷来信》中分享过他对于人工智能的看法,吴老师就认为,人工智能不会发展成黑客帝国的那种恐怖境地,原因是当初科学家在创立计算机之前先把人类要解决...

37590
来自专栏程序员互动联盟

【java基础】static关键字--静态块

在说明static关键字的第三个用法时,我们有必要重新梳理一下一个对象的初始化过程。以下面的代码为例: package com.dotgua.study; cl...

29380
来自专栏大闲人柴毛毛

图的邻接表示法Java版

边节点 ? 一个边节点有一条边 和 一个终止节点组成。 /** * 边节点(由一条边和一个终止节点构成) */ class ENode{ i...

38770
来自专栏怀英的自我修炼

Java漫谈4

之前的一篇文章,我们用段誉比武的方式类比了构件类的方式,其中把段誉和慕容复共有的出招这个动作写成了一个功能方法。所谓出招,换个角度来看,就是将人身体中的能量,比...

374100

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励