`
kongshanxuelin
  • 浏览: 921544 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

快速实现自定义流程解决方案探讨

阅读更多

这种业务环境很多,比如某集团公司(也是我实际项目中经常碰到的)内部有上千份自定义表单,这类表单中约有70%的表单都是需要走流程的(一般以审批为多),归纳之,基于以下背景:

  1. 流程多,大多流程基于表单的审核
  2. 自定义表单多
  3. 涉及到审批的角色一般来说不是很多,流程一般也比较简单(如分支、合并、条件等)
  4. 不走流程的表单也要进行电子表单录入并归档

根据背景,涉及到的知识点如下:

  1. 工作流引擎:以轻型并且可扩展性佳的工作流引擎为佳,我这里选用的是osworkflow
  2. 自定义表单的实现
  3. 两者结合快速实现流程“从无到有”的建设

我这里给出我的设计思路,欢迎大家拍砖讨论:

  1. 自定义表单前台利用tinymce,自己编写form的Plugin,主要用于完成前台表单的快速可视化自定义,通过DOM对象自定义属性标注各个控件的类型、长度、是否必填项、默认值,支持的控件如文本,日期,数字,下拉框,复选框等,其中下拉框支持动态读取(如部门数据,用户数据等),这个Plugin的编写需要花费一定的时间,这也是obpm开源软件的实现思路,我觉得挺OK的
  2. 自定义表单后台通过JDBC动态建表的方式进行,根据前台tinymce得到的HTML片段可分析出各个控件类型和默认值等属性,作为create table的各个column,每个table增加默认必须的几个属性,如:ID:PK,Title:记录标题,DT:记录录入时间 Author:记录录入者,flowID:工作流ID(如果有的话),这样即可动态create table了
  3. 有了这套自定义表单工具后,需要给他加个通用查询组件,这很Easy,不罗嗦,这样每个表数据就支持查询了
  4. 建立通用的自定义表单查看,编辑,修改操作,通过JS和HTML的完美结合,实现这个也很简单,推荐的js框架JQuery,利用遍历Table的Column方式与js挂钩,即可给展现的页面模板数据填上相应的值
  5. 有了这套自定义表单工具后,创建电子表单的唯一工作量就是在tinymce的HTML编辑器中画电子表单,然后给动态需要输入的地方放入合适的控件即可,一般一个中等难度的电子表单10分钟内搞定
  6. 剩下的是让需要走流程的电子表单和osworkflow结合,流程由osworkflow控制,并结合这套自定义表单,实现流程的控制,这点我代码还在编写阶段,尚未实现,等实现了继续写:)

好了,说了这么多,晚上代码也写累了,睡觉去了,demo到时候等全部写完将一并放出,欢迎大家一起来讨论!

3
0
分享到:
评论
1 楼 daoshang 2009-08-07  
很好的思路,期待中。。。

相关推荐

    流程自定义

    本文将深入探讨如何在ASP.NET环境中实现流程自定义,并结合实际案例进行解析。 流程自定义通常涉及到业务流程管理(Business Process Management, BPM),它允许开发者根据特定业务需求定制工作流,以自动化和优化...

    jbpm流程自定义

    jbpm流程自定义 jbpm(Java Business Process Management)是一个开源的工作流和业务流程管理系统,它允许开发者...同时,jbpm的灵活性和可扩展性使得它可以适应各种业务需求,成为企业级工作流解决方案的首选之一。

    纯js流程图 可自定义 国外技术

    - **svg.js**: 简单易用的SVG库,适合创建轻量级的流程图解决方案。 3. **实现方法**: - **SVG渲染**: 使用SVG(Scalable Vector Graphics)作为图形基础,利用JavaScript操作SVG元素来构建流程图。 - **事件...

    自定义工作流系统的设计与实现

    自定义工作流系统的设计与实现是一项复杂而重要的任务,它涉及到企业的日常运营效率和业务流程优化。本文档将深入探讨如何构建一个高效、灵活且用户友好的自定义工作流系统。 首先,我们需要理解工作流的基本概念。...

    JS实现自定义模板树解析

    JavaScript是一种广泛应用于网页和...通过理解并实践JavaScript的自定义模板树解析,开发者不仅可以提升对前端技术的理解,还能为项目提供更高效、更灵活的解决方案。不断学习和实践,是成为优秀前端开发者的关键步骤。

    自定义表单设计思路.docx

    自定义表单系统的成功设计不仅需要考虑到技术实现层面的挑战,还需要充分理解业务流程的实际需求。通过合理规划功能模块、优化权限管理、提供强大的表单定制工具以及采用分层建模方法等方式,可以构建出既灵活又稳定...

    基于SQL数据库的WinCC自定义报表的设计与实现.pdf

    解决方案: 使用WinCC自带的SQL数据库和VBS脚本语言,实现自定义报表的设计和实现。通过对数据的直接操作和存储,提高报表的灵活性和实用性。 技术实现流程: 1. 报表功能设计:根据用户的需求,设计报表的结构和...

    Arx创建自定义实体

    在AutoCAD平台上,开发者可以利用ObjectARX(Autodesk Reactor Extension)库来创建自定义实体,这是一种基于C++的编程接口,允许程序员深入到AutoCAD的内部工作流程,实现扩展功能和定制化操作。本篇文章将详细探讨...

    开发Microsoft Visio解决方案

    本篇文章将深入探讨如何开发Microsoft Visio解决方案,以及在Visio的二次开发中可能涉及到的关键知识点。 1. **Visio对象模型**:Visio的二次开发主要基于其对象模型,这是一个层次结构的集合,包含了各种图形元素...

    NI 电子半导体解决方案专辑.zip

    6. **软件定义的系统**:NI的解决方案强调软件定义的硬件,这意味着用户可以根据具体应用需求自定义硬件和软件,灵活应对半导体行业的快速变化和技术更新。 7. **系统集成**:在构建芯片划线装置时,NI的开放式平台...

    WF4 自定义容器活动

    WF4(Windows Workflow Foundation 4)是.NET Framework 4中的一部分,它是一个用于构建工作流应用...在WF4中,自定义容器活动是实现复杂业务流程的关键工具之一,它为开发者提供了构建强大工作流解决方案的可能性。

    沙盒解决方案

    在本节中,我们将深入探讨沙盒解决方案的相关概念、实现机制以及其在SharePoint 2010中的具体应用。 #### 二、创建沙盒解决方案 ##### 2.1 创建沙盒解决方案 沙盒解决方案的创建是基于特定的安全约束和环境限制...

    纯java实现的OAuth2流程

    这个框架广泛应用于各种在线服务,如社交媒体、云存储和API接口等。在这个"纯Java实现的OAuth2流程"中,我们将深入...这个实现对于学习和理解OAuth2的底层机制非常有价值,同时也可以作为自定义授权解决方案的基础。

    MapReduce2中自定义排序分组

    在大数据处理领域,Apache Hadoop 的 MapReduce 框架是一个关键组件,它为大规模数据集的并行处理提供了高效且可扩展的解决方案。MapReduce2(也称为 YARN)是 Hadoop 2.x 版本引入的重要改进,旨在解决原 MapReduce...

    构建和实现单点登录解决方案(CAS)

    在本主题中,我们将深入探讨如何构建和实现基于CAS(Central Authentication Service)的单点登录解决方案。 CAS是一个开源的SSO框架,它提供了安全的身份验证服务,使得用户只需一次登录即可访问多个应用。其核心...

    自定义控件书籍

    开发过程中遇到的常见问题和解决方案,以及如何避免常见的错误。 **4.2 关于 eoeAndroid** 介绍了 eoeAndroid 社区的历史和发展,以及如何加入这个社区参与交流和学习。 总结而言,《自定义控件书籍》不仅全面...

    自定义MOSS服务,启动流程

    标题“自定义MOSS服务,启动流程”表明我们要探讨的是如何设计和实现一个自定义服务,该服务能够启动针对特定网站和列表的工作流。 SharePoint工作流是一种自动化业务过程的工具,它允许用户定义一系列的任务和事件...

    android 自定义view 含高级

    本文将深入探讨Android自定义View的相关知识,包括基本原理、常见需求及解决方案、高级用法等。 #### 一、自定义View基础 1. **为什么要自定义View?** - **实现特定功能**:系统提供的控件往往不能满足所有应用...

    易飞系统自定义(画面与报表)及财务报表开发类.rar

    它涵盖了企业的各个业务领域,如生产、采购、销售、财务等,为企业提供了一体化的管理解决方案。然而,为了满足不同企业的独特需求,易飞系统的自定义功能显得尤为重要。本篇将深入探讨易飞系统中的自定义报表开发,...

Global site tag (gtag.js) - Google Analytics