2012年12月23日 星期日

JBoss RiftSaw Getting Started Guide

RiftSaw 是 JBoss open source 的 BPEL 產品,也就是 WS-BPEL 2.0 Engine,其核心是採用 Apache ODE 並與 JBoss ESB(Enterprise Service Bus) 整合,可運行在 JBoss AS/SOA 平台。

關於 Apache ODE 及 BPEL 可參考 Apache 官網及 WS-BPEL 2.0 OASIS 的說明,也可參考另一篇 Create BPEL process with Eclipse BPEL designer and Apache ODE 。

BPEL Process Designer 除了使用 Eclipse IDE 外,也可使用 JBoss Developer Studio(JBoss Tools) , 另外也提供不同於 Apache ODE 的 BPEL Console 。


準備執行環境

Eclipse、JBoss SOA、MySQL 的安裝不在此說明,測試環境是使用 JBoss SOA 也就是 JBoss ESB 的運行平台,因此不需另外安裝 JBoss ESB,JBoss EAP(Enterprise Application Platform)即不具有 ESB 的環境,另外有使用到 BPEL 整合ESB的功能(ex.'samples/esb' examples)才需安裝 ESB。
  • Eclipse Java EE IDE 3.6.1(Helios)+
  • Eclipse BPEL Visual Designer 0.5.0
  • JBoss SOA Server 5.0.2.GA+
  • JBoss ESB Server 4.10+
  • JBoss RiftSaw 2.3.0+
  • MySQL Server 5.1
  • Apache Ant 1.8.2+



Installation JBoss RiftSaw

  1. 在 MySQL Create riftsaw Database ,如使用預設的 HSQL 則跳過此步驟以及 Database 有關的設定 。
  2. -- Start MySQL
    mysqld --console
    
    -- 以 root 身份 connect MySQL
    mysql -h 127.0.0.1 -P 3306 -u root -proot -D mysql
    
    --建立 MySQL user/password
    GRANT ALL PRIVILEGES ON riftsaw.* TO 'riftsaw'@'%' IDENTIFIED BY 'riftsaw' WITH GRANT OPTION;
    GRANT ALL PRIVILEGES ON riftsaw.* TO 'riftsaw'@'localhost' IDENTIFIED BY 'riftsaw' WITH GRANT OPTION;
    
    -- 離開 root 身份,以新的 user:riftsaw connect MySQL
    mysql -h 127.0.0.1 -P 3306 -u riftsaw -priftsaw
    
    -- Create Database riftsaw
    CREATE DATABASE riftsaw DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    
    -- 離開 riftsaw 身份,並重新連線測試新建的 user 及 Database
    mysql -h 127.0.0.1 -P 3306 -u riftsaw -priftsaw -D riftsaw
    

  3. 下載 JBoss RiftSaw zip file ,這裡下載的是 v2.3.0 ,將下載的 riftsaw-x.x.x.Final.zip 解壓縮,這裡的測試操作大部份是參考 riftsaw-2.3.0.Final\docs 的文件。

  4. 解壓縮後可在相對路徑下看到 riftsaw-2.3.0.Final\install\deployment.properties 修改相關設定符合測試環境, JBossESB home 也可設定成 SOA Home 的路徑,這裡有下載 JBossESB 並配合設定, Database 改為 mysql。
  5. # when deploying and executing the samples. 
    # (e.g. /var/local/jboss-5.1.0.GA) 
    #org.jboss.as.home=/local/deploy/jboss-5.1.0.GA
    org.jboss.as.home=D:\jboss-soa-5.0\jboss-as
    
    as.version=5
    
    # The Configuration of JBoss AS to Use 
    # (e.g. default) 
    org.jboss.as.config=default
    
    # The directory for JBossESB home
    # (e.g. /var/local/jbossesb-4.9)
    #org.jboss.esb.home=/var/local/jbossesb-4.9
    org.jboss.esb.home=D:\jbossesb-server-4.10
    
    # database
    # (e.g. hsql postgres mysql)
    database=mysql
    

  6. 照第一點 MySQL 的設定,修改 riftsaw-2.3.0.Final\conf\jdbc\mysql.properties 如下,MySQL JDBC Driver 放置路徑如下 riftsaw-2.3.0.Final\conf\drivers\mysql-connector-java-5.0.8.jar ,有需要也可置換。
  7. <?xml version="1.0" encoding="UTF-8"?>
    
    <!-- ===================================================================== -->
    <!--                                                                       -->
    <!--  JBoss Server Configuration                                           -->
    <!--                                                                       -->
    <!-- ===================================================================== -->
    
    <!-- $Id: abc-ds.xml,v 1.1 2007-10-24 02:24:11 kstam Exp $ -->
    <!-- ==================================================================== -->
    <!--  Datasource config for MySQL using 2.0.11 driver                     -->
    <!-- ==================================================================== -->
    
    <datasources>
      <local-tx-datasource>
        <jndi-name>BPELDB</jndi-name>
        <connection-url>jdbc:mysql://localhost:3306/riftsaw</connection-url>
        <driver-class>com.mysql.jdbc.Driver</driver-class>
        <user-name>riftsaw</user-name>
        <password>riftsaw</password>
    <!--
        <check-valid-connection-sql>select id from ping</check-valid-connection-sql>
    -->
        <max-pool-size>30</max-pool-size>
        <min-pool-size>5</min-pool-size>
    
      </local-tx-datasource>
    </datasources>
    

  8. DOS Command 切換路徑到 riftsaw-2.3.0.Final\install 執行 deployer ; 執行後會如下圖產出目錄及檔案,將其複製到 %JBOSS_HOME%\server\default 的相對應路徑。
  9. ant deploy


  10. MySQL 及 JBOSS SOA 依序啟動,啟動成功後可於 MySQL 看到建立的 Table ,佈署後如需修改 Datasource 設定可於 %JBOSS_HOME%\server\default\deploy\riftsaw.sar\META-INF\bpel-ds.xml 進行修改, JDBC Driver 放置路徑則如下 %JBOSS_HOME%\server\default\deploy\riftsaw.sar\lib
  11. %JBOSS_HOME\bin>run.bat -b 127.0.0.1


  12. 於 Browser 開啟 BPEL Console 的連結,Console 的 Username/Password 輸入 admin/password ,可於 %JBOSS_HOME%\server\default\deploy\bpel-console\bpel-identity.sar\bpel-users.properties 修改 Username/Password。
  13. http://127.0.0.1:8080/bpel-console



