to AllError(错误大全) 555~,感动的要买手帕了 先行谢过~ 创建新的工作流时,报错主要如下: exception org.apache.jasper.JasperException at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) root cause java.lang.NullPointerException at com.opensymphony.workflow.AbstractWorkflow.initialize(AbstractWorkflow.java:579)调用的JSP页面相关语句如下: Workflow wf = new BasicWorkflow((String) session.getAttribute("username")); long id = wf.initialize("example", 1, null);//此处报错 AbstarctWorkflow.java : public long initialize(String workflowName, int initialAction, Map inputs) throws InvalidRoleException, InvalidInputException, WorkflowException { WorkflowDescriptor wf = getConfiguration().getWorkflow(workflowName);//579行,报错处PS:俺从CVS上下载不了,因为代理服务器的问题
俺现在只是想先入门
问鼎中原那是后话现在只是想弄一个最简单的工作流引擎出来
能将XPDL工作流解释并伺服(我觉得“伺服”比“运行”要贴切些,呵呵,虽然也不太通顺)起来
一些复杂的东西或者功能完善以后慢慢添加to goingon99()
我其实下载了其他的一些源码
比如bonita的
只是感觉全是单个的JAVA文件,数量众多,读起来很麻烦
不知道有没有更短小的,适合初学者的呢
to daquan198163(大权)
呵呵,那个网站俺早先已经放收藏夹里了,很不错
以后会经常光顾的:)
本次转让进行源代码转让,可以签订技术转让合同,让您个人或是企业获得最大的保障,主要的功能介绍如下:
一:流程建模设计器
1.图形化操作,在拖拉中完成流程建模
2.多窗口操作,可同时编辑多个模型文件
3.简洁易用的图形元素
4.用户操作采用简洁、易懂的有向流程图,内部操作采用精确的Petri网模型
5.支持拷贝、粘贴、删除、撤销、重做操作
6.可调整图形元素大小、位置
7.支持各种对齐和布局方式
8.多种活动类型以适应不同的业务处理需求
9.支持十多种流程逻辑关系,描绘各种流程处理逻辑
10.支持对多个人员操作同一个流程活动的人员之间的逻辑关系设计
11.支持子过程设计
12.支持活动块设计
13.支持长事务的设计
14.流程中的参与者支持多种引入方式和各种表达式,可使用任意的用户模块
15.流程所用到的相关数据支持多种引入方式
16.流程所用到的外部应用程序可无缝结合
17.支持流程的权限管理,可使用的任意权限模块
18.基于Petri网理论的模型合法性检查
19.模型文件的图形输出
20.Xpdl模型文件上传、下载 二:引擎功能
1.过程定义的装载和解释
2.过程实例、活动实例的创建:人工创建,自动按条件创建、自动定时创建,自动周期性的创建
3.过程实例的控制,包括运行、挂起、 恢复、终止、强制启动、强制终止
4.活动实例的控制,包括运行,挂起, 恢复,终止、强制启动、强制终止
5.工作项的的控制,包括工作项的创建,运行,挂起, 恢复,终止
6.支持工作项的签收和拒收
7.支持工作项的重分配
8.支持子流程
9.支持活动块
10支持非固定流程的实现,即由上一步流程来指定下一步流程的操作人员
11.支持委托功能,可以在委托的条件下,由委托人来完成工作
12.支持将任务进行指定流向到某一步流程,实现重定位
13.支持长事务处理,具有独到的长事务控制机制
14.与业务应用系统相关的数据的管理和流转
15.与业务应用系统无缝集成
16.能与用户已有的用户管理,权限管理无缝结合
17.流转路径智能化,流程每一步的条件控制,自动判断,自动流转
18.优先级别定义
19.定义文件的上传和下载,发布和取消发布
20.支持多种任务管理,按时间或按条件或周期执行过程或活动的启动与终止操作
21.支持过程或活动执行期间的时间控制,提前预警,到时间强制终止
22.完善的错误处理机制
23.流程与业务操作页面的链接
24.完备的日志服务
25.支持消息服务
26.丰富易用的API接口
三:监控管理
1.基于XML的配置文件的管理
2.运行期实时数据查询
3.支持图形化监控过程实例的运行情况
4.支持图形化控制过程实例的运行
5.支持图形化查看过程实例的详细资料
6.任务管理,包括任务的定义、启动、执行、终止等
7.过程实例、活动实例、工作项的状态控制
8.工作项的重分配
9.流程的重定向
10工作项超时处理
11.运行结束后的各种统计数据
12.图形化再现流程运行过程 四:客户Portal功能
1.不同的用户取得不同的工作项
2.工作项的签收、拒收
3.工作项的执行、提醒
4.竞争工作项的处理
5.图形化的启动过程
6.定时启动过程的设置
7.历史工作项的查询
8.工作项的挂起和恢复
9.用户密码和个人信息的修改
技术特点
整套系统完全基于J2EE,纯JAVA开发。采用面向对象的设计思想,层次化、模块化设计,具有先进的框架设计,使用多种设计模式。具体实现技术包括:Ejb2.0的SessionBean、EntityBean和MessageDriveBean,JMS,XML,JDBC,JavaMail,Rmi/Rmi-IIOP,JAX,JNDI,JTS,Applet,Jsp,JavaBean,扩展了基于ACL的JAAS;Java2D制图、视窗技术等。
完全独立的中间件设计,真正实现装配式软件的理念。
合理的设计框架,使得系统具有很好的可扩充性
引擎内部使用JMS来架构,基于Ejb开发,使系统具有更好的柔性和吞吐量
采用Xml进行数据传递,使系统具有更好的开放性
Java的开发,使系统具有很好的移植性
B/S结构,简单易用,而且维护工作也大大减少
采用视窗技术,使得图形化设计具有更快的速度和性能联系方式:[email protected]
我现在只是想实现部分功能,比如:一个简单的工作流引擎,可以解析工作流流程定义,
估计用到知识点:
1、XPDL,XML解析(用来根据用户当前的状态切换到正确的工作流称位置上,当然,可以简化的输出:当前环节)
2、JSP,Servlet(工作流与用户交互页面)
3、JMS,MDB,Session Bean等(对用户的处理进行响应,状态,简单结果保存等等)另外,看了关于XPDL的介绍,我总感觉它最大的作用不过是提供一个流程定义的标准描述
方便不同的工作流产品之间流程定义互用
但对于工作流引擎本身来言,它就是一个类XML的文件,记录了用来描述工作流的各个属性,资源,等等
不知这种看法对否?还望不吝赐教
^_^另外,欢迎新手高手一起补充讨论
有了目标,才可以付诸行动
1.1 信息共享:
1.2 自定义业务流程,提升办事效率:
1.3 支持业务流程的自定义报表系统:
1.4 界面友好,操作方便:
1.5 系统和数据安全性:
二、产品技术优势
2.1 先进的体系架构:
采用B/S(浏览器/服务器)体系结构使得用户只需要通过浏览器即可轻松完成各种信息处理,简单易用,大大缩短了信息系统建立周期,节省管理费用,集中管理、统一维护、分类有序存放信息数据,使得系统维护、升级、扩充更方便,并且可针对集团企业组合和扩展迅速做出相应的系统调整和变化,极大的适应了用户在不同环境和条件下的需求;
2.2 完美的适应性:
开发基于SUN公司的J2EE平台,从而适用于多种操作系统(如:Windows NT/2000、Unix、Linux等)及多种数据库系统(如:MS SQL Server、Oracle、DB2、Sybase及Informix等);
2.3 可靠的群集结构:
针对大型集团企业办公的特点提供了群集构架模式。支持公文、报表在集团各级企业间流转和催办的功能,更加适合办公管理要求,还支持各种群集数据库和分布式数据库结构,保障企业内部的办公更清晰、更顺畅。强大灵活的流程管理功能使企业可以方便地规范内部管理流程;
2.4 模块化结构设计:
能适应企业不同阶段的组织结构或人事结构变化,系统伸缩性好,支持不同规模的用户;
2.5 高度的安全性:
整合了多层次的安全控制方案,消除浏览器自身的诸多不安全因素,用户在浏览器中输入了其无权访问的页面地址,系统将自动注销该用户;系统在登录认证时,仅将用户输入的密码加密后与数据库中的加密密码比较,不提供任何对数据库中的密码提供解密操作的服务,使得系统更加安全可靠;
三、体系结构
从设计到开发完全采用了面向对象技术,整体的架构完全遵循SUN公司的J2EE规范,实际开发中大量采用了JAVA技术,例如:Servlet、Applet、JSP、JavaBean、JDBC Pool、JavaMail等,使得整个体系结构符合知识经济时代信息应用的发展趋势。
采用模型、视图和控制器架构(MVC),模型提供应用业务逻辑(Enterprise Beans类);视图则是其在屏幕上的显示(HTML页面、JSP页面);控制器则是Servlet、JavaBeans类,它用于管理用户与视图发生的交互,采用MVC模型,将逻辑层和表示层分开以后,使得它们各自能够独立的变化。进而使得可维护性、可扩展性及可测试性方面得到很大的改善;通过将控制器和模型代码保持在视图之外,可以动态地决定表示的形式。
四、功能概述
4.1 信息处理
一、 待办事宜
显示系统中各功能模块的最新更新或当前状态,为用户提供一个真正轻松而又有序的工作平台。
二、 工作安排
提供了全功能的私人和团队日程安排。可设置约会、提醒信息、过期是否自动删除,可以按日、按周查看单位内所有员工的工作安排。信息提醒和日程安排公开范围功能使本系统更高效、更易于管理。
三、 工作日志
提供自身工作日志纪录功能,可进行日常办公的工作摘要纪录,并提供强大的检索功能。
四、 档案借阅
提供对收文、发文、会议、传阅、签报、人事及实物案卷和档案完整的检索及借阅管理方案。
五、 资产预约
使你可以更加有效地共享单位的公共资产(如车辆、办公设备、图书等),你可以查询可预约的资产状况,并可跟踪预约的整个审批过程,每一种资产均可设置不同的访问团队,使资产共享局限于特定的团队。
六、 报表填报
根据用户定制的报表与工作流相结合,可以发起流转或提交审批,提供处理状态跟踪查看功能。
七、 我的文档
提供了对在线文档的智能化管理,文档可以分类存放到预定的文件夹中,并可以为每一个文件夹设定可访问团队,确保文档资料的高度安全。
八、 个人设定
提供对个人帐号的维护及个性化设置。
4.2 协同合作
一、 公文处理
二、 会议管理
三、 报表系统
四、 工作流4.3 内部管理
一、 档案管理
二、 资产管理4.4 安全认证
一、 签名认证
二、 控制面板
4.5 信息交流
一、 电子邮件
电子邮件模块允许您从世界的任何一个角落访问您的电子邮件。地址簿包含个人地址簿和单位内员工通讯录,支持收发内外部邮件。
ü 电子邮件接收、发送、回复、保存
ü 支持邮件附件
ü 支持多个外部邮箱帐号
ü 支持内部通讯组的群发
ü 支持文本与HTML两种方式阅读邮件正文
ü 支持邮件的优先级设置
二、 信息系统
提供信息化建设中信息共享方面的一整套应用解决方案。三、 电子论坛
为团队成员远程交流思想提供了一个便捷的平台,用户可以在一个共同的空间里阅读、发布、回答工作中产生的疑问与论点,加强交流。有意可以发邮件:[email protected]
提供在线演示!!谢谢!
功能也不错,扩展起来也方便。呵呵,好东西啊
想先把XPDL是怎么描述定义流程弄清楚然后再看看JaWE源代码XPDL解析等
希望可以消化吸收为己用
此是第一步
摸石头过河^_^
大概内容了解了QUESTION:
一个工作流程定义XPDL文件往往是为多个用户(某些人或者角色)共同使用
那工作流引擎是如何把每个用户的实例(当前状态,历史记录相关数据等等)保存下来,采用何种方式?保存到文件还是数据库?继续看代码
PS:网上下载的Bonita的源代码好像不全,很多接口类都没有源码,晕
前者是比较灵活的一个工作流引擎,缺点是不支持标准的工作流引擎定义(XPDL)
后者是非常小巧的工作流引擎,适合研究先是配置OSWorkflow
用tomcat做服务器,运行到时能运行,但如何改变保存模式,使之持久化到数据库目前有问题
修改配置文件后,好像还是内存保存模式(创建用户可以,下次登陆,用户消失,需要重新创建),当创建新的流程时,报网络适配器链接错误(这个好像是tomcat的DataSource配置问题,几天来,问讯无果,去tomcat一个邮件列表中看到一样的问题,可惜无人知晓,哎~,头痛医头,只好换台计算机试试了)bonita
下载下来后,按照其说明
下载了ant,jonas
编译bonita,其build.xml文件有多处拷贝文件源路径与实际不符错误,导致编译报找不到文件错
其中有一个ow_util_log_core.jar根本就不存在,只好暂时屏蔽编译成功后启动jonas服务却报错退出哎~“守着窗儿,独自怎生得黑”
<osworkflow>
<persistence class="com.opensymphony.workflow.spi.jdbc.JDBCWorkflowStore">
<property key="datasource" value="myjndi"/>
<!--<property key="entry.sequence" value="SELECT nextVal('seq_os_wfentry')"/>
<property key="step.sequence" value="SELECT nextVal('seq_os_currentsteps')"/>-->
<property key="entry.sequence" value="SELECT seq_os_wfentry.nextval FROM dual"/>
<property key="step.sequence" value="SELECT seq_os_currentsteps.nextval FROM dual"/>
</persistence>
<factory class="com.opensymphony.workflow.loader.JDBCWorkflowFactory">
<property key="datasource" value="myjndi"/>
<property key="reload" value="true" />
</factory>
</osworkflow>
myjndi是容器里设的jndi.你没理由不知道吧
ps:osworkflow的流程设计器里错误多多.如果需要图形设计的,还是别用了.不过如果你水平高,
也可以自己改,也不是太难.呵呵.
持久化到数据库,建议用hb的那个东东,很容易就能搞定
osworkflow.xml我是按照其自带文档上说明进行配置的
要比你给出的多许多属性用你的配置后,原来的错误倒是不见了
但报新的空指针错误了
我查了一下源码
WorkflowDescriptor wf = getConfiguration().getWorkflow(workflowName);
此处出错如你所说
我怀疑下载文件的完整和正确性了
555~,感动的要买手帕了
先行谢过~
创建新的工作流时,报错主要如下:
exception org.apache.jasper.JasperException
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
root cause java.lang.NullPointerException
at com.opensymphony.workflow.AbstractWorkflow.initialize(AbstractWorkflow.java:579)调用的JSP页面相关语句如下:
Workflow wf = new BasicWorkflow((String) session.getAttribute("username"));
long id = wf.initialize("example", 1, null);//此处报错
AbstarctWorkflow.java
:
public long initialize(String workflowName, int initialAction, Map inputs) throws InvalidRoleException, InvalidInputException, WorkflowException {
WorkflowDescriptor wf = getConfiguration().getWorkflow(workflowName);//579行,报错处PS:俺从CVS上下载不了,因为代理服务器的问题
example.xml应该是不会错的啊.
算了加我MSN吧,这样发帖都不知道发到什么时候[email protected]
可以去sourceforge下载
上面的那个哥们说的什么
1.过程定义的装载和解释
2.过程实例、活动实例的创建:人工创建,自动按条件创建、自动定时创建,自动周期性的创建
3.过程实例的控制,包括运行、挂起、 恢复、终止、强制启动、强制终止
4.活动实例的控制,包括运行,挂起, 恢复,终止、强制启动、强制终止
5.工作项的的控制,包括工作项的创建,运行,挂起, 恢复,终止
6.支持工作项的签收和拒收
7.支持工作项的重分配
8.支持子流程
9.支持活动块
真是亲切啊,一看就知道他们的确做了一个工作流引擎我们也就两个人做,花了一个月,一套vc的,一套java的
^_^
你可以先用套接字(TCP/IP OR UDP)做个聊天室