文档章节

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

ccflow-黄志敏
 ccflow-黄志敏
发布于 08/06 15:49
字数 1741
阅读 118
收藏 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-黄志敏
粉丝 2
博文 22
码字总数 13665
作品 0
济南
程序员
加载中

评论(1)

ccflow周朋
ccflow周朋
写的不错。
1、MySQL数据库基本介绍

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

CARYFLASH
2017/11/14
0
0
Fixcel电子表单——表单设计器

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

彭博
2012/03/09
1K
0
2015-2016前端体系技术图谱

2015-2016前端架构体系技术 进入github查看大图 点击查看完整版 一、框架与组件  **bootstrap等UI框架设计与实现 伸缩布局:grid网格布局 基础UI样式:元素reset、按钮、图片、菜单、表单 ...

ouven
2016/01/26
18.2K
43
以Model为核心的表单设计器的思路

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

晨曦之光
2012/03/09
0
0
以Model为核心的表单设计器的思路

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

王二狗子11
01/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

转:XMLHttpRequest2 新技巧

”XMLHttpRequest 的异步调用网上找的例子运行没问题,但稍微改了一点点就报错”InvalidStateError: XMLHttpRequest has an invalid context“。断断续续 搞了3天终于通了,可以接收二进制文...

SamXIAO
22分钟前
0
0
=====D服务器定时任务=====

Linux定时任务 crontab linux系统是有cron这个系统服务来控制的,Liunx系统上包含很多的计划性工作,使用者自己可以设置计划任务,所以linux系统提供了使用者控制计划任务的命令 crontab的启...

覃光林
31分钟前
0
0
xilinx资源

本系列教学视频由赛灵思高级战略应用工程师带领你:从零开始,一步步深入 掌握 HLS 以及 UltraFAST 设计方法,帮助您成为系统设计和算法加速的大拿! http://www.eetrend.com/topics/2018-0...

whoisliang
42分钟前
2
0
企业级开源四层负载均衡解决方案--LVS

网盘链接 企业级开源四层负载均衡解决方案--LVS 本课程将在Linux环境下,学习配置使用LVS,对Web集群和MySQL集群进行负载均衡,并结合利用Keepalived实现负载均衡器的高可用,实现对后端Rea...

qq__2304636824
51分钟前
3
0
Windows上安装Spacemacs

emacs安装 下载地址emacs 安装比较简单,解压后执行\bin\addpm.exe即可 emacs配置 emacs的默认配置文件路径和.emacs.d文件夹都是在Windows主目录下的 C:\Users\Administrator\AppData\Roami...

yxmsw2007
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部