Quickstart Examples


JBoss RiftSaw 有提供測試用的 Examples 位於解壓縮後的路徑: riftsaw-2.3.0.Final\samples ,接下來說明 Examples 以 Ant 及 Eclipse IDE 這二種方式的 Deploy 。
  1. 開啟 DOS Command 切換路徑到 riftsaw-2.3.0.Final\samples\quickstart\hello_world 執行 deployer ,將 hello_world 路徑下產出的 Quickstart_bpel_hello_world-1.jar 複製到 SOA Server 的相對位置 %JBOSS_HOME%\server\default\deploy ,確定 MySQL 啟動後緊接著啟動 JBoss SOA Server 。
  2. ant deploy

  3. 開啟以下連結,如可看到 wsdl file 表示 Quickstart_bpel_hello_world 已佈署,接著以 soapUI Tool 測試,結果如下。
  4. http://127.0.0.1:8080/Quickstart_bpel_hello_worldWS?wsdl


  5. 改以 Eclipse 操作測試,開啟 Eclipse IDE ,功能表選擇 Package Explorer -> 點選右鍵 -> Import, 於 Import -> Existing Projects into Workspace -> Next

  6. Import ProjectsSelect root directory 選擇 Samples 的路徑 riftsaw-2.3.0.Final\samples\quickstart, 於 Projects 勾選 Quickstart_bpel_say_hello 再點選 Finish ,接下來可看到 Quickstart_bpel_say_hello 已被匯入 Eclipse IDE。

  7. 於 Eclipse Servers View 點選右鍵 New -> Server , 在 Define a New Server 設定 JBoss AS 5.0 -> Next

  8. 於 Eclipse Create a nwe JBoss Server 設定 JBoss HomeJRE,點選 Next ,在 Add and Remove 加入 Quickstart_bpel_say_hello ,點選 Finish

  9. 啟動 MySQL,於 Eclipse Servers View 啟動 JBoss ,啟動後將 SayHelloArtifacts.wsdl 開啟於 Test with Web Service Explorer ,測試結果如下 。


參考文章如下:
JBoss RiftSaw
JBoss SOA BPEL Guide

沒有留言:

張貼留言