Chia° bocom 第13章组件和网络应用程序结构 前节介绍了如何使用ASP动态地创建网页。ASP脚本能够查看由浏览器传送过来的信息, 动态地创建一个 HTML(或 DHTML)页面送回浏览器。创建这个页面时,我们能获得从数据库 (如 SQL Server或MSDE)中检索的信息,并且把这些信息加到HTML页面中送回浏览器 但是,ASP不仅能够创建动态网页,它还具有将页面组合进网站的能力,该网站具有应 用程序的功能。 Application和 Session对象使应用程序具有状态,允许在对网站的请求之间 甚至在网站的所有用户之间共享消息。这些应用软件包括传统应用程序的所有功能。 建立更大、更可扩展的应用程序时,ASP技术能使建立过程更为简单。如果一个应用程 序真正可扩展,那么就可以用同样的程序处理大量的用户,而且与处理少量用户时的性能相 近。由于网站的建立能够给我们带来收益,所以能支持更多用户意味着有更多的收益。建立 更可扩展的应用程序的关键是用组件构造它们,本章和下面几章介绍如何用组件设计应用程 本章主要内容有 分布式应用程序的结构,包括 Windows dna。 网络应用程序的构成 组件的定义 ActiveX和COM简介。 组件的三种类型和使用原因 使用组件建立网络应用程序。 设计一个基于组件的网络应用程序 下面首先介绍应用程序结构。 13.1分布式应用程序的结构 应用程序设计的一个关键要素是系统结构,系统结构决定了应用程序的各个部分如何进 行交互,同时也决定了每个部分实现的功能。在这个基于网络的世界中,通常在分布式环境 中创建应用程序。实际上,本书中的ASP应用程序就是分布式应用程序。 分布式应用程序利用多台机器的资源及许多进程的空间,把应用程序分成更易管理的任 务组,这些任务组能在各种不同的结构下进行部署。把应用程序分成任务组有许多好处,至 少可以便于重复使用、扩充和管理。 最后,以这种方式下分解应用程序将导致一系列的应用程序的层或级出现,每层或级都 各司其责。 13.1.1分层应用程序 分层应用程序可以按层数进行划分,信息可以从数据层(通常存储在数据库中)传送到表现 层(显示在客户端上)。通常每层相对于其他层来说都运行在不同的系统中,或者在同一系统中
下载 第13章 组件和网络应用程序结构 前节介绍了如何使用 A S P动态地创建网页。 A S P脚本能够查看由浏览器传送过来的信息, 动态地创建一个 H T M L (或D H T M L )页面送回浏览器。创建这个页面时,我们能获得从数据库 (如SQL Server或M S D E )中检索的信息,并且把这些信息加到 H T M L页面中送回浏览器。 但是,A S P不仅能够创建动态网页,它还具有将页面组合进网站的能力,该网站具有应 用程序的功能。 A p p l i c a t i o n和S e s s i o n对象使应用程序具有状态,允许在对网站的请求之间, 甚至在网站的所有用户之间共享消息。这些应用软件包括传统应用程序的所有功能。 建立更大、更可扩展的应用程序时, A S P技术能使建立过程更为简单。如果一个应用程 序真正可扩展,那么就可以用同样的程序处理大量的用户,而且与处理少量用户时的性能相 近。由于网站的建立能够给我们带来收益,所以能支持更多用户意味着有更多的收益。建立 更可扩展的应用程序的关键是用组件构造它们,本章和下面几章介绍如何用组件设计应用程 序。 本章主要内容有: • 分布式应用程序的结构,包括 Windows DNA。 • 网络应用程序的构成。 • 组件的定义。 • ActiveX和C O M简介。 • 组件的三种类型和使用原因。 • 使用组件建立网络应用程序。 • 设计一个基于组件的网络应用程序。 下面首先介绍应用程序结构。 13.1 分布式应用程序的结构 应用程序设计的一个关键要素是系统结构,系统结构决定了应用程序的各个部分如何进 行交互,同时也决定了每个部分实现的功能。在这个基于网络的世界中,通常在分布式环境 中创建应用程序。实际上,本书中的 A S P应用程序就是分布式应用程序。 分布式应用程序利用多台机器的资源及许多进程的空间,把应用程序分成更易管理的任 务组,这些任务组能在各种不同的结构下进行部署。把应用程序分成任务组有许多好处,至 少可以便于重复使用、扩充和管理。 最后,以这种方式下分解应用程序将导致一系列的应用程序的层或级出现,每层或级都 各司其责。 13.1.1 分层应用程序 分层应用程序可以按层数进行划分,信息可以从数据层 (通常存储在数据库中 )传送到表现 层(显示在客户端上)。通常每层相对于其他层来说都运行在不同的系统中,或者在同一系统中
chinapub-coM w/328 8 P SB EwRR409 下载 的不同的进程空间里。 两层应用程序(客户端/服务器) 先简单描述一下两层的客户端/服务器结构。典型的结构是一个客户端的用户PC机(前 端)和一个包含数据库的网络服务器(后端),逻辑上根据两者的物理位置划分。通常,客户端 包含大部分业务逻辑,随着存储过程的发展,SQL语言允许业务逻辑在数据库服务器中存储 并执行。两层的客户端/服务器结构如图13-1所示。 当一个小的业务仅仅使用或需要一个简单的数据 源时,这种两层方案会运行得很好。然而,大多数业 务目标在不断增长,随着业务的不断增长,数据库的 性能必须提高。这种两层方案的性能不能成比例地提用户界面 高。如果业务规则改变了,那么应用程序就需要重建 并重新配置。另外,有些因素(例如并发的数据库连接 数据 的最大数量)将使这个结构在一个分布式的设置下不能图13-1两层的客户端/服务器结构 发挥更大的效能。 2.三层和N层应用程序 由于二层客户端/服务器结构的限制,分布式应用程序常常分为三层或者更多层。每层 的组件都执行一个特定类型的处理,在三层应用程序中包含一个用户服务(表现)层、一个业务 服务层和一个数据服务层 三层结构和传统的二层客户端/服务器结构的主要区别就是在三层体系内,业务逻辑从 用户界面和数据源中分离出来 把应用程序划分成独立的层或部分能减小整个应用程序的复杂性,并且使应用程序能够 跟得上业务发展的需要。N层应用程序是三层应用程序的深化发展。在许多情况下,一个二层 以上的应用程序就可以看作是N层应用程序。三层应用程序的结构如图13-2所示。 用户界面 DCOM 业务逻辑 数据 用户服务 业务逻辑 数据服务 图13-2三层应用程序的结构 这种应用程序的客户端不能直接访问数据存储系统,如果这么做了,那么将违反应用程 序的业务规则,并且不能确保客户端显示的数据是正确的 应用程序的各个部分可分为N层,这个应用程序的任何部分可以在不改变其他部分的情况 下进行修改,开发人员可以专门设计和开发一个特殊的层或许多层。同样,开发人员还可采 用专门用于层开发的开发工具,比采用通用工具更为灵活方便,虽然通用工具可用来建立应 用程序,但是功能却比专用开发工具逊色
的不同的进程空间里。 1. 两层应用程序(客户端/服务器) 先简单描述一下两层的客户端/服务器结构。典型的结构是一个客户端的用户 P C机(前 端)和一个包含数据库的网络服务器 (后端),逻辑上根据两者的物理位置划分。通常,客户端 包含大部分业务逻辑,随着存储过程的发展, S Q L语言允许业务逻辑在数据库服务器中存储 并执行。两层的客户端/服务器结构如图 1 3 - 1所示。 当一个小的业务仅仅使用或需要一个简单的数据 源时,这种两层方案会运行得很好。然而,大多数业 务目标在不断增长,随着业务的不断增长,数据库的 性能必须提高。这种两层方案的性能不能成比例地提 高。如果业务规则改变了,那么应用程序就需要重建 并重新配置。另外,有些因素 (例如并发的数据库连接 的最大数量)将使这个结构在一个分布式的设置下不能 发挥更大的效能。 2. 三层和N层应用程序 由于二层客户端/服务器结构的限制,分布式应用程序常常分为三层或者更多层。每层 的组件都执行一个特定类型的处理,在三层应用程序中包含一个用户服务 (表现)层、一个业务 服务层和一个数据服务层。 三层结构和传统的二层客户端/服务器结构的主要区别就是在三层体系内,业务逻辑从 用户界面和数据源中分离出来。 把应用程序划分成独立的层或部分能减小整个应用程序的复杂性,并且使应用程序能够 跟得上业务发展的需要。 N层应用程序是三层应用程序的深化发展。在许多情况下,一个二层 以上的应用程序就可以看作是 N层应用程序。三层应用程序的结构如图 1 3 - 2所示。 图13-2 三层应用程序的结构 这种应用程序的客户端不能直接访问数据存储系统,如果这么做了,那么将违反应用程 序的业务规则,并且不能确保客户端显示的数据是正确的。 应用程序的各个部分可分为 N层,这个应用程序的任何部分可以在不改变其他部分的情况 下进行修改,开发人员可以专门设计和开发一个特殊的层或许多层。同样,开发人员还可采 用专门用于层开发的开发工具,比采用通用工具更为灵活方便,虽然通用工具可用来建立应 用程序,但是功能却比专用开发工具逊色。 第1 3章 组件和网络应用程序结构计计409 下载 图13-1 两层的客户端/服务器结构 用户界面 业务逻辑 数据 用户界面 用户服务 业务逻辑 数据 数据服务 业务逻辑 DCOM DCOM
410A5p2高装程 Cha° bocom 下载 13.1.2 Windows dna WindOws dna是指微软的 Windows分布式 Internet结构( Windows distributed interNet 的 ecture),而不是脱氧核糖核酸,这是微软最新和最重要的 Windows平台的开发模型,它 Arch 目标是 ·在 Windows服务器平台上,提供建立和传送稳固、可扩展的网络应用程序结构。 ·从传统的桌面应用程序到网络浏览器及网络应用程序,广泛的客户可获得新的和已有的 应用程序和数据资源 1.具有基础结构的 WindOws dna Windows dNa使开发分布式应用容易得多,因为使用了已有的应用程序和操作系统服务 减少了创建分布式应用需要的基础结构代码的数量 在应用程序中提供事务处理过程、信息排队、安全检査和自定义数据库访问时,必须编 写几百行代码。如今已不需要所有这些分布式应用程序,微软重点考虑可能遇到的所有细节, 提供了一系列有效和可编程的服务,这样只需将精力集中在应用程序的业务需要就行了 用 Windows dna模型开发分布式应用程序,能够建立高质量、高可靠性、可扩 展的分布式应用程序,传输更快,成本更低 在 WindOws dna出现之前,通常只有大规模企业采用分布式应用程序。但是,因为应用 程序的基础结构,微软不断发展应用软件,使开发分布式应用程序更为容易。不久,许多更 小的网络实用程序将可用 Windows dna模型建立,从而取代传统的两层客户端/服务器模 型 2.具有互操作能力的 WindOws dna Windows dna能够与已有的传统系统相互操作和对话,因此可以使当前的技术投入物尽 其用。 如今已不再需要为使所有使用 Oracle数据库系统的公司转为使用微软SQL7.0服务器数据 库系统而耗费时间。微软已经意识到并不是所有人都愿意或能够将每一个传统的系统进行转 换,以运行最新的微软数据平台。传统的系统仍将保留,但必须与新的应用相结合。所以, 微软在 Windows dna中加入了互操作性和对工业标准的支持。例如, WindOws dna模式支持 开放式 Internet标准的HTML和XML 系统之间的链接就是DCOM,它允许应用程序在程序、各机器与提供服务的已编译组件 之间交换信息,而且不用知道服务来自哪里或是如何实现的。DCOM可以让开发者创建以服 务为基础的应用软件,而且使用组件式的应用程序开发方法。 DCOM主要是一个 Windows操作平台服务,由 Windows dna模式支持的开放式 Internet标准能够确保成功创建跨平台的分布式应用软件。 Windows dna也使用通用数据访问(UDA)访问旧数据,例如允许使用相同的数据访问库 对 SQL Server和旧的AS400数据库进行查询。通过多种技术能做到这点,这些技术都清楚如何 与相同的库进行交互,并有能力从自己的系统访问关系数据和非关系数据。 3. Internet 5 Windows DNA 1997年9月,当微软引入 Windows dna结构时,为了创建新的 Internet应用,把网络与现 有的客户端/服务器和桌面系统相结合,引入了一个框架结构。 Internet之所以成为主要的应
13.1.2 Windows DNA Windows DNA是指微软的 Wi n d o w s分布式I n t e r n e t结构( Windows Distributed interNet A r c h i t e c t u r e ),而不是脱氧核糖核酸,这是微软最新和最重要的 Wi n d o w s平台的开发模型,它 的目标是: • 在Windows 服务器平台上,提供建立和传送稳固、可扩展的网络应用程序结构。 • 从传统的桌面应用程序到网络浏览器及网络应用程序,广泛的客户可获得新的和已有的 应用程序和数据资源。 1. 具有基础结构的Windows DNA Windows DNA使开发分布式应用容易得多,因为使用了已有的应用程序和操作系统服务, 减少了创建分布式应用需要的基础结构代码的数量。 在应用程序中提供事务处理过程、信息排队、安全检查和自定义数据库访问时,必须编 写几百行代码。如今已不需要所有这些分布式应用程序,微软重点考虑可能遇到的所有细节, 提供了一系列有效和可编程的服务,这样只需将精力集中在应用程序的业务需要就行了。 用Windows DNA模型开发分布式应用程序,能够建立高质量、高可靠性、可扩 展的分布式应用程序,传输更快,成本更低。 在Windows DNA出现之前,通常只有大规模企业采用分布式应用程序。但是,因为应用 程序的基础结构,微软不断发展应用软件,使开发分布式应用程序更为容易。不久,许多更 小的网络实用程序将可用 Windows DNA模型建立,从而取代传统的两层客户端/服务器模 型。 2. 具有互操作能力的Windows DNA Windows DNA能够与已有的传统系统相互操作和对话,因此可以使当前的技术投入物尽 其用。 如今已不再需要为使所有使用 O r a c l e数据库系统的公司转为使用微软 SQL 7.0服务器数据 库系统而耗费时间。微软已经意识到并不是所有人都愿意或能够将每一个传统的系统进行转 换,以运行最新的微软数据平台。传统的系统仍将保留,但必须与新的应用相结合。所以, 微软在Windows DNA中加入了互操作性和对工业标准的支持。例如, Windows DNA模式支持 开放式I n t e r n e t标准的H T M L和X M L。 系统之间的链接就是 D C O M,它允许应用程序在程序、各机器与提供服务的已编译组件 之间交换信息,而且不用知道服务来自哪里或是如何实现的。 D C O M可以让开发者创建以服 务为基础的应用软件,而且使用组件式的应用程序开发方法。 D C O M主要是一个Wi n d o w s操作平台服务,由 Windows DNA模式支持的开放式 I n t e r n e t标准能够确保成功创建跨平台的分布式应用软件。 Windows DNA也使用通用数据访问( U D A )访问旧数据,例如允许使用相同的数据访问库, 对SQL Server和旧的A S 4 0 0数据库进行查询。通过多种技术能做到这点,这些技术都清楚如何 与相同的库进行交互,并有能力从自己的系统访问关系数据和非关系数据。 3. Internet与Windows DNA 1 9 9 7年9月,当微软引入Windows DNA结构时,为了创建新的 I n t e r n e t应用,把网络与现 有的客户端/服务器和桌面系统相结合,引入了一个框架结构。 I n t e r n e t之所以成为主要的应 410计计ASP 3 高级编程 下载
chinapub coM M13 8 FR PASBEPMR 411 载 用程序平台是因为: Internet允许开发者创建独立于平台的应用程序,而不用另外学习一种新的语言 Internet为部署应用程序提供了一个灵活的结构,对许多组织来说,尤其是考虑对几个 分散的位置部署一个大规模的企业应用程序,部署是一个主要问题。 3.1.3 Windows dna服务 Windows dna提供了一系列服务,这些服务提供了必要的数据通道和基本结构,利用这 些服务就可以在相对生疏的情况下建立应用程序。 简报服务 Windows dna的简报服务功能处理应用程序如何同用户交互。用户可能被定位于同一台 计算机、同一局域网的不同计算机或者与 Internet连接的另一计算机。 WindOws dna的一个重 要概念就是用户使用的客户端类型不影响对应用程序的访问能力。为了能获得这种灵活性 Windows dna支持的客户端类型和工具非常广泛,利用它们就可以建立简报服务了 Windows dna应用程序能支持许多不同客户端类型,可分为四个类别,其中两个是传统 的“胖客户端”,而另外两个则是“基于浏览器”的客户端。如果网络可用的话,传统的应用 程序利用网络连接,当网络连接不存在时功能失效。基于浏览器的应用程序既可以是适用于 般浏览器,也可以是只适用于特殊浏览器 (1) Internet增强型客户 增强型 Internet客户利用DNA的特点,能够使用 Internet连接,但不依赖 Internet连接,例 如微软的 Office2000和 Visual studio。这些应用程序通过在其中嵌入超级链接来支持统一浏览, 拥有显示 DHTML文件的浏览器,并且能通过 Internet无缝地下载更新数据 (2) Internet依赖型客户 Internet依赖型应用程序是作为传统的 Windows应用程序而编写的,它在运行时要求同服 务器进行网络连接。当应用程序的用户界面超出了使用基于网络客户的有效开发范围时,通 常使用这种程序。由现有的 Windows程序转换到 Windows dna程序,与 Internet增强型应用 序不同,这种类型的程序的主要特点是运行时需要网络连接, Internet增强型应用程序能在独 的机器上和网络连接的机器上运行。 “胖客户端”应用程序可以使用任何 Windows开发工具建立,像 Visual basic、 Visual c+ Delphi或任何其他建立可执行应用程序的工具。网络连接的可靠性可以用一些不同的方法提 高。例如,可将应用程序链接到 Windows套接字库,以便在本地网或 Internet上通过TCP/P与 服务器连接。另外,它可以拥有一个嵌入式IE版本,可对网上信息进行访问。在任何情况下, 应用程序与网络上的服务器互相影响,并且在没有固定链路的情况下不能工作 (3)浏览器增强型客户 前面两种形式的应用程序是可执行程序的一部分,接下来的两种应用程序是基于浏览器 的程序,因为它们使用HTML作为描述工具。此HTML采用HTTP作为数据转换协议从网络 务器中实时检索得到。HTML提供给客户一个用户界面,允许用户使用网络浏览器同应用程 序进行交互。 尽管HTML是一种规范,但不同浏览器常常支持额外功能,这些功能都是非标准的。当 用户界面开发需要对HTML规范进行扩展时,它就被认为是增强的浏览器应用程序。对
用程序平台是因为: • Internet允许开发者创建独立于平台的应用程序,而不用另外学习一种新的语言。 • I n t e r n e t为部署应用程序提供了一个灵活的结构,对许多组织来说,尤其是考虑对几个 分散的位置部署一个大规模的企业应用程序,部署是一个主要问题。 13.1.3 Windows DNA服务 Windows DNA提供了一系列服务,这些服务提供了必要的数据通道和基本结构,利用这 些服务就可以在相对生疏的情况下建立应用程序。 1. 简报服务 Windows DNA的简报服务功能处理应用程序如何同用户交互。用户可能被定位于同一台 计算机、同一局域网的不同计算机或者与 I n t e r n e t连接的另一计算机。Windows DNA的一个重 要概念就是用户使用的客户端类型不影响对应用程序的访问能力。为了能获得这种灵活性, Windows DNA支持的客户端类型和工具非常广泛,利用它们就可以建立简报服务了。 Windows DNA应用程序能支持许多不同客户端类型,可分为四个类别,其中两个是传统 的“胖客户端”,而另外两个则是“基于浏览器”的客户端。如果网络可用的话,传统的应用 程序利用网络连接,当网络连接不存在时功能失效。基于浏览器的应用程序既可以是适用于 一般浏览器,也可以是只适用于特殊浏览器。 (1) Internet增强型客户 增强型I n t e r n e t客户利用D N A的特点,能够使用 I n t e r n e t连接,但不依赖 I n t e r n e t连接,例 如微软的O ffice 2000和Visual Studio。这些应用程序通过在其中嵌入超级链接来支持统一浏览, 拥有显示D H T M L文件的浏览器,并且能通过 I n t e r n e t无缝地下载更新数据。 (2) Internet依赖型客户 I n t e r n e t依赖型应用程序是作为传统的 Wi n d o w s应用程序而编写的,它在运行时要求同服 务器进行网络连接。当应用程序的用户界面超出了使用基于网络客户的有效开发范围时,通 常使用这种程序。由现有的 Wi n d o w s程序转换到Windows DNA程序,与I n t e r n e t增强型应用程 序不同,这种类型的程序的主要特点是运行时需要网络连接, I n t e r n e t增强型应用程序能在独 立的机器上和网络连接的机器上运行。 “胖客户端”应用程序可以使用任何 Wi n d o w s开发工具建立,像Visual Basic、Visual C++、 D e l p h i或任何其他建立可执行应用程序的工具。网络连接的可靠性可以用一些不同的方法提 高。例如,可将应用程序链接到 Wi n d o w s套接字库,以便在本地网或 I n t e r n e t上通过T C P / I P与 服务器连接。另外,它可以拥有一个嵌入式 I E版本,可对网上信息进行访问。在任何情况下, 应用程序与网络上的服务器互相影响,并且在没有固定链路的情况下不能工作。 (3) 浏览器增强型客户 前面两种形式的应用程序是可执行程序的一部分,接下来的两种应用程序是基于浏览器 的程序,因为它们使用 H T M L作为描述工具。此 H T M L采用H T T P作为数据转换协议从网络服 务器中实时检索得到。 H T M L提供给客户一个用户界面,允许用户使用网络浏览器同应用程 序进行交互。 尽管H T M L是一种规范,但不同浏览器常常支持额外功能,这些功能都是非标准的。当 用户界面开发需要对 H T M L规范进行扩展时,它就被认为是增强的浏览器应用程序。对 第1 3章 组件和网络应用程序结构计计411 下载
412 ASP3高级编程 Ch'a° ub. coM indOws dna应用程序来说,这通常意味着用户界面成为IE中的一个传递目标。用特定的浏 器作为传递目标,开发人员可利用 ActiveX控件、动态HTML或者IE等技术来让用户界面更 像传统 Windows应用程序。甚至在这种情况下,使用HTP协议将用户界面从网络服务器上传 递到网络浏览器上。这样的应用程序通常用于局域网,这样信息部门能控制目标浏览器平台。 如果开发人员可以获得浏览器的特定版本,那么就能开发出浏览器增强型应用程序,并且这 个应用程序能够成功地运行。 (4)浏览器依赖型客户 浏览器增强型用户界面的一个缺点就是当用户使用应用程序时,通常需要特定的浏览器 不论什么时候,一种新技术可用时,如新的浏览器版本,都有一定的时间延迟,新版本浏览 器的广泛使用需要长达数年的时间,在这段时间里,如果开发人员以这些新特点为目标,那 么他们就要冒应用程序不能被广泛采用的风险。 为了避免这个问题,开发人员可以选择一个较早的浏览器版本作为目标,这样开发出来 的程序就能被大多数人所采用。这种类型的客户端称为浏览器依赖型。这听起来有点不太真 实,但浏览器依赖型就是指用户界面在浏览器上是可靠的,而不是对浏览器的特定版本可靠 对开发人员来说,开发一个面向所有浏览器的程序效率可能很低。通常广泛使用的程序的当 前标准目标是网景和微软的3x版本浏览器 以这个浏览器版本作为目标后,开发人员就可以用 JavaScript和HTML3.2规范访问客户端 脚本。这可与所有后来的浏览器兼容,不论是微软或网景。随着IE40以上版本的使用,这已 成为许多开发人员的基本发展目标 2.应用程序服务 Windows dna应用软件靠可用的应用程序服务来存储和执行应用程序逻辑的核心,这个 业务逻辑层中保持专用应用程序进程和业务规则。开发这些应用程序组件的 WindOws dna服 务包括web服务、消息服务和组件服务 (1)组件服务 最近十年里,组件式应用软件已经成为创建应用软件的标准方法,最早是DDE,然后是 OLE、OLE2及今天的 Activex, Windows平台的组件应用软件已广泛传播。使用组件进行开 发如此容易并不十分令人惊奇,现在整个过程是一个新的模型,这个模型包括用预先创建的 组件建立应用程序。因为每一组件都有一些公用函数,其他组件可调用这些函数。这样组件 可以重复使用,并允许这些软件互相合作 为了使基于组件的应用程序成为企业级的应用程序,微软添加了微软事务处理服务器 (MTS),为基于组件的分布式程序开发、部置和管理提供服务。将这个服务器封裝在一个系 统级的服务中,开发人员就没有必要明确地在应用程序中添加这种支持。 随着 Windows2000的推出,人们已逐渐了解COM+。COM+使COM和MTS程序模型成 为一体,并且不再需要分别处理这两种服务,从而使开发分布式应用程序变得更加容易,因 为减少了使用这些组件服务所需的代码数量,使得建立应用程序更快、更容易、成本更低 (2)消息服务 并不是 Windows dna应用程序的所有部分都必须定位于同样的计算机或者在同样的物理 位置,因此,开发人员能够与不同系统进行交流是非常关键的。在网络应用程序模型中,需 要一种通过应用程序与断开的客户进行交流的方法,消息是一种用于这种交流的方式。微软
Windows DNA应用程序来说,这通常意味着用户界面成为 I E中的一个传递目标。用特定的浏 览器作为传递目标,开发人员可利用 A c t i v e X控件、动态H T M L或者I E等技术来让用户界面更 像传统Wi n d o w s应用程序。甚至在这种情况下,使用 H T T P协议将用户界面从网络服务器上传 递到网络浏览器上。这样的应用程序通常用于局域网,这样信息部门能控制目标浏览器平台。 如果开发人员可以获得浏览器的特定版本,那么就能开发出浏览器增强型应用程序,并且这 个应用程序能够成功地运行。 (4) 浏览器依赖型客户 浏览器增强型用户界面的一个缺点就是当用户使用应用程序时,通常需要特定的浏览器。 不论什么时候,一种新技术可用时,如新的浏览器版本,都有一定的时间延迟,新版本浏览 器的广泛使用需要长达数年的时间,在这段时间里,如果开发人员以这些新特点为目标,那 么他们就要冒应用程序不能被广泛采用的风险。 为了避免这个问题,开发人员可以选择一个较早的浏览器版本作为目标,这样开发出来 的程序就能被大多数人所采用。这种类型的客户端称为浏览器依赖型。这听起来有点不太真 实,但浏览器依赖型就是指用户界面在浏览器上是可靠的,而不是对浏览器的特定版本可靠。 对开发人员来说,开发一个面向所有浏览器的程序效率可能很低。通常广泛使用的程序的当 前标准目标是网景和微软的 3 . x版本浏览器。 以这个浏览器版本作为目标后,开发人员就可以用 J a v a S c r i p t和HTML 3.2规范访问客户端 脚本。这可与所有后来的浏览器兼容,不论是微软或网景。随着 IE 4.0以上版本的使用,这已 成为许多开发人员的基本发展目标。 2. 应用程序服务 Windows DNA应用软件靠可用的应用程序服务来存储和执行应用程序逻辑的核心,这个 业务逻辑层中保持专用应用程序进程和业务规则。开发这些应用程序组件的 Windows DNA服 务包括We b服务、消息服务和组件服务。 (1) 组件服务 最近十年里,组件式应用软件已经成为创建应用软件的标准方法,最早是 D D E,然后是 O L E、O L E 2及今天的A c t i v e X,Wi n d o w s平台的组件应用软件已广泛传播。使用组件进行开 发如此容易并不十分令人惊奇,现在整个过程是一个新的模型,这个模型包括用预先创建的 组件建立应用程序。因为每一组件都有一些公用函数,其他组件可调用这些函数。这样组件 可以重复使用,并允许这些软件互相合作。 为了使基于组件的应用程序成为企业级的应用程序,微软添加了微软事务处理服务器 ( M T S ),为基于组件的分布式程序开发、部置和管理提供服务。将这个服务器封装在一个系 统级的服务中,开发人员就没有必要明确地在应用程序中添加这种支持。 随着Windows 2000的推出,人们已逐渐了解 C O M+。C O M+使C O M和M T S程序模型成 为一体,并且不再需要分别处理这两种服务,从而使开发分布式应用程序变得更加容易,因 为减少了使用这些组件服务所需的代码数量,使得建立应用程序更快、更容易、成本更低。 (2) 消息服务 并不是Windows DNA应用程序的所有部分都必须定位于同样的计算机或者在同样的物理 位置,因此,开发人员能够与不同系统进行交流是非常关键的。在网络应用程序模型中,需 要一种通过应用程序与断开的客户进行交流的方法,消息是一种用于这种交流的方式。微软 412计计ASP 3 高级编程 下载