系統(tǒng)平臺:
系統(tǒng)環(huán)境: Windows 2003 | SUN JDK1.6U4 | Tomcat6.0.14 | jbpm-starters-kit-3.1.4 | MySQL 6.0 主機完整名稱: zsy-aten 瀏覽器 Internet Explorer 6.0
安裝包及相關軟件:
1、 安裝JDK與MySQL JDK的安裝這里就不多說了,,學過Java的人都知道,,本實驗安裝的是jdk-6u4版本。安裝完后記得添加JAVA_HOME的環(huán)境變量,。 MySQL的安裝不屬于本文的介紹范圍,,請參閱相關文檔。本實驗安裝的是MySQL 6.0版本,,安裝完后建立的數(shù)據(jù)庫名為jbpm,,創(chuàng)建的用戶名為jbpmuser,密碼為shine,。 2,、 安裝Tomcat 下載安裝Tomcat-6.0.16是目前最新版本:http://apache.mirror./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./ant/binaries/apache-ant-1.7.0-bin.zip,; (2) 解壓到 E:\Java\tools\apache-ant-1.7.0 (當然其他目錄也可以); (3) 設置環(huán)境變量:ANT_HOME= E:\Java\tools\apache-ant-1.7.0,; (4)把 %ANT_HOME%\bin 加入到環(huán)境變量 PATH 中。 4,、 安裝jBPM 下載jBPM-JPDL本為3.2.2:http://labs./jbossjbpm/jbpm_downloads/下載jPDL Suite版,,這個版本是包含所有的一整套工具,下載后是個壓縮包解壓到 E:\Java\tools :,、\jbpm-jpdl-3.2.2 ,,目錄下主要包含以下幾個子目錄: l src —— jBPM 的源代碼 l config —— jBPM及Hibernate與log4j的配置文件 l db —— 各種數(shù)據(jù)庫的建表SQL語句 l lib —— 依賴的第三方依賴類庫 l doc —— API文檔及用戶使用向?qū)?/span> l designer —— 輔助開發(fā) jBPM 的 Eclipse 插件,具體在 eclipse子目錄中 l server —— 一個已經(jīng)配置好了的基于 JBoss 的 jBPM 控制臺及示例 5,、 安裝Eclipse及jBPM開發(fā)插件 Eclipse不是開發(fā) jBPM 必須的工具,,但它是對 jBPM 開發(fā)很有幫助的工具,特別是 jBPM 提供了一個 Eclipse 插件用來輔助開發(fā) jBPM ,。關于 Eclipse 的安裝請參閱相關文檔,。本實驗安裝的是MyEclipse6.0集成Eclipse3.3。 安裝完Eclipse安裝jBPM的開發(fā)插件,,步驟如下: (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 目錄是一個已經(jīng)在JBoss中配置好的了 jBPM 示例,雙擊 jbpm-server 目錄下的 start.bat 文件,,啟動 JBoss 服務,。打開網(wǎng)頁: http://localhost:8080/ jbpm-console 得到如下頁面: 這是一個流程控制管理平臺,用右邊的賬號與密碼就可以登錄,,這個控制臺包括流程管理,,可以部署流程,、刪除流程、查看流程圖,、管理流程實例等,;還有任務管理,工作管理及用戶與用戶組管理,。 基于Tomcat和MySQL的部署: 現(xiàn)在要把上面演示的例子部署到Tomcat中,,并將數(shù)據(jù)數(shù)配置為MySQL。 jBPM 需要數(shù)據(jù)庫支持,, jBPM 會把自己的一個初始化數(shù)據(jù)存儲到數(shù)據(jù)庫,同時工作流的數(shù)據(jù)也是存儲到數(shù)據(jù)庫中的,。 jBPM 使用 Hibernate 作為的存儲層,。在E:\Java\tools\jbpm-jpdl-3.2.2\db\目錄下有個jbpm.jpdl.mysql.sql數(shù)據(jù)庫腳本文件。我們不能直接導入該文件, 會提示有錯誤, 應為該文件格式有問題, 首先打開該文件(推薦UltraEdit), 把前面的 alter table JBPM_XX 語句都刪除(因為我們使用的是新的數(shù)據(jù)庫,所以需要這些語句, 這個腳本文件是升級3.2的數(shù)據(jù)庫表結(jié)構用的) 然后在每一行前面添加一個分號 不然腳本執(zhí)行會出錯,。這樣就可以用source命令導入了,。 導入后, 表結(jié)構創(chuàng)建成功。 在E:\Java\tools\jbpm-jpdl-3.2.2\deploy 文件夾下 運行ant customize.console.for.tomcat,。執(zhí)行命令后會在 E:\Java\tools\jbpm-jpdl-3.2.2\deploy\customized文件夾下生成一個jbpm-console.war 文件,用WinRaR解壓開,,并復制到已安裝Tomcat的webapps目錄下,,jbpm還需三個依賴類庫,分別是commons-collections.jar,、ehcache-1.2.3.jar,、jta.jar,當然還有個MySQL驅(qū)動mysql-connector-java-5.0.7-bin.jar,,添加這些jar文件 到 \$CATALINA_HOME\webapps\jbpm-console\WEB-INF\lib目錄下,。 修改\$CATALINA_HOME\webapps\jbpm-console\WEB-INF\classes下hibernate.cfg.xml文件,。這是Hibernate的數(shù)據(jù)庫配置文件,,要做一些修改,原來內(nèi)容如下: <!-- 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> 修改后如下: <!-- 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"> 有兩種方法都可以實現(xiàn),,但摧薦第一種方法,。 方法一:配置一個JDBC Realm,,在\$CATALINA_HOME\webapps\jbpm-console\META-INF目錄下新建context.xml文件,內(nèi)容如下: <?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_" /> 方法二:直接修改 /$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"/> STEP 5,,初始化基礎的用戶數(shù)據(jù) 在MySQL數(shù)據(jù)庫中執(zhí)行以下SQL語句,,進行初始化用戶信息,如下: INSERT INTO JBPM_ID_GROUP VALUES(1,‘G‘,‘sales‘,‘organisation‘,NULL); INSERT INTO JBPM_ID_GROUP VALUES(2,‘G‘,‘a(chǎn)dmin‘,‘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‘,‘[email protected]‘,‘user‘); INSERT INTO JBPM_ID_USER VALUES(2,‘U‘,‘manager‘,‘[email protected]‘,‘manager‘); INSERT INTO JBPM_ID_USER VALUES(3,‘U‘,‘a(chǎn)dmin‘,‘a(chǎn)[email protected]‘,‘a(chǎn)dmin‘); INSERT INTO JBPM_ID_USER VALUES(4,‘U‘,‘shipper‘,‘[email protected]‘,‘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); 啟動時查看Tomcat的日志,,檢查是否正常啟動,未添加所有支持庫或數(shù)據(jù)庫配置出錯,,都會引起啟動失敗,。 注意:到此為止啟動Tomcat,JBPM服務就能正常運行了,,已經(jīng)可以在上面發(fā)布流程,,接著第五步中部署一個jbpm自帶的流程例子。 STEP 7,,發(fā)布例子流程 打開網(wǎng)頁:http://localhost:8080/jbpm 得到如下頁面就說明已經(jīng)部署成功: 用右邊的manage賬號登錄,如下圖:
點擊“Deploy”轉(zhuǎn)到部署流程頁面,,點擊“瀏覽”按扭選擇E:\Java\tools\jbpm-jpdl-3.2.2\examples\websale\target\websale.jpdl文件,,名后點擊“Deploy”按扭部署。 |
|