在Web页面中执行Windows程序(转)
在Web页面中执行Windows程序现在许多公司都面临一个难题:如何在Web环境中执行存在的Windows应用程序。这里就介绍实现这个功能的技术,它争取对代
码做最小的改变,完成在Windows环境中应做的一切。
现存的Windows应用程序
这里想要在Web中执行的Windows例子程序是非常简单的,它是用VB编写的,其中有一个表单。运行时,在表单上显示雇员的信
息,这些信息来源于Access数据库的一个表。表单上设有First、Next、Previous 和 Last按钮,从而允许用户浏览记录。同时,
还可以通过按钮Add、Delete 和 Update来改变数据。
这个程序通过一个COM类来与数据库通信,它有下面的方法:
AddEmployee() 在表中添加一个记录,保存新雇员的信息
UpdateEmployee() 更新一个记录
DeleteEmployee() 删除一个记录
GetEmployees() 获取一个雇员的信息
程序正常运行时,浏览器显示如下:
开发Web应用程序
在传统的web应用程序中,大多数的处理都是在服务器端完成的。这里,我们将尝试在客户端做一些处理,以减少服务器上的工
作量。也就是,让客户端完成显示信息的处理工作,并将商业规则和数据库存取留给服务器端。这就象一个n层处理模型。
当用户需要访问另一个不同的数据时,我们也不想从服务器上再调入整个web页面,因此,需要找到一个web客户端在后台与
web服务器交流信息的方法。这个例子中,我们使用了微软公司的XMLHTTP COM对象组件,它是随Internet Explorer 5.0而来
的。当然,也可以编写一个功能类似的Java applet来克服这个局限。
服务器端的代码
让我们从研究VB应用程序的COM类到Web的每一个方法开始,这可以通过编写ASP页面来调用COM类中的每个方法实现
(AddEmployee.asp, UpdateEmployee.asp, DeleteEmployee.asp, GetEmployee.asp)。
明白了这些,就能够在Web中存取COM
类方法了。
ASP页面应该能够接受与COM类一样的参数,这些页面向原始的COM类发送调用。这里主要的区别就是所有的输出是以XML格式
的。我们使用另外一个叫XMLConverter的COM类,转换方法的输出为XML格式。XMLConverter的代码包含在下载文件中,它有一个
函数,能够接受一个ADO记录集做为参数,并且转换为一个XML文档。实现这个目的的函数例子可以从Internet上很容易地找到,比
如:
http://www.vbxml.com/xml/guides/developers/ado_persist_xml.asp
补充:asp教程,技巧与性能优化