Shark2.0学习

Shark的版本


现在稳定的版本是2.0版。


shark的安装
下载地址:http://shark.objectweb.org
在windows平台下,直接点击安装图标,按照提示便可完成安装。在安装过程中需要指定jdk,shark2.0需要jdk的版本为1.4.2或者以上。

Shark的配置
如果是使用安装包安装的,可以不用配置就可以运行,如果是用的zip包解压或者copy的,需要配置如下项:
在安装路径下有个configure.properties文件,修改里面的jdk_dir=c:/j2sdk1.5
为jdk的正确安装路径。
默认情况下,shark使用hypersonic数据库作为工作库,如果想使用其它的数据库,如oracle、mysql等,就需要修改文件中以下几项:
db_loader_job=hsql     //指明需要使用哪种数据库
db_user=sa //连接数据库的用户名
db_passwd= //连接数据库的用户密码
db_ext_dirs= //驱动的所在路径
hsql_JdbcDriver=org.hsqldb.jdbcDriver //驱动类名称
hsql_Connection_Url=jdbc:hsqldb:/home/wiznogood/workin/.vajat/Shark/output/Shark/db/hsql/hsql //数据库连接串
如果要自动配置请执行以下命令:
configure.bat - for Windows OS
configure.sh  - for Unix OS


shark的启动
在“开始——程序——shark1.01”中,鼠标单击“Run Shark System”就可以了。

