將Java函數發佈爲ODE服務並創建BPEL工作流

目錄

環境:

一、發佈ODE服務

二、創建BPEL工作流


環境:

1、Axis 2插件

2、BPEL插件

3、Tomcat

一、發佈ODE服務

1、在需要發佈爲ODE服務的Java函數的類上 右鍵->New->Other->Axis2 Service Archiver->Next

2、選擇.class文件所在目錄,並點擊Next

3、勾選Skip WSDL,點擊Next

4、添加 dom4j.jar和jaxen-1.1.6.jar兩個包

5、勾選 Generate the service xml automatically,點擊 Next

6、如下所示,輸入 Service Name,定位需要發佈爲服務的 Class name,並勾選 Search declared methods only,選擇需要發佈爲ODE服務的方法

7、輸入Output file locationOutput File NameOutput file location一般爲.../apache-tomcat-xxx/webapps/ode/WEB-INF/services

8、打開ODE服務器,並保存發佈的ODE服務爲WSDL文件。

二、創建BPEL工作流

1、創建BPEL工程

啓動Eclipse,點擊File->New->Other,然後選擇BPEL 2.0 ->BEPL Project,在彈出的對話框中輸入項目名Stream_bpel。

2、創建BPEL流程

右鍵項目Stream_bpel,點擊New->Other,選擇BPEL 2.0- > New BPEL Process File,出現New BPEL Process對話框,輸入流程名Stream_Process,名字空間設爲:下拉選擇,點擊Next。

下一步選擇同步流程。

最後點擊Finish。 

 

3、BPEL流程設計

打開空間視圖,Window->Show View->Palette

以上操作均提供可視化控件,通過拖放即可完成BPEL流程設計,一個簡單的調用WPS服務的流程,Assign_wps爲WPS服務參數賦值,Invoke_wps調用WPS服務,Assign_output將結果賦值給輸出。

4、導入調用WPS服務的wsdl文件

把從ODE下載的wps_service.wsdl複製到工程目錄下。

  1. 爲Invoke創建Partner Link

打開屬性視圖,Window->Show View->Properties,然後點擊bpel流程中的invoke_wps節點,在Properties中選擇Details選項卡,創建一個Partner Link,輸入name,選擇來自工程的服務例如wps_servicePortType。

點擊OK,然後輸入Partner Link Type Name。

最後輸入一個Role Name即可,點擊Finish。

雙擊Quick Pick中對應的函數名,Operation參數會自動添加,並自動創建該函數所需的參數變量。

賦值操作

bpel流程需要從外部傳入參數,並將結果輸出,由Assign操作來完成,Assign作用相當於“管道”,但是該操作只是負責向下傳遞參數。

添加bpel輸入參數。

設置參數名稱。

  1. wps服務參數賦值

選中Assign_wps節點,Properties->Details->new,從From裏選擇變量,賦值給To裏的變量,每增加一個就New一次,如圖6-3-19。

  1. 將結果賦值給輸出,BPEL流程賦值結束

  1. 修改SOAP地址

stream_process對應的stream_processArtifacts.wsdl文件的Server的SOAP地址需要手動修改,默認生成的地址位於Tomcat服務器中:http://localhost:8080/stream_process,需要修改到ODE服務器下:http://localhost:8080/ode/processes/stream_process,Ctrl+S保存。

 

  1. BPEL流程發佈 

BPEL流程最終的目的也是發佈成一個web-service,只不過這個web服務自己基本上不實現功能,主要是通過調用別人的功能來完成任務。因此,最後也要把流程對應的WSDL發佈出去。默認生成的WSDL只有類型定義,消息定義,和操作定義,缺少綁定信息和服務定義。

在bpel工程的bpelContent文件夾中創建一個deploy.xml文件。選擇File->New->Other->BPEL 2.0 Apache ODE Deployment Descriptor,點擊Next,直接Finish即會生成一個deploy.xml文件。

雙擊打開deploy.xml文件,配置Partner Link端口。client對應BPEL流程端口,選擇stream_processPort;wps對應調用的外部服務wps_service端口,選擇SOAP端口:wps_serviceHttpSoap11Endpoint。

 

BPEL運行與測試

(1)在Eclipse中配置 ODE Server, 打開Servers 視圖,Windows->ShowView->Servers。

在 Servers視圖中點右鍵,選擇New->Server,選擇Ode v1.x Server,開始配置。

主要是配置ODE和Tomcat 的目錄,要注意的是ODE的目錄是你安裝在Tomcat下的目錄,而不是你把ODE的壓縮包解壓的地方。

配置完後就可以在eclipse 的 servers 視圖中啓動和停止ODE了。(在啓動ODE時,Tomcat 也會啓動,不需要單獨去啓動Tomcat)。

(2)啓動ODE服務器,添加bpel工程到ODE服務器,在ode server上右擊,打開Add and Remove…,將左側工程添加到右側,點擊Finish。

 

(3)查看Console消息,出現以下消息說明註冊成功。

INFO  [BpelServerImpl] Registered process {http://eclipse.org/bpel/sample}stream_process-537.

(4)測試服務。在stream_processArtifacts.wsdl文件上右擊,打開Web Service Explorer,Web Services->Test with Web Service Explorer,進入process測試界面,填入參數,點擊Go運行。

 

發佈了277 篇原創文章 · 獲贊 222 · 訪問量 48萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章