惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 司徒正美
N
News | PayPal Newsroom
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog
S
Secure Thoughts
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Security Archives - TechRepublic
Security Archives - TechRepublic
博客园 - 【当耐特】
博客园 - 聂微东
S
Securelist
宝玉的分享
宝玉的分享
爱范儿
爱范儿
IT之家
IT之家
T
The Exploit Database - CXSecurity.com
S
SegmentFault 最新的问题
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
AI
AI
Security Latest
Security Latest
博客园 - 叶小钗
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Last Watchdog
The Last Watchdog
月光博客
月光博客
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
Schneier on Security
人人都是产品经理
人人都是产品经理
Webroot Blog
Webroot Blog
Jina AI
Jina AI
阮一峰的网络日志
阮一峰的网络日志
J
Java Code Geeks
N
News and Events Feed by Topic
Recent Commits to openclaw:main
Recent Commits to openclaw:main
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
S
Security Affairs
美团技术团队
Hugging Face - Blog
Hugging Face - Blog
V
V2EX
罗磊的独立博客
Spread Privacy
Spread Privacy
Help Net Security
Help Net Security
T
Tailwind CSS Blog
C
Cybersecurity and Infrastructure Security Agency CISA
博客园_首页
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - chegan

历时半年,我将一个大型asp.net的零代码快速开发平台转成了java 用c#从头写一个AI agent,实现企业内部自然语言数据统计分析(三)--一个综合的例子 用c#从头写一个AI agent,实现企业内部自然语言数据统计分析(二)-数据结构和代码分析方法 用c#从头写一个AI agent,实现企业内部自然语言数据统计分析 像纸质笔记本一样给div,textarea添加行的分割线 基于视图的增删改查操作(颠覆传统思维吧) 恶劣的百度推广人员 javascript实现当前页面截屏 基于数据库的企业级智能表单系统设计(asp.net)-序言 同时运行qq和360的方法(偶然发现的) http编程中的get和post混合使用方式 使用silverlight构建一个工作流设计器(二十一)-增加标签(下) 使用silverlight构建一个工作流设计器(二十)-增加标签(上) 自贺获得DEV-WOW 2009微软开发者大赛开发奖 使用silverlight构建一个工作流设计器(十九)-规则与活动的交点的平滑移动 使用silverlight构建一个工作流设计器(十八)-持久化数据到数据库—服务器段功能实现 使用silverlight构建一个工作流设计器(十七)-持久化数据到数据库—设计webservices接口 使用silverlight构建一个工作流设计器(十六)-持久化数据到数据库—数据库结构 抛论妄自菲薄与夜郎自大之砖,引国家软件发展道路之玉
基于数据库的企业级智能表单系统设计(asp.net)-架构
chegan · 2013-03-17 · via 博客园 - chegan

接上一篇 基于数据库的企业级智能表单系统设计(asp.net)-架构

这里只讨论和表单有关的架构,工作流以及系统基础架构部分不在本文内。

智能表单系统包含以下几个大的部分:

  •  表单设计器
  • 表单引擎
  •  数据引擎
  • 统计引擎
  • 项目源代码
  • 基础数据库

如下图所示:

 

2.1表单设计器的作用:

l         提供基于web方式的所见即所得的可视化表单设计器。

l         提供系统内置的各种类型的控件,例如文本框,下拉框,子表等。

l         提供字段属性设置。

l         提供表单属性设置。

l         提供权限配置。

l         提供样式设计器。

2.2数据引擎的作用:

l         根据用户通过表单设计器设计的表单来自动生成对应的后台数据库表(包括多种数据库的实现)

l         用户通过表单设计器进行的修改同步到后台数据库中。

l         作为数据提供者使用,用以和数据库进行数据库交换。

2.3表单引擎的作用:

l         将用户设计好的表单转化成asp.net源代码文件保存。

l         将asp.net格式的表单文件转化成表单设计器可以读取的格式后,以web方式展现给客户进行设计修改。

l         在vs.net中,表单引擎将控件转化成vs.net可以理解的格式,这样客户可以在vs.net中进行二次开发工作。大大减少学习成本,提供工作效率。

l         用户通过浏览器访问智能表单时,表单引擎参与解析,并生成相应的html代码返回给客户。

l         控制表单权限。

l         记录表单操作日志。

2.4统一入口

统一入口为用户提供了简单的方式来访问系统表单,而将复杂的运算放到后台系统自动处理。用户访问只需要提供针对某个表单的参数即可。主要包括两个参数:

l         表单ID。用以确定用户访问那个表单,是用户在设计保单后保存的一个系统的唯一值。

l         记录ID。用以唯一确定访问那条数据。

对于智能表单的访问分为几种模式:

l         访问列表:对于访问某个表单的数据列表,用户只需要传递一个表单ID的参数即可,系统将返回这个表单的记录(表单引擎会根据权限进行判断和过滤数据)。

l         新增记录:用户需要传递表单ID和一个值为空字符串的记录ID,系统将返回这个表单新增记录的界面。

l         修改记录:用户需要传递表单ID和记录ID,系统将返回这个表单修改记录的界面。

2.5基础数据库

基础数据库为用户提供表单配置的相关信息,以及保存用户的表单记录。主要包含以下部分:

l         表单配置信息表:这个表用来保存用户设计的表单的相关信息,包括表单名称,数据库的表名称,权限信息等等。

l         字段配置信息表:这个表用来保存用户设计的控件的相关信息,包括控件名称,控件在数据库中对应的字段名称,验证信息等等。

l         控件类型表:描述每种控件的类型和作用。

l         数据类型表:一个抽象的字段的数据类型描述,用以在映射到不同的数据库时,自动生成每种数据库对应的字段数据类型。

2.6项目源代码

源代码是一个vs.net的项目,是整个系统的二次开发框架,其中一部分是用户设计的表单源代码文件,用户可以在vs.net中对表单源代码文件做二次开发。项目源代码文件是标准的asp.net文件,这样做的好处是:

l         使用vs.net作为二次开发工具而不是使用自己提供的工具,对于用户来说是一个很熟悉的开发环境,并且vs.net提供的非常强大的功能,远非一般公司可以开发出来的。

l         使用标准的asp.net文件作为表单源代码文件的存储介质,这样可以让用户使用自己熟悉的各种技术,包括html,asp.net,javascript,css等来进行二次开发,大大减少用户的学习成本。

l         因为生成了源代码文件,对智能表单的二次开发基本没有任何限制。

(未完待续)