用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心信息化信息技术

WEB服务器多框架解决方案

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 15:18:21
说明

在一个具体的功能中,Aapp对整个程序流程进行控制。Aapp通过对象关系取得Bfun中的变量值或调用Bfun中的函数。而Cbuf及Dcom中会包含一个完整的服务器端处理流程,AAPP在适当的时候将业务流程控制权交给Cbuf或Dcom,Cbuf或Dcom在流程执行完成之后必须将流程控制权还给Aapp。由于借助了DOM中对象的方法与触发事件,Aapp中可以实现部分数据更新,就象一个C/S中的客户端程序。

如上图,Cbuf与Dcom负担了与WEB SERVER及DATABASE的数据交换工作,使Aapp在第一次被装入后就只需要在客户端浏览器中运行。这样,Aapp中的主要界面就不需要进行刷新,避免了页面刷新时造成的延迟和闪烁问题。而Cbuf与Dcom中可以只根据约定格式返回数据和一个事件触发脚本,数据传输量可以根据需要降到最小,又因为Cbuf与Dcom没有可视界,因此在浏览器中的加载速度也是最快的。另外,Bfun中保存了大部分的函数和变量,即使Aapp的页面需要重载,也只需要重载该页面专用的一部分内容。

4.数据存储格式约定

将数据写入Aapp界面中的方式有两种:

一种是在Cbuf与Dcom定制脚本将数据写到Aapp中;

另一种则是由Aapp中的脚本读取Cbuf与Dcom中的数据再写到自已的界面上。

两种方法最终都要保证Aapp取得程序流程控制权。

当从服务器上取到的数据比较少时(比如出错提出示信息),前一种方法是可行的。但当从服务器取回的是一个数据集合(比如多行的记录集)时,前一种方法会造成控制脚本太长的问题,而且灵活性也不如后一种方法。而且按照各框架的分工,数据的控制功能应该由Aapp去完成。因此后一种方法是数据控制的主要方法,但采用后一种方法必须在Cbuf与Dcom中定义一个数据格式。

在数据量少的时候,可以用变量保存数据,变量名可以在提交URL时定义,也可以使用默认变量名。两种定义方式性能差别不大,具体采用那一种可以根据个人喜好而定。

在数据量比较大时,最常见的情况是在服务器上取回了一个若干行的记录集。这时可以采用表格保存数据。具体格式如下:

假设在提交ASP文件的URL时定义的表格对象名为rsTest,则会返回两个表格对象rsTest和rsTestStru。

RsTestStru用来存放记录集的列属性数据。这个表由固定的五列组成:

1.ID 列顺序号

2.NAME 名称

3.TYPE 数据类型

4.LENGTH 长度

5.PREC 小数位

RsTest用来存放记录集的各行数据。

在DOM中,表格对象的行和列都有属于相应的对象集合。通过指定行和列的序号能够很准确的定位到任何一个数据元素,再结合innerText属性便可以取出想要的数据。但DOM并没有给出对表格元素进行排序及查找的方法,因此我们必须自己编写这方面的函数脚本。

对于实际的WEB-MIS,还要考虑ASP及数据库方面的程序优化问题;一些额外的功能,如打印控制等,仍需要借助ActiveX或Java applet来实现,这里不作讨论。

四、应用实例

本方案在“深圳市自来水公司管理信息系统(SW-MIS)”的“抄表收费分系统”中获得了应用,“抄表数据录入”功能在采用本方案进行优化后,在50个并发用户的测试中达到了不少于10条/(用户*分钟)的录入速度。而且WEB SERVER与SQL SERVER的CPU占用率能够始终保持在10%左右。

上一页  [1] [2] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:45,031.25000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号