中文 => English   |   English => 中文
          posts - 12, comments - 2, trackbacks - 0, articles - 0
             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          jbpm jpdl 部署 tomcat mysql 工作流

          Posted on 2008-09-28 21:36 牛X書記 閱讀(337) 評論(0)  編輯  收藏 所屬分類: JBPM
          關鍵字: jbpm jpdl 部署 tomcat mysql 工作流

          相關資料:

           

          jBPM學習筆記(流程設計與控制)

          jBPM學習筆記(框架設計簡介)

           

          系統平臺:

           

          系統環境:

          Windows 2003 | SUN JDK1.6U4 | Tomcat6.0.14 | jbpm-starters-kit-3.1.4 | MySQL 6.0

          主機完整名稱:

                 zsy-aten

          瀏覽器

                 Internet Explorer 6.0

           

          安裝包及相關軟件:

           

          1、  安裝JDKMySQL

          JDK的安裝這里就不多說了,學過Java的人都知道,本實驗安裝的是jdk-6u4版本。安裝完后記得添加JAVA_HOME的環境變量。

          MySQL的安裝不屬于本文的介紹范圍,請參閱相關文檔。本實驗安裝的是MySQL 6.0版本,安裝完后建立的數據庫名為jbpm,創建的用戶名為jbpmuser,密碼為shine

          2、  安裝Tomcat

          下載安裝Tomcat-6.0.16是目前最新版本:http://apache.mirror.phpchina.com/tomcat/tomcat-6/v6.0.16/bin/apache-tomcat-6.0.16.exe ;要在JDK安裝之后安裝Tomcat,安裝過程中會自動搜索JRE的目錄,當然也可以選擇其它的JRE,其它默認設置即可。

          3、  安裝Ant

          Ant 是一個編譯工具,使用 jBPM 時必須用它來編譯文件, jBPM 中的很多操作都要用到 Ant ,安裝方法如下:

          1 先下載:http://apache.mirror.phpchina.com/ant/binaries/apache-ant-1.7.0-bin.zip

          2 解壓到 E:\Java\tools\apache-ant-1.7.0 (當然其他目錄也可以);

          3 設置環境變量:ANT_HOME= E:\Java\tools\apache-ant-1.7.0

          4)把 %ANT_HOME%\bin 加入到環境變量 PATH 中。

          4、  安裝jBPM

          下載jBPM-JPDL本為3.2.2http://labs.jboss.com/jbossjbpm/jbpm_downloads/下載jPDL Suite版,這個版本是包含所有的一整套工具,下載后是個壓縮包解壓到 E:\Java\tools :、\jbpm-jpdl-3.2.2 ,目錄下主要包含以下幾個子目錄:

          l  src —— jBPM 的源代碼

          l  config —— jBPMHibernatelog4j的配置文件

          l  db —— 各種數據庫的建表SQL語句

          l  lib —— 依賴的第三方依賴類庫

          l  doc —— API文檔及用戶使用向導

          l  designer —— 輔助開發 jBPM Eclipse 插件,具體在 eclipse子目錄中

          l  server —— 一個已經配置好了的基于 JBoss jBPM 控制臺及示例

          5、  安裝EclipsejBPM開發插件

          Eclipse不是開發 jBPM 必須的工具,但它是對 jBPM 開發很有幫助的工具,特別是 jBPM 提供了一個 Eclipse 插件用來輔助開發 jBPM 。關于 Eclipse 的安裝請參閱相關文檔。本實驗安裝的是MyEclipse6.0集成Eclipse3.3

                 安裝完Eclipse安裝jBPM的開發插件,步驟如下:

          (1)       打開Eclipse選擇菜單“Help->Software Updates->Find and Install”;

          (2)       彈出窗口中選擇“Search for new features to install”,然后點擊“Next >”;如圖

           

          (3)       點擊按扭“New Local Site…”選擇插件目錄,位于designer\ eclipse目錄下,如:E:\Java\tools\jbpm-jpdl-3.2.2\designer\eclipse。選定后點“OK”,如圖

           

          (4)       選中“designer/eclipse”,然后點擊“Finish”,如圖

           

          (5)       然后選擇同意條款,接提示步驟安裝就可以了。

           

                  到此為止需要的所有工具都安裝好了。接下來先體驗一下jBPM工作流。在 JBoss jBPM Starters Kit jbpm-server 目錄是一個已經在JBoss中配置好的了 jBPM 示例,雙擊 jbpm-server 目錄下的 start.bat 文件,啟動 JBoss 服務。打開網頁: http://localhost:8080/ jbpm-console 得到如下頁面:

          這是一個流程控制管理平臺,用右邊的賬號與密碼就可以登錄,這個控制臺包括流程管理,可以部署流程、刪除流程、查看流程圖、管理流程實例等;還有任務管理,工作管理及用戶與用戶組管理。

           

          基于TomcatMySQL的部署:

           

                 現在要把上面演示的例子部署到Tomcat中,并將數據數配置為MySQL

          STEP 1,初始化數據庫

          jBPM 需要數據庫支持, jBPM 會把自己的一個初始化數據存儲到數據庫,同時工作流的數據也是存儲到數據庫中的。 jBPM 使用 Hibernate 作為的存儲層。在E:\Java\tools\jbpm-jpdl-3.2.2\db\目錄下有個jbpm.jpdl.mysql.sql數據庫腳本文件。我們不能直接導入該文件, 會提示有錯誤, 應為該文件格式有問題, 首先打開該文件(推薦UltraEdit), 把前面的 alter table JBPM_XX 語句都刪除(因為我們使用的是新的數據庫,所以需要這些語句, 這個腳本文件是升級3.2的數據庫表結構用的) 然后在每一行前面添加一個分號 不然腳本執行會出錯。這樣就可以用source命令導入了。 導入后, 表結構創建成功。

           STEP 2,準備發布包

                 E:\Java\tools\jbpm-jpdl-3.2.2\deploy 文件夾下 運行ant customize.console.for.tomcat。執行命令后會在 E:\Java\tools\jbpm-jpdl-3.2.2\deploy\customized文件夾下生成一個jbpm-console.war 文件,用WinRaR解壓開,并復制到已安裝Tomcatwebapps目錄下,jbpm還需三個依賴類庫,分別是commons-collections.jarehcache-1.2.3.jarjta.jar,當然還有個MySQL驅動mysql-connector-java-5.0.7-bin.jar,添加這些jar文件 \$CATALINA_HOME\webapps\jbpm-console\WEB-INF\lib目錄下。

           STEP 3,修改Hibernate數據庫配置文件

                 修改\$CATALINA_HOME\webapps\jbpm-console\WEB-INF\classeshibernate.cfg.xml文件。這是Hibernate的數據庫配置文件,要做一些修改,原來內容如下:

          <!--  hibernate dialect -->

            <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>

          <!--  JDBC connection properties (begin) ===

            <property name="hibernate.connection.driver_class">

          org.hsqldb.jdbcDriver</property>

            <property name="hibernate.connection.url">jdbc:hsqldb:mem:jbpm</property>

            <property name="hibernate.connection.username">sa</property>

            <property name="hibernate.connection.password"></property>

          ==== JDBC connection properties (end) -->

            <property name="hibernate.cache.provider_class">

          org.hibernate.cache.HashtableCacheProvider</property>

          <!--  DataSource properties (begin) -->

            <property name="hibernate.connection.datasource">java:/JbpmDS</property>

          <!--  DataSource properties (end) -->

          修改后如下:

          <!-- hibernate dialect -->

          <property name="hibernate.dialect">

          org.hibernate.dialect.MySQLInnoDBDialect</property>

          <property name="hibernate.connection.driver_class">

          com.mysql.jdbc.Driver</property>

            <property name="hibernate.connection.url">

          jdbc:mysql://localhost:3306/jbpm</property>

            <property name="hibernate.connection.username">jbpmuser</property>

            <property name="hibernate.connection.password">shine</property>

          <property name="hibernate.cache.provider_class">

          org.hibernate.cache.HashtableCacheProvider</property>
           STEP 4,設置Tomcat安全域

                 有兩種方法都可以實現,但摧薦第一種方法。

          方法一:配置一個JDBC Realm,在\$CATALINA_HOME\webapps\jbpm-console\META-INF目錄下新建context.xml文件,內容如下:

          <?xml version="1.0" encoding="UTF-8"?>

          <Context>

          <Realm className="org.apache.catalina.realm.JDBCRealm"

            driverName="com.mysql.jdbc.Driver"

            connectionURL="jdbc:mysql://localhost:3306/jbpm"

            connectionName="jbpmuser"

            connectionPassword="shine"

          userTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"

            userNameCol="g.TYPE_ = 'security-role' AND m.GROUP_ = g.ID_ AND m.USER_ = u.ID_ AND u.NAME_"

            userCredCol="DISTINCT u.PASSWORD_"

            userRoleTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"

            roleNameCol="g.NAME_" />

          </Context>

          方法二:直接修改 /$CATALINA_HOME/conf/tomcat-users.xml文件來設置安全域。為了不和tomcat已有的用戶沖突,這里把 tomcat以前的登陸帳號username="admin" 修改為username="tadmin",修改后的文件如下:

          <?xml version='1.0' encoding='utf-8'?>

          <tomcat-users>

            <role rolename="user"/>

            <role rolename="administrator"/>

            <role rolename="manager"/>

            <role rolename="sales"/>

            <role rolename="hr"/>

            <role rolename="admin"/>

            <role rolename="participant"/>

            <user username="user" password="user" roles="user,sales"/>

            <user username="shipper" password="shipper" roles="user,hr"/>

            <user username="manager" password="manager" roles="admin,hr,manager,user,sales"/>

            <user username="tadmin" password="" roles="admin,manager"/>
            <user username="admin" password="admin" roles="admin,user,hr"/>
          </tomcat-users>

           STEP 5,初始化基礎的用戶數據

          MySQL數據庫中執行以下SQL語句,進行初始化用戶信息,如下:

          INSERT INTO JBPM_ID_GROUP VALUES(1,'G','sales','organisation',NULL);

          INSERT INTO JBPM_ID_GROUP VALUES(2,'G','admin','security-role',NULL);

          INSERT INTO JBPM_ID_GROUP VALUES(3,'G','user','security-role',NULL);

          INSERT INTO JBPM_ID_GROUP VALUES(4,'G','hr','organisation',NULL);

          INSERT INTO JBPM_ID_GROUP VALUES(5,'G','manager','security-role',NULL);

          INSERT INTO JBPM_ID_USER VALUES(1,'U','user','user@sample.domain','user');

          INSERT INTO JBPM_ID_USER VALUES(2,'U','manager','manager@sample.domain','manager');

          INSERT INTO JBPM_ID_USER VALUES(3,'U','admin','admin@sample.domain','admin');

          INSERT INTO JBPM_ID_USER VALUES(4,'U','shipper','shipper@sample.domain','shipper');

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(1,'M',NULL,NULL,2,4);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(2,'M',NULL,NULL,3,4);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(3,'M',NULL,NULL,4,4);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(4,'M',NULL,NULL,4,3);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(5,'M',NULL,NULL,1,3);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(6,'M',NULL,NULL,2,3);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(7,'M',NULL,NULL,3,3);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(8,'M',NULL,NULL,3,2);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(9,'M',NULL,NULL,2,2);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(10,'M',NULL,NULL,2,5);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(11,'M',NULL,'boss',2,1);

          INSERT INTO JBPM_ID_MEMBERSHIP VALUES(12,'M',NULL,NULL,1,1);
           STEP 6,啟動Tomcat服務

          啟動時查看Tomcat的日志,檢查是否正常啟動,未添加所有支持庫或數據庫配置出錯,都會引起啟動失敗。

                 注意:到此為止啟動TomcatJBPM服務就能正常運行了,已經可以在上面發布流程,接著第五步中部署一個jbpm自帶的流程例子。 

           

          STEP 7,發布例子流程

                 打開網頁:http://localhost:8080/jbpm 得到如下頁面就說明已經部署成功:

           

          用右邊的manage賬號登錄,如下圖:

          點擊“Deploy”轉到部署流程頁面,點擊“瀏覽”按扭選擇E:\Java\tools\jbpm-jpdl-3.2.2\examples\websale\target\websale.jpdl文件,名后點擊“Deploy”按扭部署。


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 高要市| 吉水县| 白城市| 马关县| 张家界市| 滦平县| 昌江| 东台市| 通山县| 马公市| 托里县| 沽源县| 南投县| 北票市| 元氏县| 庐江县| 黎城县| 白玉县| 莲花县| 客服| 盐池县| 临武县| 温州市| 儋州市| 全椒县| 博客| 乐至县| 东丽区| 清丰县| 右玉县| 固镇县| 若尔盖县| 绥江县| 温宿县| 科技| 青河县| 乌鲁木齐县| 清水河县| 兴山县| 临桂县| 石渠县|