|
企业信息门户中信息内容的定制在这篇文章中,我们提出了一种基于浏览器的进行用户信息定制的方法。用户可以在一定的权限许可下,自由定义查看数据的方式。 广告 王海波 耿晖 姜吉发 白硕 祝明发 Wang Haibo Geng Hui Jiang Jifa Bai Shuo Zhu Mingfa (中国科学院计算技术研究所 100080)
(Institute
of Computing E-mail: koala@ncic.ac.cn
AbstractWith the development of Intranet, EIP (Enterprise Information Portal) provides a powerful means for enterprise to promote its productivity. In the common way the EIP is used, EIP provides a uniform interface to every user, which doesn’t distinguish advanced user and ommon user. This paper presents a method to customize the user interface through the browser. User can define the way to view the data under some permission. The EIP will presents different interface for different user, which provides a more flexible means.
Key
words EIP,database view, ASP, 摘要 在信息社会,企业竞争力的提高越依赖于对信息的获取和利用。随着Internet/Intranet技术的迅速发展,通过统一的Web界面,提供企业的信息、业务、组织结构以及相应授权的统一入口、整体形象和集成平台,也就是企业信息门户(Enterprise Information Portal)”,是企业信息化建设的大趋势。在企业信息平台的建设中,用户查看数据的方式受到系统开发时所预先设定的方式的限制。在这篇文章中,我们提出了一种基于浏览器的进行用户信息定制的方法。用户可以在一定的权限许可下,自由定义查看数据的方式。
关键词 企业信息门户 数据库视图 ASP ADO
一、引言
在现代信息社会里,信息是企业(也包括政府机关和教育科研等事业单位)运作的灵魂。在过去,企业的各种信息以及具有信息属性的业务是分散在一个个互不兼容、自成一体的MIS系统或OA系统里面的,好似一个个的信息“孤岛”。随着Internet/Intranet技术的迅速发展,通过统一的Web界面,提供企业的信息、业务、组织结构以及相应授权的统一入口、整体形象和集成平台,也就是企业信息门户(Enterprise Information Portal)”,是企业信息化建设的大趋势。
在企业信息门户建立好之后,用户可以在已定义好的企业信息门户信息结构中进行浏览、检索等操作。用户所能查看到的数据是由系统管理员所定制的。不同的用户所能看到的数据受到用户权限的限制。高级用户能够看到低极用户看不到的信息。但是,用户查看数据的方式都是不能改变的,即在系统建设期间已经由系统管理员定制好了。如果要增加一种查看数据的方式,需要通知系统管理员,由系统管理员来进行有关的操作。这就给系统的维护带来了一定的负担。
在这篇文章中,我们介绍了一种通过数据库视图的方式来进行数据管理的方法。具有一定权限的用户可以通过浏览器自由建立查看数据的视图。不同的用户能以不同的方式看待同一数据。一旦建立好之后,用户就可以反复使用。
二、技术背景
基于浏览器的数据库视图的建立过程中,主要涉及到以下三方面的技术: 2.1 Active Server Page
Active Server Pages(ASP)是服务器端脚本编写 环境,使用它可以创建和运行动态、交互的 Web 服务器应用程序。使用 ASP 可以组合 HTML 页、脚本命令和 ActiveX 组件以创建交互的 Web 页和基于 Web 的功能强大的应用程序。 浏览器从 Web 服务器上请求 .asp 文件时,ASP 脚本开始运行。然后 Web 服务器调用 ASP,ASP 全面读取请求的文件,执行所有脚本命令,并将 Web 页传送给浏览器。由于脚本在服务器上而不是在客户端运行,传送到浏览器上的 Web 页是在 Web 服务器上生成的。所以不必担心浏览器能否处理脚本:Web 服务器已经完成了所有脚本的处理,并将标准的 HTML 传输到浏览器。由于只有脚本的结果返回到浏览器,所以服务器端脚本不易复制。用户看不到创建他们正在浏览的页的脚本命令。
在ASP页面中,服务器端脚本使用VBScript来进行编程。它提供一些内置的对象,这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息。另外,还可以在脚本中创建ActiveX对象来扩充服务器端的功能。 2.2 Activex Database Object
对数据库的操作主要是通过Activex Database Object(ADO)来实现的。ADO对象模型为开发者提供了一种访问数据源的快速且功能强大的方法。它包括以下几种对象:
Connection(连接对象):提供与数据源的连接 Parameter(参数对象):用于存储将被传递给内驻程序的参数。 Command(命令对象):针对数据源的特定的执行命令,它返回一个记录集合。 Error(错误集合和错误对象):当数据源产生并返回了错误时,就会生成错误集合放在错误对象中。 RecordSet(记录集对象):使用记录集对象的字段集合,可以访问记录集合中的单个字段,并可进行修改、删除、更新。 Field(字段对象):用来访问当前记录中指定的字段。
下面我们主要详细讲一下在数据库视图的建立过程要用到的Connection对象、RecordSet对象以及Error对象。 1.Connection对象
Connection对象代表一个与数据源的连接并且允许你执行命令。要执行任何种类的命令,你可以使用Connection对象的Execute方法。如果命令行返回,一个缺省的Recordset对象就被创建并返回。
2.RecordSet对象
如果执行了一个从数据库表中返回数据行的语句,则会返回一个RecordSet对象,来表示返回的数据行。
3.Error集合和Error对象
错误集合属于连接对象。它由许多错误对象组成,一个错误对象对应一个错误。在错误集合中捕获并存储的错误,是由数据提供者发送出来的。
2.3 Document Object Model (DOM)
文档对象模型(Document Object Model)是一套对象层次,包含了网页里所有的对象,这些对象包括段落、图像、标题等等。而这个对象模型则提供了一个层次,使作者可以找到任何一个对象。例如,文档对象包括历史记录、地址以及浏览器等。历史记录是指用户所访问过的网页的集合,地址则是指用户所访问的网页地址URL,浏览器则是指用户所用的浏览器。历史记录、地址和浏览器都是文档所含的对象,而他们也可能包含其他的对象。这样的一个包含层次就是文档对象模型。文档对象模型是由W3C制定的。Internet Explorer和Netscaper Navigator都对它进行了各自不同的实现。文档对象模型可以用来指向网页中的任何元素,这样网页作者就可以根据用户的操作而随意改变任何元素的属性,甚至内容。
三、系统实现
3.1 与数据库建立连接
3.2数据字典的获取
1、 数据库中表和视图的获取
在上面的程序中,将常量adSchemaTables赋给querytype变量。AdSchemaTables是在adovbs.inc中定义的ADO常量。当用这种查询类型调用OpenSchema方法时,返回的结果集中包含有用户创建的表、系统表以及视图。criteria变量用来限制查询结果。它有一个包含4个元素的数组。其中最后一个元素用来指定返回的表的类型。用来返回用户创建的表或视图所对应的值分别是“TABLE”和“VIEW”。在执行语句3后,数据库EIP_database中的所有用户创建的表的信息就可以通过记录集viewRS来访问了。其中viewRS(2)表示取得记录集viewRS从0开始的第2个字段的值,即表的名称。取得视图的操作同样如此,只是把语句2中的“TABLE”替换为“VIEW”。
2、 每一个表中字段名的获取
数据库表的字段名称是通过结果记录集RS的“Name”属性获得的。数据库表的字段总的个数可以通过RS.Fields.Count来获得。
3. 操作界面的设计
这一部分的功能是提供给用户一个的透明的建立数据库视图的界面。用户不需要掌握建立数据库视图所需要使用的SQL语言,只需要在操作界面上进行选择,由脚本自动生成对应的SQL语言来对数据库进行操作。
数据库中的视图是从一个或几个基本表导出的表。通过点击页面上的“增加表”和“减少表”,用户可以动态地定义此次数据库视图的建立需要涉及到几个表。为了记录当前的表的个数,我们在页面中插入了一个“隐藏表单”。它对用户是不可见的,其中保存当前表的个数。在服务器的脚本的执行过程中,根据这一数值来循环产生相应的表。在每一个表中,都包含一个列出数据库中所有表的下拉列表以及当前表中的所有字段名称。在每一个字段名称前有一个“检查框”供用户选择在视图中是否包含此字段。用户可以随时改变所要使用的表,字段名称也随之更新。
数据库视图的建立需要定义各个数据库表字段之间的关联关系或者是某个字段所需要符合的条件。用户可以在页面上通过选择,建立起这满足两方面要求的SQL语句。
由于页面中的表单中的元素是动态生成的,所以不能直接通过表单元素名称来获得对它的控制。因此,在语句1中,通过遍历文档对象模型中的元素来获得每一个元素。在动态生成元素的时候,我们对元素的命名进行了统一的规定,表示字段是否被选中的“检查框”元素都以“option”开始,表示当前被选择表的元素都以“tablename”开始。在语句3、10中分别判断当前的元素是否是这两种因素。如果是的话,就分别添加在“selectsql”字符串和“fromsql” 字符串后面。
4、对数据字典的操作
在接收到有脚本生成的SQL语句后,语句2会对数据库进行操作,创建相应的视图。
2)删除视图
语句2会对数据库进行操作,删除名称为“viewname”的视图
5.对错误的处理
为了处理数据库连接中或是建立数据库视图的过程中可能产生的错误,使用如下的代码段来捕获产生的错误。
四、总结
在我们承担的企业信息平台的建设中,我们采用此方法实现了基于浏览器的用户信息内容的定制。经过实践证明,此方法是切实可行的,并且在企业信息平台中达到了预定的效果。
参考文献: [1] Stephen Walther 著 “Active Server Pages 揭密” 北京希望出版社 2000年1月出版 [2] Greg Buczek, MCSD.MCT 著 “ASP应用开发指南”科学出版社2000年9月出版 [3]萨师煊 王珊 著“数据库系统概论” 高等教育出版社 1991年4月出版 [4] Mark R. Brown, Jerry Honeycutt 著 “HTML3.2开发使用手册”机械工业出版社 1997年12月出版
王海波:Wang Haibo,26岁,男,博士生,当前研究领域为Internet应用软件,现在中国科学院计算技术研究所软件研究室。通信地址:北京2704信箱软件研究室, 邮政编码100080,电话010-62587953。 耿晖:Geng Hui,27岁,男,博士生,当前研究领域为数字图书馆和XML引擎,现在中国科学院计算技术研究所软件研究室。通信地址:北京2704信箱软件研究室, 邮政编码100080,电话010-62587953。
来源:中国科学院计算技术研究所
如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐 jill.jiang@amt.com.cn | 021-51096826-112 | 在线联系 |
|
|
|