推广 热搜:   中国  公司  行业  设备  快速  企业  上海  未来  技术 

基于Web的通用查询系统平台的设计与实现

   日期:2024-11-11     移动:http://www78564.xrbh.cn/mobile/quote/23675.html

  摘 要: 研究了目前以及查询平台的发展现状,设计和实现了一种新型的通用查询平台,该平台可以快速构建Web方式的通用查询系统。在设计和实施过程中,充分采用了面向对象的思想和方法。通过综合利用信息技术,保证了该平台可以灵活快速地构建可定制、高推广性、既友好又安全的Web分布式动态查询系统,较大地降低了Web查询系统的开发成本和维护工作的难度。     关键词: 面向对象;Web通用查询系统;分布式

基于Web的通用查询系统平台的设计与实现

   随着Internet应用的不断扩展,许多企业都在努力或已经建造了自己的信息系统。每一个信息系统的开发,都有大量的查询需求。查询功能是信息系统用户使用频率最高的功能,查询功能设计的好坏,不但影响到项目的研发工作量和软件质量,而且关系到用户的满意指数。目前,实现查询功能的方法有很多,最为普遍的设计方法是在管理信息系统中增加1个专用的查询模块,这种做法不仅大大增加了系统开发的难度、降低了开发效率,还给系统的维护带来了难以估计的工作量。现有一些专用工具也为开发者实现查询功能提供了便利,但对普通的操作人员来说,是难于学习和掌握的,无法随心所欲地定制查询。如何才能降低实现的技术难度,达到根据用户的设置动态地改变页面,满足用户的多样性和多变性的查询需求,是需要解决的问题。针对以上问题,本文基于ASP和FLEX技术,结合攀钢ERP和MES以及检化验的归档系统,提出了一种通用动态查询系统平台(PXQueryF)的设计和实现。 1 问题分析   目前攀钢建设有1套面向整个集团的ERP系统、3套MES(近期还有2~3套准备建设)系统和9套检化验系统,为了保证系统性能和数据的完整性,公司提出对这些系统进行集中归档并提供查询,完成两千余张数据表的简单查询和需求不确定的组合查询。由此可见,查询的工作量很大,而且可变性大。如果沿用传统的方式是不能满足需要的,因此,考虑设计一种通用的查询平台,通过简单的勾选配置方式,动态生成查询语句和查询页面,以满足所有的查询功能。   要实现动态生成查询语句和查询页面,首先需要实现供用户选择的表、表的字段等配置功能;其次是根据配置生成查询界面;再根据用户的查询选择生成WHERe子句和排序子句,组织1条完整的SQL语句提交给数据库,并将查询结果展现给用户;最后是对查询页面进行权限管理[1]。 2 系统平台设计与实现   使用B/S模式的信息发布和检索,由于它的简单性、灵活性,越来越得到了广泛的应用。众多的开发工具如ASP、PHP、JSP等,简单易学、功能强大,为各种信息的发布和检索提供了强有力的帮助。在Web环境中实现通用查询系统分为两个方面:(1)前端查询表单。这是一个可交互的主页,用以构成查询界面,用户通过该界面提交查询请求;(2)后端应用服务程序。它处理用户的查询请求,并将处理结果返回给浏览器。本文结合现有的信息技术完成了以下的设计和实现[1]。 2.1 设计目标     查询系统平台的设计目标如下:     (1)该平台需满足对多个项目、多个数据库的管理。     (2)查询方式可以为数据库中的任意表、视图、SQL语句和任意字段的组合,且表名和字段名必须为中文。     (3)用户可以根据需求随意创建查询条件,没有任何限制;系统根据配置项动态生成查询页面,并依据字段类型提供给用户不同的查询方式。     (4)用户输入的查询条件能按语法规则正确地翻译成程序,并返回正确的结果。     (5)对页面进行授权管理。     (6)界面友好、操作方便、查询快捷。 2.2 PXQueryF的体系结构     PXQueryF的体系结构如图1所示,该平台总体采用了3层体系架构:数据库支持层、逻辑服务层、界面交互层。

 

    (1)界面交互层     该层是CS、Html或JSP(ASPX)页面的集合,对用户屏蔽了数据存储及维护。其中配置和权限是使用C#实现的,采用C/S模式,主要为程序员或用户提供查询系统的配置和权限管理;业务前台使用FLEX实现,采用B/S模式,便于系统部署和查询。     (2)逻辑服务层     逻辑服务层实现的是应用服务器(中间层)的功能,自动化处理客户端的请求,实现业务逻辑与提供服务接口的功能,通过数据访问模型间接访问数据库以存储和获取数据。此层主要包括设计模型、Web动态查询模型、接口服务等功能[2]。其中配置应用服务器使用.net实现,采用remonting技术;业务应用服务器通过ASP.net实现,采用Websevice技术。     (3)数据库支持层     该层处理了所有定义的数据集的细节以及与数据库的交互,保证对数据源透明访问。数据库采用2种方式:XML方式和关系型数据库。通常将配置数据和权限数据保存在XML文件中,但也可单独保存在关系型数据库中(如ACESS数据库)及保存在业务数据库中。此外,对重要的数据如权限数据还需进行加密。 2.3 主要技术与实现 2.3.1 大数据访问和导出     构建一种3层客户端/服务器的体系结构,用户可通过Internet浏览企业信息,但是当浏览大量数据库数据时,网络连接常因速度缓慢或因超时而中断。因此,为了避免由于数据整体传送时间过长而导致的断连,为了满足用户浏览数据的局部性要求,将数据化整为零,采用分页技术来加快数据的传输,解决1次访问数据量大的问题。在访问Web服务器时,有2个因素限制了网页的连接时间:一是数据库的查询操作,另一个是网络传输的数据量。在数据库中的查询,可以通过建立索引来解决,例如,书目表可按十大类字段进行索引,这样可大大加快数据库查询速度。为了减少网络传输数据量,采用分页传输的技术,例如,客户端查询出1万条记录可以1次仅传输50条记录,这样可加快网页的连接时间而不会因超时而中断。     对于大量数据导出,不能采取化整为零方式。可以利用EXCEL格式识别的灵活性,通过产生较快的带有格式的网页流(Html流)方式,输出到EXCEL中,实现数据的导出功能。采用这种方式,对100万行10列的数据导出,大约耗时30 s,可以满足普遍的数据导出性能要求。其处理流程图如图2所示。

 

