文档章节

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

ccflow-黄志敏
 ccflow-黄志敏
发布于 2018/08/06 15:49
字数 1741
阅读 4.1K
收藏 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-黄志敏

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

评论(2)

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

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

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

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

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

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

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

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

王二狗子11
2018/01/01
0
0
推荐一款快速开发平台,web中最好的快速开发平台

力软快速开发平台是力软自主开发的基于SOA面向服务的应用系统开发平台,可以方便快捷的搭建企业、医院、工厂、学校等行业的企业级运营管理平台。平台采用.net.技术架构,webapi服务搭建。 力...

力软信息
2019/02/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

创龙Xilinx Zynq-7000系列SoC高性能处理器开发板的SFP+接口、FMC接口

TLZ7xH-EVM是一款由创龙基于SOM-TLZ7xH核心板设计的开发板,底板采用沉金无铅工艺的6层板设计,为用户提供了SOM-TLZ7xH核心板的测试平台,用于快速评估核心板的整体性能。 SOM-TLZ7xH引出丰富...

Tronlong创龙
11分钟前
32
0
「网易官方」极客战记(codecombat)攻略-地牢-Kithgard 精通-kithgard-mastery

证明你对Kithgard地牢教程的掌握!这是一个可选的挑战关卡,让有经验的编程人员可以跳过早期的地牢关卡。如果你没有使用过极客战记,或没有编程的经验,不要通过本关。 默认代码 # 使用移动命...

极客战记
20分钟前
32
0
如何修复YouTube黑屏视频问题

你有没遇到过这个问题?你会像在大多数晚上一样在YouTube上观看视频,但你所得到的只是黑屏。也许充其量你会得到一个带有声音但没有图像的YouTube黑屏。 这是怎么回事? 您遇到了YouTube黑屏...

每日关联
20分钟前
46
0
jenkins的docker自定义镜像

下载openjdk, maven 等到目录中。 #DockerfileFROM jenkins/jenkins:lts-centosENV JDK=openjdk-13.0.2_linux-x64_bin.tar.gzENV MAVEN=apache-maven-3.6.3-bin.tar.gz# copy the......

杰仪
25分钟前
29
0
阿里11条mysql规范

阿里11条mysql规范 转载 ~时光易逝~ 最后发布于2019-09-11 09:40:09 阅读数 101 收藏 展开 对于阿里的11条规范,虽然平时写sql的时候会注意到,但是还是要记录一下,编写sql的时候要注意,很...

rootliu
26分钟前
28
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部