{注:实际启动shark时,启动顺序是名称服务器(tns.bat是为corba服务的),服务器(run.bat),管理控制台(runA.bat基于corba的)。你也可以用快捷方式shark(runAll.bat)一次性启动三种服务。

如果想直接启动管理控制台图形界面,执行以下命令:
runSA.bat - for Windows
runSA.sh  - for Unix
runA.bat和runSA的区别:
runA.bat启动的是基于corba代理的控制台,而runSA.bat启动的是普通的控制台,直接使用wapi的。

第一个例子(hello world)
这个例子是自带的,在“quick start”文档中也有,我将其翻译成中文。(靳凯)

1. 登录:启动了shark之后,在shark Administrator Application应用程序中登录到工作流服务器上,用户名是“admin”,密码是“enhydra”。


2. 载入XPDL文件:选择Package management部分,点击Load按钮=>选择test-JavaScript.xpdl文件=>点击Load按钮或者双击菜单中的 test-JavaScript.xpdl=>点击Close按钮,这样,xpdl的包就载入内存了。这样我们就可以实例化xpdl中定义的流程 了。


3. 查看流程:到Process instantiation management部分,在左边树结构中选择Package-test_js->Process definition-The Game,点击View来查看这个流程。这个流程说明如下:
           这个例子是一个猜数游戏,有2个参与者,流程开始后,每个人都输入1个从1——100的整数,当2个人都输完后,“Generate Random No”这个活动就会产生一个随机数,这个活动是由shark引擎自动执行的,使用Tool Agent application来实现,随机数产生后,shark会根据“Generate Random No”到“Update Player1 Score”的流转条件——谁的数与随机数相近?如果和player1相近,就执行“Update Player1 Score”,否则就执行“Update Player2 Score”,这两个过程也是引擎使用Tool Agent application自动执行的,即在获胜者原有的分数上+1,同时调用“Update Counter”活动,为游戏次数+1,接着是两个手动执行的流程,由2个参与者察看自己的比赛得分情况,然后,shark判断从“r3”到“r2”过程 的转移条件,如果游戏次数小于“game_cycles”变量的值,就开始新一轮。直到结束。

4. 增加用户:到User management的Account部分增加用户,Group是player,用户名是jinkai,密码是jk,姓名是jin kai;


5. 增加用户映射:到Mapping部分,点击Add按钮,左边面板中选择Player 1 - rol,右面板中选择jinkai –jin kai,点击应用,然后关闭,这样在XPDL中定义的参与者就和实际的用户映射好了,所有player 1的活动都放在了jinkai的工作列表中来处理。


6. 增加应用程序映射:转到Application mapping部分,点击ADD按钮增加Application mapping,左面板中选择random_no_generator,右面板中选择 org.enhydra.shark.toolagent.JavaClassToolAgent,并设置Application name为RandomNoProc,然后应用左面板中选择addition,右面板中选择 org.enhydra.shark.toolagent.JavaScriptToolAgent,并设置Application name为AdditionProc.js和Application mode为0,然后应用。


7. 初始化工作流实例:到此为止所有的准备工作都做好了,一个完整的工作流程就配置好了,转到Process instantiation management部分,选择The Game,然后点击Instantiate。会提示输入比赛的次数,输入个2。


8. 启动player1的工作列表处理器:运行“runWH”命令,启动工作列表管理器。


9. player1登录并开始工作:在打开的窗口中,输入用户名:jinkai,密码:jk,在工作列表中,会有一条待办工作,双击此工作,提示输入一个0到100的数,输入后,关闭。待办工作消失。


10. player2开始工作:切换到管理控制台,admin用户就是player2,进入到“Worklist management”中,会看到有一条待办工作,双击此工作,提示输入一个0到100的数,输入后,关闭。待办工作消失。
当两个人都输入完了以后,系统开始产生随机数并计算两个人的成绩,并分别产生两个察看结果的活动通知给每个人。


11. player1、player2察看比赛得分:在2个参赛者的工作列表中都出现了“View score”活动,双击执行。


12. 系统判断比赛是否继续:由于比赛次数输入为2,因此还有1次,继续步骤8。

Shark的源码编译
1. 把shark的源代码包解压到一个目录下。
2. 运行configue.bat -help看一下。
3. 然后,运行configure -jdkhome %java_home% -instdir e:/buildtest 指定jdk的路径和install的路径。
4. 执行:make –help 看一下有什么选项,为了快速的编译,应该选buildNoDoc选项。
5. 运行:make buildNoDoc进行编译构建。生成了一个out目录,里面就是make后的结果。此过程需要花费一段时间,我的机器上(PIII933 256M)用了6分钟,请耐心等待。
6. 然后就可以执行make install把编译后的结果安装到指定目录了。

更换shark的数据库
默认是使用hipersonic数据库,一般的需要使用高级一点的数据库,以mysql数据库为例。

1. 安装mysql数据库,安装过程见附录1
2. 修改configure.properties,修改前备份一下,以防万一。
3. 把第10行db_loader_job=hsql db_修改成:loader_job=mysql
4. 找到# user credentials for DB access(12行)
把下面两项修改成如下:
db_user=root
db_passwd=
5. 保存即可。
6. 把mysql的jdbc数据库驱动复制到shark安装目录的lib/contrib目录下。
7. 在你的mysql数据库中建一个名为shark的数据库
8. 在shark安装目录下运行configure.bat即可,会自动重新建数据库的。
9. 然后就可以运行runALL.bat启动了。
JspCilent工程的启用
每次运行完configure.bat后,都会重新生成sharkworklisthandler.war包,我估计是根据配置,把不同的驱动,jar包copy到一起,


附录1 mysql数据库的安装与配置
MySQL下载

MySQL网址:http://www.mysql.com/
MySQL的下载地址:http://dev.mysql.com/downloads/

Mysql压缩包:mysql-noinstall-4.1.10a-win32.zip 36M 解压即用
Mysql JDBC Driver:mysql-connector-java-3.1.7.zip Java开发用
ems mysql manager2.8 破解版:
http://www.yoryoue.iii-grp.com/Tools/EMS.MySQL.Manager.v2.8.7.3.Pro.rar

配置文件
在系统盘如c:/winnt/下新建一个文件my.ini,内容如下:
[WinMySQLAdmin]
   Server=e:/mysql/bin/mysqld-nt.exe
  
[mysqld]
   basedir=d:/mysql
   datadir=d:/mysql/data
   default-character-set=gbk
  
[client]
   default-character-set=gbk
注意路径要使用正斜杠。
执行命令
加入到Windows的服务中:
D:/mysql/bin> mysqld-nt  -install  
启动、停止mysql服务
D:/mysql/bin> net start mysql
D:/mysql/bin> net stop  mysql
移除mysql服务
D:/mysql/bin> mysqld-nt --remove
移除MySQL前,先停止MySQL服务,最后删除MySQL安装目录即可
Jdbc驱动的使用方法
解压,在目录下找这个文件:mysql-connector-java-3.1.7-bin.jar
这个文件才是真正的驱动包 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值