`
jiasudu1649
  • 浏览: 724650 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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
这个文件才是真正的驱动包
分享到:
评论

相关推荐

    JaWE-1.4学习指南

    工作流引擎Shark建模工具JaWE-1.4版本学习指南,正好适合shark-1.1版本,如果你用的是Shark 2.0,那么不适合下载学习!  现在Shark2版本,已经无法使用流程监控工具。Shark1.1是可以的,如果你用JaWE2以后的版本定义...

    GPU Shark v0.12.2.0.zip

    GPU-Shark基于ZoomGPU引擎开发,同样小巧灵便,只有一个绿色的可执行文件,支持AMD Radeon、NVIDIA GeForce显卡,相对于GPU-Z或GPU Caps Viewer不过更侧重于显卡状态的监视,包括核心与PCB温度(包括当前/最低/最高)...

    编译好的c++机器学习库shark4.0

    **C++机器学习库Shark 4.0详解** Shark是一个开源的C++机器学习库,专为高效和灵活的统计建模而设计。它提供了多种机器学习算法,包括监督学习、无监督学习和半监督学习。在4.0版本中,Shark库已经经过了充分的优化...

    Shark

    "Shark"是一款独特的字体设计,它在IT行业中主要用于文本设计、图形用户界面(GUI)以及数字媒体内容创作。字体是计算机用户与界面交互时视觉元素的重要组成部分,它能够极大地影响阅读体验和整体设计风格。 在设计...

    Shark的体系结构分析

    **Shark 体系结构概述** Shark 是一个用于大规模数据处理和分析的系统,它在Hadoop MapReduce的基础上,提供了更高效的数据查询和分析能力,尤其适用于数据分析和数据仓库应用场景。Shark 的名称来源于它是Hive(一...

    shark1.1-2-src

    3. 分布式系统:对于分布式计算感兴趣的开发者,可以从Shark的源代码中学习到如何设计和实现一个高可用、高性能的分布式系统。 4. 教学与研究:Shark 1.1-2的源代码也是教学和研究的理想素材,它为理解分布式数据库...

    Shark恒零基础破解教程

    Shark恒的破解教程是非常良心的,从无到有,一步一个脚印带领你去深入破解技术,这个破解教程不仅教会你如何破解,更教会你为什么这样破解

    Shark 一个模块化、功能丰富的开源C++机器学习库

    2.Shark提供了机器学习和⼈⼯智能领域⼤量的算法,很容易组合使⽤,也很容易扩展。 3.Shark带来了其他同类库所不具有的强⼤算法,⽐如模式识别领域、⼆进制和多类SVM(⽀持向量机)、单⽬标和多⽬标优化等。

    shark 1.1-2-src-2

    通过对这些源代码的深入学习和研究,开发者可以了解工作流系统的设计模式,提升对业务流程自动化理解,并能更好地应用和改进Shark,以满足特定的业务需求。同时,这也是一个学习软件工程实践,特别是大型项目组织和...

    shark1.0的源代码,现在非常难找的资料

    通过分析Shark的源代码,我们可以学习到如何实现一个高效且灵活的工作流引擎,以及如何处理复杂的流程逻辑和状态管理。 XPDL是另一种关键概念。这是一种XML格式的语言,专门用于定义和交换工作流程模型。在Shark ...

    shark工作流实例配置说明

    **Shark工作流实例配置详解** Shark工作流是一个高效、灵活的工作流程管理系统,它用于自动化复杂的业务流程,...在实际操作中,可以参考提供的“shark工作流实例配置说明.doc”文档,结合具体案例进行学习和实践。

    shark恒破解教程两季大全共20集

    shark恒破解教程两季大全共20集,最全最强大的脱壳破解教程 此教程为电子书版

    shark-1.1-2

    shark-1.1-2 是Shark最后的开源工作流源代码,以后再也没有了。学习工作流非常好的资料

    shark恒破解教程(最全版)+附件

    shark恒破解教程(最全版),附件

    shark for root

    尽管如此,对于不熟悉该领域的用户,理解抓包原理和如何有效利用工具仍然需要一定的学习。"shark for root使用说明.doc"文件很可能是对这款工具的详细操作指南,包括如何安装、启动抓包、过滤网络流量以及解析捕获的...

    shark1.1-2安装文件-2

    总的来说,"Shark 1.1-2 安装文件-2" 提供了一个学习和实践软件安装、更新和管理的机会,同时也是一个了解和掌握RAR分块文件处理的实例。对于任何使用和管理计算机系统的人来说,这些都是不可或缺的知识点。

    shark 开发文档 工作流 代码解释

    在本文档中,我们将深入探讨Shark开发中的工作流和代码解释。Shark是一个可能的业务流程管理系统,它允许开发者管理、跟踪以及执行工作流程。本文档主要关注两个关键方面:刷新工作列表和获取工作列表。 ### 1. ...

Global site tag (gtag.js) - Google Analytics