用VB构键Internet的应用-
Internet技术的发展为编程人员提供了更广泛的施展身手的空间。早先"Internet应用程序"这个词仅仅只是指一些用FTP协议下载文件或浏览HTML页面的工具,而如今使用Visual Basic,不仅可以为Internet开发应用程序,而且还可以把Internet技术作为一部分融入大型的解决方案中。
今天我们所要讨论的问题是利用Visual Basic创建在面向Internet的应用中起重要作用的ActiveX组件。例如,你所创建的ActiveX控件可以用于HTML页面;你开发的ActiveX文档可以在Internet浏览器中使用并于其他的组件一起和HTML页面集成起来;另外ActiveX代码组件(以前被称为OLE服务器), 可以被部署在客户端或服务器端的计算机上用于后台的处理。
[Internet的开发环境]
Internet是一个使用TCP/IP协议、全球性的非集中管理的计算机网络。如果去掉全球性这一点, 所谓"Internet技术"完全可以和本地局域网中所使用的技术一样。
从一方面来看, Internet技术只是简单地为开发人员提供了另一个施展身手的空间。如果你在和Web连接时使用了ActiveX组件,尽管你具体实现的方法有可能不同,如采用了HTML和VBScript代码以实现安全性或是其他,但是你仍然在调用方法,设置属性,处理事件等等。这样,作为一个VB开发人员所有的知识和技能都被用于了Internet的环境下。
从另外一个方面来看,应用Internet的技术可以使你向一些吸引人的方向延伸你的开发工作。例如将ActiveX组件和Internet技术综合有以下的益处:
更简单的维护---作为Web一部分的组件可以根据需要下载,无须用户运行一个setup程序进行升级;
将功能延伸至Internet---通过通用协议,用户将看不见在Internet和Intranet之间的切换。
Internet客户/服务器
可以借用客户机/服务器的关系来考查Internet的开发环境,客户端和服务器端都可以有"静态的"和"活动的"两种状态。活动的客户机或服务器可以根据其内部状态的改变而动态地运行一个脚本或是改变其行为;而静态的客户机或服务器仅仅只是对外界激励作出反应。
Internet开发包括以下四种情形:
静态的客户机和静态的服务器
静态的客户机和活动的服务器
活动的客户机和静态的服务器
活动的客户机和活动的服务器
静态的客户机和静态的服务器
静态的客户向静态的服务器发送请求,服务器响应该请求并返回一个文件。一旦HTML页面被下载到客户端, 客户机和服务器的连接就终止,直到服务器接受到下一个请求。在使用FTP下载文件或是Usernet阅读新闻时也会发生同样的情形。
结合静态客户机的功能即为用Visual Basic中和Internet技术相关的ActiveX控件创建一个FTP工具,一个Web浏览器或是一个新闻读者等等。这些性能也可以被集成到一个大的应用程序中。
静态的客户机和活动的服务器
假如你正在使用一个静态的客户端, 例如和一个当前应用程序相连接的Web浏览器窗体, 以下载一个HTML页面,上面有文本框以输入查询内容,还有按钮以把用户输入的条目作为一个字符串发送给服务器。当你发送完文本之后,服务器返回一个已定制过的HTML页面-往往是通过调用一个DLL中的函数, 上面有你查询的结果。这就是一个"活动的"服务器的例子, 它自动处理数据并根据条件返回一个定制的结果。
创建活动服务器的途径之一就是通过使用Visual Basic开发的DLL并用Oleisapi2.dll实现访问。Oleisapi2.dll包含在Windows NT Server 4.0之中,是Internet Information Server (IIS)的一种功能,它包括了ISAPI的函数功能集。通过IIS和Oleisapi2.dll, 你可以在Web服务器上部署DLL, 并从客户端使用HTML页面上的信息或调用其方法。
活动的客户机和静态的服务器
当客户机拥有处理能力时称之为活动的客户机。活动的客户机拥有本地处理任务的能力,而不是请求服务器帮助处理。在客户机/服务器应用中,本地处理的能力不仅提高了任务完成的速度,而且减轻了服务器的负担。
活动客户机的情形有很多种。例如,用Visual Basic构建的ActiveX文档几乎可以包括所有传统应用的功能。当你把它放到一个容器中时, 例如Internet Explorer, 你的客户端就完全拥有了传统Visual Basic中所有的动态功能。客户端也可以通过在一个HTML页面中使用VBScript调用ActiveX控件或DLL实现。
活动的客户机和活动的服务器
如果采用活动客户机和活动服务器的模式可以充分发挥优势: 分布式的功能便于扩展,灵活的解决方案可以充分利用系统和网络资源。
在三层结构的客户机/服务器环境中开发部署的应用中,其组件分布于整个网络上, 总起来完成提供用户界面, 实现业务准则和数据访问的功能,而且由于可以充分利用客户端和服务器端的处理能力,可以实现更复杂的数据访问功能。
一个活动的服务器可以负责跟踪客户提交的查询表格,提交查询并返回结果。一个活动的客户机则负责将返回的结果展现给用户, 然后将改变的内容返回给服务