《软件复用技术在Web数据库开发中的应用.doc》由会员分享,可在线阅读,更多相关《软件复用技术在Web数据库开发中的应用.doc(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件复用技术在 Web 数据库开发中的应用 梁玉环,索红光 (石油大学计算机与通信工程学院,东营 257061) 摘 要 :分 析 研 究 Web 数据库应用开发中的典型模式,介绍了利用程序生成技术实现软件复用的原理和方法。结 果表明 可极大地提离开发信 息系统的效率。 关健词: Web 数据库;软件复用;程序生成 Application of Software Reuse in Web Database Development LIANG Yuhuan , SUO Hongguang (Dept, of Computer, Petroleum University, Dongying 257
2、061) 【 Abstract】 This article analyses the lypical mode of Web database development, and introduces the princip 丨 e and method of software reuse technology by procedure build. The result shows it can raise the efficience of information systems development. I Key words 1 Web database; Software reuse;
3、 Procedure build 软件复用技术是提高软件开发效挛的一顼重要技术,它 可分为两大类:合成技术和生成技术生成技术就是利用可 复用的模式,通过生成程序产生一个新的程序或程序段,产 生的程 序可看成是模式的实例 =可复用的模式由两种不同的 形式:代码模式和规则模式。代码模式如应用生成器,可复 用的代码模式就存在于生成器自身 -通过特定的参数替换, 生成抽象软件模块的具体实体。 在开发基于 B/S 结构的信息系统过程中,对于 Web据 库的操作是基础的姐成部分。典型的 Web 数据库访间模式 如图 1 所示: 图 1 Wcbft 据库访问植式 开发这种访问模式的应用程序的主要过程是: (
4、1) 确定待操作数据库的结构信息。数据库可能是已经 建好的, 也可能是自己新设汁的。其结构信息主要是指字段名、数据类型 字符型、 数字型、日期型、布尔型、二进制对象 )、字段大小、非 空限制、默认值、关健宇段。 (2) 设计 Web 页面。豇面中包含与数据库操作无关的和与有关的 两部分。与数据库操作有关的部分是以 HTTP 的表单 实 现,其中包含 、 、 等各个与数据 库字段对应的域 (3) 设计 CGI 程序 (常用的如 ASP、 JSP、 PHP、 Perl)。 该程序的 主要功能可以包括:检査输入错误;判断 http 请求操作类型;生成 SQL 査询并提交数据库服务器执行;根据数据库服
5、务器返回 的搡作 结果形成 Web 页面发送给客户浏览器。基本的数据操作 SQL 査询有 4种:插入新记录 (INSERT)、 修改旧记录 (UPDATE)、 劃除旧记录 (DELETE)和检索特定记录 (SELECT)。 由上述 3 个过程可见,这种类型的程序设计具有很强的 规律性。我们可以通过对几种典型搡作模式的研究,确定代 码模式,然后设计一个程序生成器来实现此类应用程序代码 -246 生成的自动化,达到软件复用的目的。 1 典型的数据库结构与 Web 页面表单 为研究方便,我们设计一个具有典型特征 的簡化的数据 库 mcxid_DB, 其结构定义如表 U 表 1 倚化的数摒库 m dd
6、_DB 结构 字段名 教据赛 5S 字段大小 非空艰制 默认值 ID 数字 T_FLD 字符 50 非空 N FLD 数字 14 0 D_FLD 日期 2002/1/I 对于数据库 moddJB,有的字段是用于辅助操作,如 D 字段用来修改或删除记录时标示记录,本身不出现在 Web 页面中。其它字段均是被操作的对象,相关的 Web 页面格式 及其相应的 HTIC1L 文件内容如图 2、图 3 所示。 作者筒介:粜五环 ( 1970 女,讲师,主研方向:计算机网络和 程序设计 ;索红光,副教授 收稿日期: 2002-020 万方数据 操作的数据库中取出字段名,逐项生成如下格式的代码: 字段名:
7、INPUT type: inpurnamet 字段名 _ 例如在 ASP程序中, Recordset对象包含 Fidds数据集 合,Helds 数据集合中包含 Recorderset 对象的所有 Field 数据 字段对 象。据此我们可以获得数据库中各字段的名字、类型 等信息。取得 model_DB 的字段名的程序段如下: HDu then1 过迪捕助字段 x - x + 1 fld(x) = fnamo End if Next Xallx % 2 CG 丨程序中 SQL 査询代码自动生成 生成 SQL 查询代码要经过 4 个步敗 (1) 利用 REQUST 方法逐项获得各个输入域的值; (2
8、) 根据数据库字段的数据类型生成不同的 SQL 査珣语句; (3) 如果是检索、修改 、删除 搡作还应该为 SQL 语句增加査询条 件 j (4) 执行 SQL 査询 返回执行结果的记录集 由于在 Web 页面中,相应字段的输入域命名方式为 1字 段名 , 各字段名存放在数组 fid 中,因此用 REQUST( “ t” & fld(x)就可以分别取得各输入域的值。由于不同数据类型的 SQL 查询语句语法不同,需要在生成 SQL查询前先获取各字 段的数据类型,然后分别生成 SQL 语句,这可以通过 SELECT CASE 实现 (以 INSERT 语句为例 ): 为 SQL 语旬增加査珣条件
9、(WHERE 子句 )目的是区分操 作的记录,检索可能是满足条件的多条记录,而修改和劚除 往往是一条特定记录,因此必须用记录值唯一的字段来标 志。Access 数据库中,自动编号的 ID 字段就是一个很好的辅 助字段。以 model_DB 为例,在生成 Web 页面时可以用隐藏 输入域保存被操作记 录的 ID 值: 3 代码程序文件的生成 根据以上分析,程序生成器可以生成 3个 CGI(ASP、 JSP、PHP、 Peri)文件: (1) WebM 面文件: index.htm】。 这是用户的输入界面,根据要 进行的操作不同 (检索、修改、删除、录入 )也可以分为 4个独立的文 件,而通过 i
10、ndex.html 进行选择调用; (2) 输入处理与 SQL 査珣生成文件 :这是核心部分,数据库的不 同与搡作要求的不同使得这部分代码的复杂度也有很大差别。如杲 考虑多表情况、多记录情况、主从表情况等等,代码部分需要作根 本的改变,但是其基本原理与基本模式是一致的。 (3) 结果显示与提示文件:用来向客户靖浏览器发送检索操作的 结杲,录入、修改、删除成功与否的提示信息。 代码程序文件 的生成可以采用任何一种程序设计语言, 如 C、 Java、 Delphi、 VB 等,甚至可以是 ASP、 JSP、 PHP、 Perl 等程序。例如可以用 ASP 程序生成 ASP 代码程序,其基 本原理是
11、:利用 File Access 组件在 Web 服务器上新建类型为 asp 的文本文件,然后按照上面介绍的方法,将相应数据库的 字段名作为参数,形成字符串并写到文件牝例如, ASP程 序中生成 HTML 文件首部的程序段如下所示: TestFile = 1,main.asp Set OutfFilcObjcct.CreateTextFileCTeslFile, True, False) D=chr(13): OA=chr(lO) OS=OS & OD & OA & n OS=OS & OD & OA & M OS=OS & OD & OA & S=OS & OD & OA & MWeb tit
12、lcH OS=OS & OD & OA & H Outf.WriteUne OS 结果显示与提示文 件的主要任务是提取数据库脤务器执 行 SQL 査询的操作结果,并形成特定的格式返囬给客户浏览 器。 4 结束语 利用程序生成器可以极大地提高 Web 信息系统的开发效 率,而且当数据库结构发生变化时也能进行快速维护。我们 利用此方法在进行某企业 Intranet 应用系统开发过程中,曾 达到用 3 天时间生成了 5多张报表的录入、修改、删除、查 询 ASP 程序。在生成的基本程序的基础上,根据餺要再利用 FRONTPAGE 或者 DREAMWEAVER 等 网页设计软件进行页 面美化 ,就可以发 布到 Web 服务器上运行,采用这种 代码生 成技术,除了提离开发效率,还能最大限度地减少程 序代码 的错误,并使各模块保持统一的风格。 參考文献 1 武在林,罗晃,玉 #祯 .Web 数据库的 ASP 开发方案 .计算机工程与 科学, 1999,21(1)36-38 2 周新国 .利用 ASP 访问 NT 上的 Web 数据库,计箅机应用研究 ,1999. 21(2);66-68 3 武苍林,罗晃,复威,基干 Intranet 的 Web 数据库发布平台的研究 与实瑰 .计算机工程 +2000,26(2):97-99 247 万方数据