`
eworkflow
  • 浏览: 219361 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

工作流系统集成第三方jsp表单

 
阅读更多

工作流系统集成表单的过程,其实就是一个调用流程引擎api函数的集成过程。

 

工作流引擎只负责抽象的流程的流转,业务模块的实现,是在业务表单中完成。在和工作流系统集成的时候,完成表单提交的同时,再调用流程引擎的api执行流程的流转。

 

通常一套业务系统中,业务模块的实现,体现在一套MVC的框架中,无论是struts,spring,jsf等等都是为实现分层管理的mvc的框架。

 

一个业务功能的实现,在m,v,c这三个层面都有体现,好的mvc框架,能通过简单的配置来达到新增模块,只需要实现v展现层,m层的和数据库的交互。且需要维护的地方很少,集成度越高的框架越接近于自定义表单引擎,类似半自动化的表单系统。

 

无论用那种mvc的框架,在集成工作流系统的时候,流程只负责业务的流转,业务千变万化,业务模块的实现还是不可避免的要自己实现。


当工作流系统集成自定义的表单系统时,自定义表单引擎也会包含一种mvc框架,达到自己的定制实现。只是有了表单引擎+表单设计器,能更快捷方便的实现业务模块。

 

应用自定义表单时,会有很多的优势,只需要通过可视化的编辑设置,就能完成业务模块的实现,达到人机交互。当然也无需重新编译打包,无需发布,就能直接运行了。和工作流引擎的集成也已经做好,只需要通过可视化的功能调用,就能完成了和工作流系统的集成。这些集成的代码已经封装好了,用户只需可视化的设置。无需了解引擎的api功能。

 

工作流系统结合自定义表单系统,可以开放给终端的用户去做可视化的设计流程,定义表单,完成新增业务流程的功能。

当流程引擎集成第三方的jsp表单时,程序员就需要调用流程引擎的api来完成流程的流转功能。


流程引擎对外提供一系列的api,可以读出流程定义文档的整个定义串,得到任意节点信息。通过节点id也能获得节点定义类对象。

 

 

下面是eworkflow工作流系统在集成jsp表单时的调用过程。
为了方便表述,没有使用框架来实现业务模块的提交,只在jsp页面中嵌入java的代码来说明如何调用流程引擎的api。

页面表单中增加隐藏域,保存流程相关的参数。


<form id="frm" method="POST" action="leave_new_submit.jsp" onsubmit="return checkInput()">
<input type="hidden" name="wfName" value="<%=wfName%>">
<input type="hidden" name="wfVersion" value="<%=wfVersion%>">
<input type="hidden" name="wfId" value="<%=wfId%>">
<input type="hidden" name="actionId" value="<%=actionId%>">

<input type="hidden" name="leaveId" value="<%=leaveId%>">

.........

流程名称,版本,流程实例id,动作id,业务表主键id

 


在表单提交的时候
 //获得流程参数
 String wfName = request.getParameter("wfName");
 String wfVersion = request.getParameter("wfVersion"); 
 String wfId = request.getParameter("wfId");
 String actionId = request.getParameter("actionId"); 
 String dynamicId = request.getParameter("dynamicInstanceId");
 
 
  //获得业务参数
 String leaveType = request.getParameter("leaveType");
 String leaveDays = request.getParameter("leaveDays");
 String startDate = request.getParameter("startDate");
 String endDate = request.getParameter("endDate");
 String applyDate = request.getParameter("applyDate");
 String remark = request.getParameter("remark"); 
 

 然后,再先做业务记录的提交。 

     //先做业务记录的保存
     StringBuffer sql = new StringBuffer();
     sql.append("insert into ex_leave_apply");
     sql.append("      (LEAVE_ID");
     sql.append("      ,START_DATE");
     sql.append("      ,REMARK");
     sql.append("      ,END_DATE");
     sql.append("      ,LEAVE_DAYS");
     sql.append("      ,APPLY_DATE");
     sql.append("      ,LEAVE_TYPE");
     sql.append("      ,APPLY_USER");
     sql.append("      ,WF_ID )");
     sql.append(" values ( '" + IDUtils.getEformRecNumNo(env.getCon(),"BBB") + "'");
     sql.append(",'" + startDate + "'");
     sql.append(",'" + remark + "'");
     sql.append(",'" + endDate + "'");
     sql.append("," + leaveDays);
     sql.append(",'" + applyDate + "'");
     sql.append(",'" + leaveType + "'");
     sql.append(",'" + userid + "'");
     sql.append("," + wfId );
     sql.append(")");

     DBUtils.go(env.getCon(),sql.toString());
    
    
再启动流程引擎
执行流程的api,达到流程的流转
     Workflow wf = new BasicWorkflow(userid,env);
     wf.doAction(Long.parseLong(wfId), Integer.parseInt(actionId), inputs);    
   

这样,就完成了一个流程节点的办理,既提交了业务数据,又执行了流程的流转。

 

 

在流程设计器中,节点上挂接jsp表单:



 

 

 


在流程实例运行时,执行到此节点,既打开挂接的jsp表单。



 

 

点击提交后,执行上面的代码过程,达到业务记录的提交,又调用流程引擎的api达到流程的流转。

 

 

 

 

 

 

 


标签: web开发平台, java工作流, 流程设计器, 自定义工作流, web工作流, 自定义表单, 工作流引擎, 工作流软件产品, web自定义表单, 电子表单

  • 大小: 62.7 KB
  • 大小: 21.8 KB
分享到:
评论

相关推荐

    蓝凌系统表单JS大全(持续更新)

    7. **插件集成**:蓝凌系统支持第三方JS库的集成,如jQuery、Vue.js等,可以引入这些库来增强表单功能,如日期选择器、下拉树、多级联动选择等。 8. **错误处理和提示**:良好的错误处理机制是必不可少的,JS可以...

    notadd-neditor-master_jeesite_JSP源码_jsp_

    开发者可以通过查看源码学习如何在JSP环境中集成第三方JavaScript库,以及如何利用Jeesite的框架特性来构建高效的企业级应用。同时,对于熟悉Java和JSP的开发者来说,这是一个很好的实践案例,可以深入了解Web应用的...

    [影音娱乐]泉城JSP播客系统_video.zip

    这可能通过HTTP基本认证、表单登录或基于OAuth的第三方登录实现。Spring Security或Apache Shiro等库可以提供强大的安全支持。 **7. 前端技术** 除了JSP,系统可能还使用了JavaScript库如jQuery或Vue.js,以及CSS预...

    JSP课程设计大全

    开发者需要掌握JSP的EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)来简化页面逻辑,以及使用第三方支付API,如支付宝或微信支付。 6. 论坛系统:论坛系统包含发帖、回帖、用户注册、...

    网上商城系统(JSP+MYSQL).zip.zip

    商城系统通常需要集成第三方支付平台,如支付宝、微信支付,以便用户在线支付。这需要处理支付回调、交易状态同步等问题,确保交易的顺利完成。 10. **权限管理**: 对于管理员和普通用户,系统可能有不同的权限...

    [上传下载]宏软JSP上传系统 v1.0_hrjspup10.rar

    3. **文件上传组件**:实现文件上传功能通常需要借助第三方库,如Apache Commons FileUpload或Java 7及更高版本内置的Part接口。这些组件能处理多部分表单数据,解析文件流,并将其存储到指定位置。 4. **文件管理*...

    泛微OAE8 基础开发五天实战篇.

    实战篇中,可能包括每日一个主题的实践任务,如第一天可能涉及环境搭建,第二天可能深入工作流设计,第三天可能是报表开发,第四天可能关注接口集成,最后一天进行系统测试和部署。 通过这个五天实战篇的学习,...

    java-jsp-upload-and-download.rar_ftp java_ftp jsp_jsp FTP

    Java标准库并不直接支持FTP,但我们可以使用第三方库,如Apache Commons Net,它提供了一个完善的FTPClient类,方便进行FTP操作。在项目中引入该库后,可以创建FTPClient对象,设置服务器地址、端口、用户名和密码,...

    jsp课程设计水果商城

    可能还需要集成第三方支付接口,如支付宝或微信支付。 10. **错误处理与日志记录**:为了确保系统的稳定性和可维护性,开发者需要编写异常处理代码,并设置日志记录,以便于追踪和调试问题。 通过这个"jsp课程设计...

    网页表单中的日历控件

    - 另外,还可以使用第三方控件,如`RadCalendar`来自Telerik,它提供了丰富的功能和自定义选项。 3. **PHP** - PHP本身并不提供内置的日历控件,但可以通过JavaScript库如`jQuery Datepicker`或HTML5的`...

    jsp网上购物教程.。。。。。。。。。

    5. 支付模块:集成第三方支付接口,如支付宝、微信支付等,完成支付流程。 6. 后台管理模块:管理员进行商品管理、订单处理、用户管理等操作。 三、技术选型与框架 开发过程中,通常会结合其他技术和框架以提高...

    基于jsp+servlet+mysql鲜花销售购物商城设计源码案例设计.zip

    在实际应用中,购物商城可能需要集成第三方支付平台,如支付宝、微信支付等,以实现在线支付。这部分涉及与外部API的交互,可能需要用到OAuth、JSON Web Tokens(JWT)等技术。 9. **错误处理与日志记录** 为了...

    JAVA 开发音乐网站(JSP+SERVLET)130222.zip

    【标题】"JAVA 开发音乐网站...同时,对于有经验的开发者,这个项目也可以作为一个起点,进一步优化和扩展功能,例如引入更现代的前端框架(如React或Vue.js)、集成第三方API(如音乐流媒体服务)或实施微服务架构。

    jsp及java的学习指导

    虽然现代开发中常常使用JavaFX或第三方库,但基础理解仍然必要。 3. **Java API**:学习Java的核心API,包括输入输出流、多线程、网络编程和反射注解。反射允许你在运行时检查和修改类的行为,注解则是元数据的一种...

    西安协同软件中间件介绍

    4. **组织机构建模**:支持部门、角色和用户管理,以及与第三方组织结构接口(如DB、LDAP、NDS)的集成。 5. **安全性**:提供安全加密和参与者令牌驱动模型,确保数据安全。 6. **监控与分析**:提供流程动态监控和...

    FCKEditor 2.6 JSP 使用说明(嵌入方法)

    7. **插件集成**: FCKeditor 2.6支持插件扩展,你可以根据需求安装和配置第三方插件,以增强编辑器的功能,例如图片上传、视频插入等。插件通常放在`fckeditor/plugins`目录下,并需要在`fckconfig.js`中注册。 8. ...

    流程设计 开发 向导

    - **基于JBOSS JBPM的系统核心**:该组件是整个工作流系统的基石,负责管理业务流程定义及执行中的业务流程实例,并包含一个任务分配器用于指派任务执行者。 - **客户端组件**:主要包括任务列表、表单播放器以及...

    Springboot +activiti所写的OA系统.zip

    SpringBoot 是由 Pivotal 团队提供的一个用来简化 Spring 应用初始搭建以及开发过程的框架,它集成了大量常用的第三方库配置,如 JDBC、MVC、DataJPA、Security 等,极大地提高了开发效率。而 Activiti 是一个开源的...

    Wrox.SharePoint.Server.2010.Enterprise.Content.Management

    SharePoint 2010 的 ECM 功能不仅限于其内置工具,还包括与第三方应用程序和服务的集成,形成了一个广泛的生态系统。这使得企业可以根据自身需求选择最适合的技术解决方案。 #### 3.3 成功实施 ECM 项目的指导原则 ...

    学生信息管理系统(毕业设计)

    在项目结构上,`web-inf`目录是Web应用的标准组成部分,其中的`lib`子目录存放了所有必需的第三方库文件,如Servlet API、JSTL、Struts2等。虽然原始压缩包未包含这些具体的jar文件,但开发者需要根据项目需求自行...

Global site tag (gtag.js) - Google Analytics