Shark学习笔记

Shark学习笔记 Shark的版本 现在稳定的版本是1.0版,是在2004年7月以后发布的,因此目前国内还没有人认真的研究其源码。 shark的安装下载地址:http://shark.objectweb.org 在windows平台下,直接点击安装图标,按照提示便可完成安装。在安装过程中需要指定jdk,shark1.0需要jdk的版本为1.4.1或者以上。 Shark的配置如果是使用安装包安装的,可以不用配置就可以运行,如果是用的zip包解压或者copy的,需要配置如下项:在安装路径下有个configure.properties文件,修改里面的jdk_dir=c:/j2sdk1.4.1 为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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值