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 DescriptorFile,於ODEHello Project點選右鍵,接著New -> Other -> Select a wizard -> BPEL2.0 -> Apache ODE Deployment Descriptor -> Next;接者 BPEL Project 相對路徑照預設值不用修改,點選Finish。 - 開啟
deploy.xmlFile,設定Associated Port:ODEHelloPort,接著存檔。 - 開啟
ODEHelloArtifacts.wsdlFile,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)
























沒有留言:
張貼留言