文档章节

实现表单引擎设计常用的两种设计方案优劣势比较

ccflow-黄志敏
 ccflow-黄志敏
发布于 2018/08/06 15:49
字数 1741
阅读 309
收藏 1

什么是表单引擎

表单引擎是为快速实施项目研发的轻量级表单设计工具。采用表单引擎工具可在不开发和新增加代码的情况下设计出新表单样式,同比程序开发可省掉程序员差不多70%的开发工作量,并且后期维护相对简单,管理方便,管理层也不会再因为项目组成员离职而头大后续的程序移交问题。[引用百度百科<表单引擎>]

当前阶段表单引擎设计的两种设计思想

在表单引擎设计领域主要有两种设计思想:第一种是基于文件设计的,第二种是积极与关系数据库设计。

基于文件设计的:

基于文件设计的思想是,创建表单的时候,首先创建一个文件比如:xxxx.jsp,xxx.aspx,xxx.php 文件。在这个文件上拖放相关的控件,或者加载相关的通用js代码,或者在对字段Input元素做特殊的标记,让表单引擎解析执行。

表单运行时,运行的界面载体是一个Url文件地址,这个地址引用到相关的菜单上去。

 

基于关系数据库设计:

      基于关系数据库设计的组成部分是表单设计器、表单解析执行器、表单模板三部分组成。

     表单设计器,把表单元素都按照关系表存储到数据库里面,每个表单有一个ID,这个表单ID,挂接到表单的解析执行器上,就可以工作。

     表单模板将从表单设计器上设计组件关系存储到数据库中,由各个组件表组成的数据间的关系拼接成表单模板。

     表单解析执行器是将表单模板数据进行解析,将解析后的数据形态以网页的形式展现。

基于文件设计思想的实现过程

基于文件设计思想

 

基于文件设计思想的表单引擎系统,需要由软件开发工作者首先设计好项目需要的网页内容,进行封装和部署后,生成使用者可以编辑的表单结构。因为是定制化开发可满足不同的表单样式、表单模板等的设计,能最大程度的符合企业管理者的需求。

弊端一、文件表单布局排版是固定化的,需要改动就需要联系研发人员进行重新设计页面布局,耗时长。

弊端二、该设计模式不能适用于多种行业的表单需求。如现有的系列OA请假报销等表单文件是不能使用项目管理、公文审批等表单引擎需要的。只能是需要开发者根据后者的表单要求重新研发网页功能,从而导致现有表单系统的不可复用性,以及开发多套表单引擎系统投入的大量的人力研发。

基于关系数据库设计思想实现过程

基于关系数据库设计思想

 

基于关系数据库的设计模式将表单引擎系统封装为一个设计工具,任何需要的表单只需要在该工具上进行拖拽设计即可,拖拽生成表单数据以数据流的形式存放在数据库中,由系统内置的表单解析器解析和展示填写的内容。该过程无须研发人员改动,表单设计人员可随意使用表单设计工具实现目标表单。

弊端是表单展示为统一风格,较为单调。

 

优缺点对比

设计思想

优点

缺点

基于文件设计

灵活、可扩展性高、自由,可以添加样式,

可以添加javascript满足各种各样应用环境需要。

只能由软件开发人员制作、定制化开发。

基于关系数据库设计

面向人群广、

随意修改表单设计、

满足不同行业需求

使用人员不需要编程能力

同一套展示风格

 

如果您想使用基于关系数据库模式的设计,请参考驰骋表单引擎,该表单引擎集成在驰骋工作流程引擎里面,可以单独运行。

 

源代码:http://ccflow.org/download.aspx

在线演示:http://demo.ccflow.org

 

驰骋表单引擎系统介绍

基于关系数据库设计的表单引擎厂家国内较为著名有驰骋工作流引擎,该流程引擎代码完全开发,可在国际开源网站GitHub上下载。驰骋工作流引擎又称CCBPM,不仅有.NET平台下的CCFLOW还有Java平台下的JFLOW,另有单独的移动端系统可以和微信、钉钉进行集成,实现了移动办公。

    驰骋工作流引擎的表单设计引擎有两种设计风格,第一种为系统内置的固定格式的傻瓜表单设计器,第二种为用户自定义展示的自由表单设计器。展示风格如下:

傻瓜表单设计器

 

自由表单设计器

 

两种设计器均采用同一套表单设计组件,组件中设计了基础组件、流程组件、移动端组件三种。根据需要实现的流程功能和表单功能以及表单展示的载体的不同,自定义拖拽使用即可。设计过程完全脱离软件开发人员,只要具备操作电脑的基础知识的人员都可以进行设计和使用。

 

驰骋表单引擎相关的表结构

流程数据表,以WF_开头。

系统数据表,以SYS_开头。

组织结构表,以PORT_开头。

权限管理表,以GPM_开头。

流程节点相关表,以ND开头。

重点表结构有:

WF_WorkFlowDeleteLog
WF_TransferCustom
WF_Track
WF_Task
WF_SQLTemplate
WF_ShiftWork
WF_SelectAccper
WF_ReturnWork
WF_RememberMe
WF_PushMsg
WF_NodeToolbar
WF_NodeSubFlow
WF_NodeStation
WF_NodeReturn
WF_NodeEmp
WF_NodeDept
WF_NodeCancel
WF_Node
WF_LabNote
WF_HungUp
WF_GenerWorkFlow
WF_GenerWorkerlist
WF_FrmNode
WF_FlowSort
WF_FlowNode
WF_FlowFormTree
WF_Flow
WF_FindWorkerRole
WF_Emp
WF_DirectionStation
WF_Direction
WF_DeptFlowSearch
WF_Cond
WF_CHEval
WF_CH
WF_CCStation
WF_CCList
WF_CCEmp
WF_CCDept
WF_BillType
WF_BillTemplate
WF_Bill
WF_AccepterRole
Sys_WFSealData
Sys_UserVar
Sys_UserRegedit
Sys_UserLogT
Sys_SMS
Sys_SFTable
Sys_SFDBSrc
Sys_Serial
Sys_RptTemplate
Sys_RptStation
Sys_RptEmp
Sys_RptDept
Sys_MapFrame
Sys_MapExt
Sys_MapDtl
Sys_MapData
Sys_MapAttr
Sys_GroupField
Sys_GroupEnsTemplate
Sys_GloVar
Sys_FrmSln
Sys_FrmRpt
Sys_FrmRePortField
Sys_FrmRB
Sys_FrmLink
Sys_FrmLine
Sys_FrmLab
Sys_FrmImgAthDB
Sys_FrmImgAth
Sys_FrmImg
Sys_FrmEvent
Sys_FrmEleDB
Sys_FrmEle
Sys_FrmBtn
Sys_FrmAttachmentDB
Sys_FrmAttachment
Sys_FormTree
Sys_FileManager
Sys_ExcelTable
Sys_ExcelSheet
Sys_ExcelFile
Sys_ExcelField
Sys_EnVerDtl
Sys_EnVer
Sys_EnumMain
Sys_Enum
Sys_EnCfg
Sys_DocFile
Port_StationType
Port_Station
Port_EmpStation
Port_Emp
Port_DeptStation
Port_DeptEmpStation
Port_DeptEmp
Port_Dept
GPM_UserMenu
GPM_StationMenu
GPM_PerSetting
GPM_Menu
GPM_GroupStation
GPM_GroupMenu
GPM_GroupEmp
GPM_Group
GPM_EmpApp
GPM_AppSort
GPM_App

 

© 著作权归作者所有

共有 人打赏支持
ccflow-黄志敏

ccflow-黄志敏

粉丝 3
博文 23
码字总数 13776
作品 0
济南
程序员
私信 提问
加载中

评论(2)

s
suzyintelligent
高手的见解果然高
ccflow周朋
ccflow周朋
写的不错。
Fixcel电子表单——表单设计器

概述 表单设计器用于设计业务所需的表单模板或报表模板。 采用与Office Excel的类似的界面显示、编辑方式和、操作方式等,让设计人员更容易地接收和掌握设计器的使用,降低培训难度。 主要功...

彭博
2012/03/09
1K
0
1、MySQL数据库基本介绍

一、MySQL概述 MySQL是关系型数据库、与其他数据库相比虽不完美,却足够灵活,能够适应多种环境,例如LAMP架构和LNMP架构的web应用。。同事也可以嵌入到应用程序中,也支持数据库仓库、内容索...

CARYFLASH
2017/11/14
0
0
aspx页面集成工作流引擎api

最近用户在做工作流系统的集成时,总会要求快速的集成到用户的应用系统。 一般一个成熟的工作流软件产品,会有流程设计器,流程引擎,表单设计器,流程管理中心。在流程管理中心能可视化给业...

长平狐
2012/10/11
129
0
以Model为核心的表单设计器的思路

在之前的文章中介绍过一些表单设计器的思路和想法。在上一篇文章:零代码平台实现中说到我要实现一个功能强大的表单设计工具。经过几天思考,觉得以Model为核心去实现表单设计器思路既简单也...

王二狗子11
2018/01/01
0
0
工作流系统在OA系统中应用

回忆起10年前工作流引擎的应用,感觉历历在目啊!当初公司接了一个项目关于公文流转的管理系统,一开始客户就跟我画了十多张业务流程图,用Visio制图工具进行描述,其实业界通用的Rational ...

长平狐
2012/10/11
213
1

没有更多内容

加载失败,请刷新页面

加载更多

vue 对对象的属性进行修改时,不能渲染页面 vue.$set()

我在vue里的方法里给一个对象添加某个属性时,我console.log出来的是已经更改的object ,但是页面始终没有变化 原因如下: **受现代 JavaScript 的限制 (而且 Object.observe 也已经被废弃),...

Js_Mei
今天
1
0
开始看《Java学习笔记》

虽然书买了很久,但一直没看。这其中也写过一些Java程序,但都是基于IDE的帮助和对C#的理解来写的,感觉不踏实。 林信良的书写得蛮好的,能够帮助打好基础,看得出作者是比较用心的。 第1章概...

max佩恩
昨天
12
0
Redux 三大原则

1.单一数据源 在传统的MVC架构中,我们可以根据需要创建无数个Model,而Model之间可以互相监听、触发事件甚至循环或嵌套触发事件,这些在Redux中都是不被允许的。 因为在Redux的思想里,一个...

wenxingjun
昨天
8
0
跟我学Spring Cloud(Finchley版)-12-微服务容错三板斧

至此,我们已实现服务发现、负载均衡,同时,使用Feign也实现了良好的远程调用——我们的代码是可读、可维护的。理论上,我们现在已经能构建一个不错的分布式应用了,但微服务之间是通过网络...

周立_ITMuch
昨天
5
0
XML

学习目标  能够说出XML的作用  能够编写XML文档声明  能够编写符合语法的XML  能够通过DTD约束编写XML文档  能够通过Schema约束编写XML文档  能够通过Dom4j解析XML文档 第1章 xm...

stars永恒
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部