CN101847142A - 基于数据表模型封装的网页开发方法 - Google Patents
基于数据表模型封装的网页开发方法 Download PDFInfo
- Publication number
- CN101847142A CN101847142A CN200910048162A CN200910048162A CN101847142A CN 101847142 A CN101847142 A CN 101847142A CN 200910048162 A CN200910048162 A CN 200910048162A CN 200910048162 A CN200910048162 A CN 200910048162A CN 101847142 A CN101847142 A CN 101847142A
- Authority
- CN
- China
- Prior art keywords
- data
- xml
- stream
- database
- web page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于数据表模型封装的网页开发方法,包含如下步骤:封装数据库操作,数据引擎以ADO方式与数据库连接,封装所有数据库操作,形成数据流;处理具体数据,Table Resolver类模块接收从ADO数据引擎中传输出来的数据流,Table Resolver类模块与数据库中的每张数据表一一对应,并与指定的DataXml文件相结合,形成带数据的XML流;产生Web Page能够调用的Xml流,XML DataSet指定对应表单的Module XML文件,调用带数据的Xml流,将带数据的Xml流与Module Xml文件相结合,产生Web Page能够调用的Xml流;XSlt模板与该Web Page能够调用的Xml流组合,形成对数据库的操作功能。
Description
技术领域
本发明涉及网络传输方法,尤其涉及一种网页开发的方法。
背景技术
随着互联网技术的不断发展,目前用来开发信息业务管理系统(包括管理信息系统MIS,客户管理系统CRM,企业资源管理系统ERP等等)的开发方法已经有基于浏览器/服务器架构(Browse/Server,简称BS架构)的方法,该方法最核心的开发内容就是数据结构和数据库定义以及业务逻辑,而其中,业务逻辑的展现都是通过超文本传输协议(http)展现给客户端的,这就需要我们要花很多时间来解决网页的客户端展现问题,使得开发人员的大部分的精力无法放在核心的数据库结构设计和业务逻辑方面。
可见,业界存在着一种技术需求:提供一种网页开发的方法,使得网页的客户端的展现可配置化、模块化,并实现高度的扩展性。
发明内容
本发明的目的是提供一种网页开发方法,解决现有技术的缺陷,使得网页的客户端的展现可配置化、模块化,并实现高度的扩展性。本发明的技术方案如下:
一种基于数据表模型封装的网页开发方法,包含如下步骤:
封装数据库操作,数据引擎以ADO方式与数据库连接,封装所有数据库操作,形成数据流;
处理具体数据,Table Resolver类模块接收从ADO数据引擎中传输出来的数据流,Table Resolver类模块与数据库中的每张数据表一一对应,并与指定的DataXml文件相结合,形成带数据的XML流;
产生Web Page能够调用的Xml流,XML DataSet指定对应表单的Module XML文件,调用带数据的Xml流,将带数据的Xml流与Module Xml文件相结合,产生Web Page能够调用的Xml流;
XSlt模板与该Web Page能够调用的Xml流组合,形成对数据库的操作功能。
本发明的优点是:
1.数据层与显示层分离:在数据层,数据以XML(eXtensible Markup Language,可扩展标识语言)的形态存在,显示层采用XSLT(EXtensible Style Language Transformation,可扩展样式表语言翻译)将数据层的XML转化为HTML(Hyper Text Mark-up Language,超文本标记语言)显示给用户,数据层没有HTML代码,仅仅包含业务逻辑。
2.基本操作的封装:封装了数据列表、查询、新建、修改、删除等基本的操作,如果仅仅是基本的操作,几分钟就可以快速开发出来。
3.多数据库平台支持:以目前开发环境经常使用SQL Server和Oracle作为数据库平台,此外,还有其他数据库平台,需要使用每种数据库所支持的SQL和函数都有所不同,系统针对这些进行了封装,只要调整一下系统配置的参数,即可切换数据库,而无需修改程序。
4.插件式编程:利用C#的Attribute的强大功能,系统可以开发了大量的插件模块,插件功能可以使程序功能高度模块化,也给系统本身带来了强大的扩展性,以前不支持的功能,今后也可以通过插件来补充。
5.开发式的接口模式:由于系统内部的数据流全部采用XML格式,这样,在和其它系统进行数据交换时,就可以非常方便的使用http获取xml数据流的方式进行各系统之间的数据交换。
附图说明
下面结合附图,通过对本发明的具体实施方式的详细描述,将使本发明的技术方案及其他有益效果显而易见。
图1为本发明的整体流程图;
图2为本发明方法的数据处理流程图。
具体实施方式
为了更进一步了解本发明的特征,请参阅以下有关本发明的详细说明与附图,然而所附图式仅提供参考与说明之用,并非用来对本发明的保护范围加以限制。
如图1和图2所示,ADO数据引擎106以ADO方式实现与数据库101的连接,并对所有的数据库操作执行封装步骤201,形成数据流110。Table Resolver107是与数据库101的表单对应的处理具体数据的类模块。每张数据表都有一个对应的TableResolver类模块,在Table Resolver107中将指定对应表单的Data Xml文件,这样从ADO数据引擎106中选取出来的数据就和Table Resolver107中指定的DataXml文件相结合,形成带数据的XML流112,如图2的步骤202所示。
Data XML102中的每个文件实际上是后台数据库表的一张表的说明。它被Web Page109和用户界面105的显示层XSLT模板104共同调用,具备了数据和显示双重功能。因为是数据和显示都共享Data XML,所以,在开发的时候只要维护这一份XML,就可以了。这样做也使得开发程序变得更加便捷。
在Data XML102中,通过TableName、tk:FieldName、tk:DisplayName、tk:Length、IsKey、DataType、IsEmpty等标签,为本方法提供了必要的数据信息,本方法通过这些信息,自动给相关的属性赋值,添加相应的数据校验等等,大大降低了代码量。
同时,在DataXML102中,通过TableName、tk:FieldName、tk:DisplayName、tk:Display、tk:Extension、tk:Insert、tk:Update、tk:Detail、tk:List、HtmlCtrl等标签,为XSLT模板104提供了足够多的显示信息。XSLT模板104通过分析此XML,自动生成Insert、Update、Detail和List的界面,除非有特殊需要,通常情况下,XSLT模板104无需写任何代码,就可以完成显示。
程序与显示共享,是本发明方法的最重要的特点。同时,Data XML102仅仅对应于数据库101中的一张表,缩小了程序的粒度,提供了一个比较粗放的OR Mapping(对象-关系映射)结构。
XML DataSet 108是用于指定对应表单的Module XML 103文件,同时调用Data Xml 102与TableResolver106相结合的带数据的Xml流112,准备与Module Xml103文件相结合产生Web Page 109能够调用的Xml流113,如图2的步骤203所示。
Module XML103是为系统注册的XML DataSet 108服务的。它的每个文件实际上就是一个功能的说明。它同时被WebPage109和界面显示层XSLT 104共同调用,即其具备了数据和显示双重功能。因为数据和显示的配置都共享Module XML103,所以,在开发的时候只要维护这一份XML,就可以了。这样做也使得开发程序变得更加便捷。
Module XML103的tk:DataSet标签注明了将使用哪一种注册的XML DataSet 108,相应的DataSet就会读取Module XML103中的信息,然后产生相应的行为。由于XML DataSet108各自具有不同的功能,其复杂度也各不相同,所以每种XML DataSet108对Module XML103的格式要求也不一样。这就造成了ModuleXML103非常复杂,在不同的XML DataSet108下有不同的格式。
同时,在Module XML103中,通过tk:Resolver、tk:Xml、Style、List、DetailList、Main、Type等标签,定义了每张表是否需要显示,以及显示的格式。这样XSLT模块104通过分析此XML,自动组合出所需要的界面。
Module XML103就是通过组合Data XML102以及Table Resolver108来形成各种简单或者复杂的功能。本发明方法已经提供了十种左右的模型,涵盖了常用的Web开发模式,它们可以供组合。此外Module XML103也是程序与显示共享,加之相关的XML DataSet108经过精巧的设计,所以在功能方面,无需编程,仅仅通过配置相关的Module XML103就可以完成功能。
当Web page109需要请求对应的数据表中的数据的时候,软件根据用户请求的页面的数据表单,将对应的数据表数据选取出来,和对应表单的Data XML103文件结合形成带数据的XML流,然后将和对应的XSlt模板104中的文件结合,就会形成基本的List,Insert,Edit,Detail等基本的Html文件,如图2的步骤204所示,最后由浏览器展现给终端用户。同样,用户发送的新增、修改、删除表单数据的请求,将由浏览器把用户更改的数据组合为XML流,交由底层的数据引擎,数据引擎根据Data XML 103文件将具体的数据进行分解,最后形成数据库的增删改动作,实现对数据库的操作。
Claims (2)
1.一种基于数据表模型封装的网页开发方法,其特征在于,包含如下步骤:
封装数据库操作,数据引擎以ADO方式与数据库连接,封装所有数据库操作,形成数据流;
处理具体数据,Table Resolver类模块接收从ADO数据引擎中传输出来的该数据流,该Table Resolver类模块与该数据库中的每张数据表一一对应,并与指定的DataXml文件相结合,形成带数据的XML流;
产生Web Page能够调用的Xml流,XML DataSet指定对应表单的Module XML文件,调用该带数据的Xml流,将该带数据的Xml流与Module Xml文件相结合,产生Web Page能够调用的Xml流;
XSlt模板与该Web Page能够调用的Xml流组合,形成对数据库的操作功能。
2.如权利要求1所述的一种基于数据表模型封装的网页开发方法,其特征在于,该对数据库的操作功能为如下之一:新增、修改、删除表单。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910048162A CN101847142A (zh) | 2009-03-25 | 2009-03-25 | 基于数据表模型封装的网页开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910048162A CN101847142A (zh) | 2009-03-25 | 2009-03-25 | 基于数据表模型封装的网页开发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101847142A true CN101847142A (zh) | 2010-09-29 |
Family
ID=42771765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910048162A Pending CN101847142A (zh) | 2009-03-25 | 2009-03-25 | 基于数据表模型封装的网页开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101847142A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101980205A (zh) * | 2010-11-04 | 2011-02-23 | 上海银杏界信息科技有限公司 | 通用页面的生成方法 |
CN103379127A (zh) * | 2012-04-12 | 2013-10-30 | 阿里巴巴集团控股有限公司 | 服务器与客户端间的数据交互方法及装置 |
CN104866516A (zh) * | 2013-09-27 | 2015-08-26 | 查平 | 多用途信息分享系统 |
CN105404692A (zh) * | 2015-12-18 | 2016-03-16 | 深圳中兴网信科技有限公司 | Web页面的生成方法及生成装置 |
CN107818157A (zh) * | 2017-10-31 | 2018-03-20 | 北京酷我科技有限公司 | 一种基于fmdb的sql语句封装方法 |
-
2009
- 2009-03-25 CN CN200910048162A patent/CN101847142A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101980205A (zh) * | 2010-11-04 | 2011-02-23 | 上海银杏界信息科技有限公司 | 通用页面的生成方法 |
CN103379127A (zh) * | 2012-04-12 | 2013-10-30 | 阿里巴巴集团控股有限公司 | 服务器与客户端间的数据交互方法及装置 |
CN103379127B (zh) * | 2012-04-12 | 2016-08-17 | 阿里巴巴集团控股有限公司 | 服务器与客户端间的数据交互方法及装置 |
CN104866516A (zh) * | 2013-09-27 | 2015-08-26 | 查平 | 多用途信息分享系统 |
CN104866516B (zh) * | 2013-09-27 | 2019-10-22 | 查平 | 多用途信息分享系统 |
CN105404692A (zh) * | 2015-12-18 | 2016-03-16 | 深圳中兴网信科技有限公司 | Web页面的生成方法及生成装置 |
CN105404692B (zh) * | 2015-12-18 | 2019-08-30 | 深圳中兴网信科技有限公司 | Web页面的生成方法及生成装置 |
CN107818157A (zh) * | 2017-10-31 | 2018-03-20 | 北京酷我科技有限公司 | 一种基于fmdb的sql语句封装方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102541541B (zh) | 界面生成方法和装置 | |
US6748569B1 (en) | XML server pages language | |
CN105426394B (zh) | 基于跨平台的移动报表生成方法和系统 | |
CN101847100B (zh) | 扩展软件应用的方法和装置 | |
CN102163233A (zh) | 一种网页标记语言格式转换方法及系统 | |
CN106874388A (zh) | 一种基于关系型数据库的异构系统数据级联操作自动构建方法 | |
CN102779156B (zh) | 数字化变电站中通信装置的数据库配置方法 | |
CN101815093A (zh) | 一种网页到移动终端的适配方法及移动终端页面适配装置 | |
CN107679071B (zh) | 一种面向关系数据库的通用数据服务定制化封装方法 | |
CN101901431A (zh) | 全组态化电力调度管理信息系统及其架构方法 | |
CN104794147A (zh) | 异构数据库访问方法 | |
CN103092890A (zh) | 报表自动生成及发送的系统及方法 | |
CN103577568A (zh) | 一种跨平台的移动安全综合信息聚合系统及其方法 | |
CN103853543A (zh) | 一种应用于企业信息系统开发过程中快速构建表单的方法 | |
CN103064916B (zh) | EminDI数据整合引擎及报表生成方法 | |
CN101847142A (zh) | 基于数据表模型封装的网页开发方法 | |
CN104317595A (zh) | 基于svg的后台推送的组件化图形监控装置及其运行方法 | |
CN103577536A (zh) | 一种模板式网站生成改进系统及方法 | |
CN103164573B (zh) | Pdm管理设计系统 | |
CN102023859B (zh) | 面向数字化研制环境的可靠性维修性保障性软件集成方法 | |
CN107908390A (zh) | 一种WebGIS应用的扩展方法及系统 | |
CN102253986A (zh) | 提高多终端网页显示效果的方法和装置 | |
CN105117555A (zh) | 核电三维设计模型在线浏览系统 | |
CN100433023C (zh) | 绘制原理图设计文件的方法和系统 | |
CN104834715A (zh) | 一种基于部件和容器的网站生成方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100929 |