Business Process Execution Language
) 是一種 XML-based
的語言,用於定義數個負責企業商業流程的 Web Service 交互作用,也就是可以透過 BPEL 將二個以上的 Web Service 以 process flow 的方式讓 Web Service 可以協同工作。BPEL 也是
based on Web Service
也就是比照 Web Service 的操作方式,透過 wsdl 產出 Web Service client 來呼叫 BPEL 。而 Apache ODE (
Orchestration Director Engine
)則是 BPEL Engine 用於執行 BPEL Process ;另外 Eclipse IDE 有提供 BPEL designer plugin
,可以用視覺化的方式建置 BPEL Process File ,再透過 IDE 佈署及執行於 Apache ODE 。準備執行環境
Eclipse IDE 及 Tomcat 7 的安裝不在此說明。- Eclipse Java EE IDE 3.6.1(Helios)+
- Eclipse BPEL Visual Designer 0.5.0
- Apache Tomcat 7.0.2+
- Apache ODE 1.3.5
Installing Apache ODE
- 下載 Apache ODE war file ,這裡下載的是 v1.3.5 ,建議下載最新版的,將下載的
apache-ode-war-x.x.x.zip
解壓縮。 - 解壓縮後將
ode.war
複製到%TOMCAT_HOME%\webapps\
,啟動 Tomcat 可看到 log 如下,於%TOMCAT_HOME%\webapps\
也可看到ode folder
。 - Apache ODE console:
http://localhost:8080/ode/
。
Installing Eclipse BPEL designer & Setup the Apache ODE Server
以下所提供的 Location 安裝的是
BPEL Designer v1.0.2
但此版本跟筆者環境的 JBoss Tools 有衝突,在 IDE 上建置 BPEL Project 及 Deploy 至 Apache ODE Server 會有問題,因此回復到 BPEL Designer v0.5.0
但問題依然存在只有採用另一種方法解決此問題,因此環境上如果沒有衝突建議安裝 v1.0.2
否則先使用 v0.5.0
。也可參考文末的相關連結有安裝的詳細說明。- 開啟 Eclipse IDE ,功能表選擇
Help->Install New Software
,來到Install Available Software
。 - 點選 Add ,於 Location 輸入
http://download.eclipse.org/bpel/site/
後點選OK ,Location 請先參考官網的說明 Installation BPEL Designer Project,實作測試時跟寫下這篇文章有段時間距離,二個時間點輸入的 Location 是不一樣的所以以官網的為主。
接下來步驟為v1.0.2
的安裝與v0.5.0
則大同小異(提供的畫面表示使用版本):Eclipse BPEL Designer
點選Next -> Install Detail -> Next -> 勾選 accept license -> Finish
進行安裝。 - 接著功能表選擇
File->New->Other
,看到可以進行 BPEL Project 開發。 - 接著設定 Apache ODE Server ,於
Server View -> 點擊右鍵 -> New -> Server
,如下圖。 -
選擇 Apache ODE 1.x Runtime -> Next
; 輸入ODE Server
及Tomcat Server
路徑,點選Finish
。
Create BPEL Project
- 建立 Sample Project 來測試相關的設定,於
File -> New -> Other -> Select a wizard -> BPEL2.0 -> BPEL Project -> Next
,project name 輸入ODEHello
, Target Runtime 選擇Apache ODE 1.x Runtime
,點選Finish
,(Designer v1.0.2 於 Create Project 階段沒有 Target Runtime 及 Configuration 的設定,建立 BPEL Process File 時才須設定)。 - 於
ODEHello Project
點選右鍵,接著New -> Other -> Select a wizard -> BPEL2.0 -> New BPEL Process File -> Next
; 於 Create a BPEL Process File 進行設定, BPEL Process Name 輸入ODEHello
, Namespace 輸入http://odehelloProcess
, Template 選擇Synchronous BPEL Process
, 點選Next
。 - 於 Create a WSDL File 進行設定,Service Name、Port Name、Binding Protocol都照預值不變, Service Address 則需配合 Tomcat 中 ODE Server 的佈署路徑,輸入
http://localhost:8080/ode/processes/ODEHello
,點選Next
;接下來選擇 BPEL Process File 及 WSDL File 的放置路徑,照預設選擇bpelContent
, 點選Finish
完成這部份的設定,也可看到 Project 產出 BPEL Process File 及 WSDL File。 - 設定
BPEL Process File
,開啟ODEHello.bpel
如下圖於 BPEL Design UI 點選FIX_ME-Add_Business_Logic_Here
,點選Properties -> Details -> Assign
。 - 設定
Assign
的 input 及 output,這個 Sample 只是單純將輸入的字串,經由Assign
後再 Print,因此只需指定Assign
的一邊是輸入的字串另一邊則為輸出的字串如下圖步驟設定,設定完成後存檔。 - 接下來新增
ODE Deployment Descriptor
File,於ODEHello Project
點選右鍵,接著New -> Other -> Select a wizard -> BPEL2.0 -> Apache ODE Deployment Descriptor -> Next
;接者 BPEL Project 相對路徑照預設值不用修改,點選Finish
。 - 開啟
deploy.xml
File,設定Associated Port:ODEHelloPort
,接著存檔。 - 開啟
ODEHelloArtifacts.wsdl
File,UI 設定如下圖,此 Sample 這部份不做修改。
Deploy & Run BPEL Project on the Apache ODE
-
因為
BPEL Designer v1.0.2
與JBoss Tools
衝突的關係,執行接下來的部份時須先修改%ECLIPSE_HOME%\workspace\ODEHello\.settings\org.eclipse.wst.common.project.facet.core.xml
,這樣在配置 ODE Server 時才能選擇ODEHello Project
。 -
ODE Server點選右鍵 -> Add and Remove
。 -
點選 ODEHello -> Add -> Finish
。 -
啟動 ODE Server,可於
Console view
看到 log 輸出,Browser輸入http://localhost:8080/ode/processes/ODEHello?wsdl
可看到 wsdl file ,Tomcat 目錄下也可以看到已佈署於 ODE Server 。 -
接著測試 BPEL Process,也就文章一開頭所講的建立 Web Service Client 進行測試,於
ODEHelloArtifacts.wsdl
點選右鍵,接著Web Service -> Test with Web Service Explorer
。 -
Web Services Explorer
,Operations -> 點選Process
。
<?xml version="1.0" encoding="UTF-8"?> <faceted-project> <fixed facet="jbt.bpel.facet.core"/> <installed facet="jbt.bpel.facet.core" version="2.0"/> </faceted-project>
因已安裝過
JBoss Tools
(jbt.bpel.facet.core
) 此部份須手動修改如下配合 Apache Ode
(bpel.facet.core
)
<?xml version="1.0" encoding="UTF-8"?> <faceted-project> <runtime name="Apache Ode 1.x Runtime"/> <fixed facet="bpel.facet.core"/> <installed facet="bpel.facet.core" version="2.0"/> </faceted-project>
Body -> ODEHelloRequest -> input string -> 輸入字串:Test from eclipse -> 點選Go
,可於 Status
視窗看到輸出字串。
參考文章如下:
Installing BPEL designer and Apache ODE on Eclipse v3.4.x
Deploying a "Hello World" BPEL process with Eclipse BPEL designer and Apache ODE
基于Axis2 Web Service的Eclipse BPEL使用詳解
Apache Ode
BPEL | 宅學習 - Social Learning Space
BPEL簡介(By Kumer Raj Moorthy)
沒有留言:
張貼留言