|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2005-11-15
欢迎试用并提出宝贵意见。
项目首页:http://sourceforge.net/projects/powerstone/ 下载和使用问题都可以在这里回帖,我会经常来看 svn访问 https://svn.sourceforge.net/svnroot/powerstone CVS已不能访问 (cvs地址为 :pserver:anonymous@cvs.sourceforge.net:/cvsroot/powerstone 密码为空; 选择模块PowerStone315) 目前可用的版本:PowerStone_Workflow_R0.5.1_full2.zip 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
时间:2005-11-15
PowerStone(中文名——磐石)是一个基于Spring、Hibernate及其它若干开源框架和工具的,开放源代码的工作流管理系统;
它实现了工作流管理联盟(WfMC)的Workflow参考模型中的接口1、2和5; 它以开源的工作流编辑器——Enhydra JaWE(http://jawe.objectweb.org)作为流程定义工具。 PowerStone由以下模块构成: 1、工作流引擎:负责解析用JaWE编辑生成的XPDL流程定义文档、调度流程流转、生成任务列表; 2、管理控制台:提供工作流上传、部署、监控等后台管理功能,是一个WEB应用; 3、任务列表:供最终用户使用来处理业务数据、与工作流引擎交互; 4、用户权限系统:一个可替换的用户、权限管理系统,提供了基本的用户数据管理、基于角色的授权与访问控制和多系统单点登录功能。 为什么又要做一个工作流软件? 1、由于工作流管理理论还很不成熟(相对于关系型数据库理论),各家对其理解和阐述五花八门,甚至在一些基本概念上都不统一; 现有的工作流管理软件虽然数量众多,但是根据其理论基础、体系结构、技术实现、适用场景的不同,可以划分成许多分类,彼此之间没有多少相似性; PowerStone的定位是:基于有限状态自动机理论的、采用嵌入式和轻量级架构的、 采用关系数据库存储的(这不是废话,好像确实有人不用数据库存储流程数据)工作流管理系统,适用于面向流程型的应用(不同于OA和一些PDM产品等面向文档型的应用), 典型的应用场景是流程逻辑复杂、多人协作、任务分发方式灵活、应用种类繁多甚至分布式部署, 最典型的属于此类工作流软件的首先要数JBoss下的jBPM(希望PowerStone能够早日取代它); 因此不难看出,此类工作流管理系统的发展趋势是成为SAO体系架构中的调度中心和枢纽,实际上jBPM已经集成了BPEL。 2、基于现有的工作流管理软件开发业务系统还比较难:有的采用了EJB导致系统笨重(难测试、难部署、难移植); 有的没有采用O/R mapping工具或是用了专有O/R mapping框架(比如shark),导致数据库移植困难; 有的不完整,只提供一个引擎,甚至没有任务列表(如OSWorkflow); 有的过于庞大、臃肿,难以修改(比如shark等比较早的)。 (jBPM好像却是比较厉害:)PowerStone采用SpringMVC+Spring+Hibernate的轻量级架构,有较完整的单元测试, 支持所有主流的数据库和应用服务器(实际上只要web服务器就够了),以开源的JaWE作为流程定义工具,有任务列表和可替换的用户权限系统, 嵌入式工作流引擎方便开发(甚至不依赖web容器,可以开发桌面应用和胖客户端)。 3、可以作为类似于Appfuse和Equinox的范例学习使用Spring、Hibernate等开元框架:( |
|
| 返回顶楼 | |
|
时间:2005-11-15
由于PowerStone项目是以开源项目Equinox(https://equinox.dev.java.net/)为基础开发的,所以,如果了解Equinox或AppFuse会对掌握PowerStone很有帮助。通过下列步骤就可以立刻开始体验PowerStone了。
建立环境: 1.安装 J2SE 1.4.2+,设置JAVA_HOME 环境变量指向其安装路径。 2.安装Ant 1.6.2+(就是解压到一个目录),设置ANT_HOME 环境变量指向其安装路径,为了用Ant跑单元测试,Copy WEB-INF\lib/junit.jar to $ANT_HOME/lib。 3.安装Tomcat 5.0.12,设置CATALINA_HOME环境变量指向Tomcat安装路径。这里选择Tomcat只是因为通过ANT任务可以很方便的把应用部署到Tomcat。还在JBoss4.0和Weblogic8.1上测试过。 4.给环环境变量Path的值添加内容;%JAVA_HOME%/bin;%ANT_HOME%/bin;%CATALINA_HOME%/bin 5.安装一个数据库。Hibernate支持多种数据库,但是我们只在MySQL、MSSQLServer(jTDS驱动)和Oracle上测试过。 测试与部署: 1.从http://sourceforge.net/projects/powerstone下载PowerStone最新版本,解压到某个目录,下文用$PS_HOME表示。 2.为PowerStone新建数据库workflow。 3.编辑$PS_HOME/web/WEB-INF/classes下的ps_database.properties,修改配置令其符合你的数据库环境;MySQL4.1和MSSQLServer的驱动程序已经存在于$PS_HOME/web/WEB-INF/lib中,如果用其它种类数据库,拷贝其驱动到$PS_HOME/web/WEB-INF/lib。 4.编辑$PS_HOME下的build.properties,修改Tomcat参数和JDK版本已符合实际环境 5.打开命令行工具,进入$PS_HOME,运行命令ant test,如果不出意外测试会全部通过,此时数据库中所有表已建好。 6.运行命令ant deploy 7.启动Tomcat。 8.Tomcat启动完成以后,运行命令ant test -Dtestcase=InitDreamBikeDriver为系统初始化。 9.访问http://localhost:8080/ps_console,用户名密码均为admin。 |
|
| 返回顶楼 | |
|
时间:2005-11-16
看到同行了^_^
看说明,使用的技术路线跟俺们做的一样哟。研究一下先。 有空大家可以交流哟,我们的产品也是开源工作流,大家可以到http://www.ape-tech.com下载。 随便说明一下,俺们的项目前没有用户权限系统模块。主要是omg模型比较复杂,不知道咋下手。daquan198163可以交流一下这方面的经验么? |
|
| 返回顶楼 | |
|
时间:2005-11-16
stonelu 写道 看到同行了^_^
看说明,使用的技术路线跟俺们做的一样哟。研究一下先。 有空大家可以交流哟,我们的产品也是开源工作流,大家可以到http://www.ape-tech.com下载。 随便说明一下,俺们的项目前没有用户权限系统模块。主要是omg模型比较复杂,不知道咋下手。daquan198163可以交流一下这方面的经验么? 当然可以了 你们的项目我之前就关注过,挺受启发的 |
|
| 返回顶楼 | |
|
时间:2005-11-24
下载量300多了,怎么没人给反馈意见呀同志们?
本人最近忙于找工作,来得少了些,不过有问题我会尽快回复的。 |
|
| 返回顶楼 | |
|
时间:2005-11-24
刚下了下来,按照楼主的说明跑了一下,打开http://localhost:8080/ps_console时出错:
[code:1] HTTP Status 500 - -------------------------------------------------------------------------------- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:279) org.apache.jasper.compiler.TagLibraryInfoImpl.createValidator(TagLibraryInfoImpl.java:649) org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:246) org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:162) org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418) org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483) org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539) org.apache.jasper.compiler.Parser.parse(Parser.java:126) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211) org.apache.jasper.compiler.ParserController.parse(ParserController.java:100) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146) org.apache.jasper.compiler.Compiler.compile(Compiler.java:286) org.apache.jasper.compiler.Compiler.compile(Compiler.java:267) org.apache.jasper.compiler.Compiler.compile(Compiler.java:255) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.powerstone.util.EncodingFilter.doFilter(EncodingFilter.java:50) org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) root cause java.lang.ClassCastException: org.apache.taglibs.standard.tlv.JstlCoreTLV org.apache.jasper.compiler.TagLibraryInfoImpl.createValidator(TagLibraryInfoImpl.java:647) org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:246) org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:162) org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418) org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483) org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539) org.apache.jasper.compiler.Parser.parse(Parser.java:126) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211) org.apache.jasper.compiler.ParserController.parse(ParserController.java:100) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146) org.apache.jasper.compiler.Compiler.compile(Compiler.java:286) org.apache.jasper.compiler.Compiler.compile(Compiler.java:267) org.apache.jasper.compiler.Compiler.compile(Compiler.java:255) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.powerstone.util.EncodingFilter.doFilter(EncodingFilter.java:50) org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) note The full stack trace of the root cause is available in the Apache Tomcat/5.5.8 logs. -------------------------------------------------------------------------------- Apache Tomcat/5.5.8 [/code:1] |
|
| 返回顶楼 | |
|
时间:2005-11-25
同意robbin所说,我下载下来看了一下,代码似乎很单薄,试图在postgres上构建时,始终报错,所以就放弃了,还没有在其他数据库上测试!
|
|
| 返回顶楼 | |
|
时间:2005-11-25
stray 写道 同意robbin所说,我下载下来看了一下,代码似乎很单薄,试图在postgres上构建时,始终报错,所以就放弃了,还没有在其他数据库上测试!
postgres确实还没测过,能否把一些有用的错误信息贴上来 还有就是,你和robbin所说的单薄指的是什么,是里面的内容少吗? |
|
| 返回顶楼 | |
|
时间:2005-11-25
奇怪,刚才还看见robbin他们的留言怎么没了?
|
|
| 返回顶楼 | |