2.3.2 实现Web动态技术     静态网页是设计者做好的固定的网页,不适合通用查询系统要求。动态网页以数据库技术为基础,它不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页[3]。这样可以大大降低网站维护的工作量并可以实现更多的功能。在本方案的实施中采用了FLEX开发工具,通过它可以实现表现层和内容的真正分离,可以把数据巧妙地从任何地方(XML,数据库等)取出并绑定到界面中的元素上[4]。通过读取菜单配置、查询配置、复杂表头配置、数据展示区配置等数据动态生产网页。 2.3.3 复杂表头的配置     在查询系统中,有许多表的表头有多行且之间存在包含关系,在以往的设计中往往采用保存模板的方式,在展示时导入该模板。这种方式存在如性能、用户体验等的不足,在动态网页中尤其明显[5-6]。为克服这些问题且方便程序员或用户使用,本平台提供了模板导入功能。操作人员在EXCEL中做好模板,通过平台提供的工具导入,将表头的所有信息保存在数据库中。在动态产生网页时,可通过算法实现FLEX数据网格的重绘,实现用户的多表头数据查询。 2.3.4 基于配置的定制查询     为了满足系统快速开发,本设计实现了基于配置的查询定制,主要从以下方面实现:     (1)项目配置:该平台实现1个或多个项目建立和集中管理。     (2)数据源配置:完成1个或多个数据源的配置、测试,如图3所示。

 

    (3)表配置:完成表连接、视图、SQL语句的配置。     (4)字段配置:实现字段选择,显示类型,可设置字段的查询条件、冻结、可见与否、只读、排序等,如图4所示。

 

本文地址:http://www78564.xrbh.cn/quote/23675.html    迅博思语 http://www78564.xrbh.cn/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关最新动态
推荐最新动态
点击排行
网站首页  |  二维码  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号