1. 程式人生 > 其它 >jbpm5.1介紹(11)

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

以上介面還有待測試。