瘦客户端和智能客户端

上传人:m**** 文档编号:492027866 上传时间:2024-01-11 格式:DOCX 页数:12 大小:102.06KB
返回 下载 相关 举报
瘦客户端和智能客户端_第1页
第1页 / 共12页
瘦客户端和智能客户端_第2页
第2页 / 共12页
瘦客户端和智能客户端_第3页
第3页 / 共12页
瘦客户端和智能客户端_第4页
第4页 / 共12页
瘦客户端和智能客户端_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《瘦客户端和智能客户端》由会员分享,可在线阅读,更多相关《瘦客户端和智能客户端(12页珍藏版)》请在金锄头文库上搜索。

1、瘦客户端和智能客户端简介表示层是应用程序中至关重要的一部分 构建不适当的表示层可能会导致复杂性太高、缺 少灵活性,并使得用户体验效率低下、不尽人意。众所周知,在部署和可管理性方面,瘦客 户端应用程序比传统的胖客户端应用程序更具优势,这使得它们在近些年颇受欢迎。但是, 随着智能客户端的到来,表示层体系结构的选择不再那么直捷了当了。胖客户端已经演变为 智能客户端,综合了瘦客户端在中央管理方面的优势,以及胖客户端的灵活性、更佳的响应 效果和高性能。本文讨论了瘦客户端和智能客户端方法,并提供了有关如何在它们之间进行 选择的指南。大多数应用程序的表示层对于该应用程序的成败常常都是至关重要的。表示层实际上

2、代表了 用户和应用程序其余部分之间的接口。打个比方说,它就是轮胎和路面接触的地方。如果用 户与应用程序的交互方式不能使他们以高效和有效的方式执行自己的工作,那么应用程序在 总体上的成功将大打折扣。表示层这个术语实在不足以表示这个层的功能和重要性。它很少只是向用户显示信息 更 常见的是向用户提供对应用程序的交互性访问。可能对于这个层来说,更为适当的名称是用 户交互层。不过,为简单起见,在本文中继续使用这个层的广为人们接受的名称。无论如何,在设计这个层时,您都希望向用户提供适当的用户体验,使用户能够以有效和高 效的方式与应用程序进行交互。当然,在构建这个层的体系结构然后实现它时,您还需要充 分地考

3、虑业务的开发、维护和运行需要。为应用程序的表示层选择正确的体系结构,对于实 现这些目标来说,极其重要。瘦客户端方法和智能客户端方法是两种常被采用的表示层体系结构和设计方法。当然,有许 多因素会影响有关哪种方法最适用于特定应用程序的决策 如客户端平台要求、应用程序 部署和更新、用户体验、性能、客户端集成、脱机功能等 而各种方法都有与生俱来的优 点和缺点,自然而然地支持某种特定样式的应用程序。但是,您会发现,它们之间的区别可 能被混淆,而这很容易导致应用错误的基本方法,进一步导致以后的问题。例如,有人可能会使用基于浏览器的表示层来提供胖用户界面,同样,另一些人则可能会使 用智能客户端提供完全动态的

4、用户界面。这两者实现起来都不容易,而且都很可能会导致不 必要的复杂性、缺乏灵活性以及高昂的开发和维护成本。许多单位不加思索地选择瘦客户端体系结构,而没有充分考虑其他方案。虽然并不能适用于 所有情况,但智能客户端体系结构可以提供比瘦客户端方法显著优越的优点,而不会带来传 统上与胖客户端相关联的缺点。单位应当审慎地考虑各种方法,以便能够从开始就选择正确 的方法,尽可能降低应用程序整个生存周期的 TCO。在下面的部分中,将对瘦客户端和智能客户端方法以及它们幕后的一些技术进行探讨。对于 每种方法,将介绍其基本体系结构,并讨论该方法内的一些设计选项。之后,将以您在为自 己的应用程序确定最佳方法时需要考虑

5、的一些常见因素和要求为前提,讨论各个方法的相对优缺点。许多瘦客户端技术都是有关服务器端的,而目前有许多 Web 服务器平台和框架( ASP、 ASP.NET、JSP 及其他)可供选择。每种平台都具有一些特定的功能,试图简化编写瘦客户 端应用程序的过程,但它们都通过一系列 HTML 页面来向客户端上的浏览器提供用户界 面。瘦客户端应用程序可以很简明地定义为:使用浏览器来提供应用程序(以HTML定义 的)用户界面的执行环境的客户端应用程序。除了呈现用户界面和允许用户与之交互外,浏览器还提供一般的安全性、状态管理和数据处 理功能,外加所有客户端逻辑的执行环境。对于后者,浏览器通常会提供一个脚本引擎和

6、承 载其他可执行组件(如 Java Applets、ActiveX 和 .NET 控件等)的能力(虽然大多数定义 并不认为这些可执行组件属于瘦客户端技术 参见下面的混合型应用程序)。体系结构被构建为使用瘦客户端表示层的应用程序可以分解为一些页面,而每个页面都在被 请求时“部署”到客户端。每个页面都包含用户界面说明,并通常会包含少量客户端脚本逻 辑和少量状态/数据(视图状态、Cookies、XML数据岛等)。图1所示为一种瘦客户端表 示层体系结构的图形表示。浏览器与客户端环境(硬件和在客户端上运行的其他软件应用程序)交互的能力是有限的。 它的确提供了一种使得能够在客户端上存储少量数据(通过Coo

7、kies)的机制,有时还提供 缓存页面的能力,但除了作为分别提供简单的会话管理或跟踪,以及基本的只读脱机功能的 一种方法外,这些功能作用有限。浏览器还提供安全性基础结构,以便使不同的应用程序(页面)能够分配到更多或更少的权 限,这样,它们就可以围绕状态(如Cookies)执行不同的任务,就可以承载组件和执行脚 本。 Internet Explorer 通过不同的区域、受信任站点、分级等实现了这些功能。为了提供更丰富、响应效果更佳的用户界面,一些Web应用程序采用了 DHTML和类似 的技术来提供更为丰富的用户界面。虽然这些技术是非标准的,即并不是所有的浏览器都以 相同的方式支持它们,但它们的确

8、提供了在 Web 页面中包括更高级的用户界面元素(如下 拉菜单、拖放等)的能力。Pig*DepIoyrentBroa s c rI.inii Rd Local Dqua Supper eCli-tn rNa Of fl t. ne Suipp 口1:S-fttuu,LCyiu SdndboK it图 1 :瘦客户端体系结构的图示其他的 Web 应用程序采用了在页面内承载复杂组件(包括 Java Applets、ActiveX 和 .NET 组件)的方法。这些组件要么可以提供响应效果更佳的用户界面,要么提供出于性能或安全 原因而不能在脚本中实现的客户端逻辑。正是在这里,瘦客户端开始与智能客户端发

9、生重叠, 导致出现所谓的混合型应用程序。您当然可以使用这样的混合型应用程序来利用或规避各种方法的优缺点,但在本文档中,我 将把术语“瘦客户端”定义为指代不依赖于这些组件,而仅使用浏览器环境所提供基本功能 的通用 Web 应用程序。由于混合型应用程序需要依赖于智能客户端功能来避免管理和运行 问题,我将在稍后介绍智能客户端应用程序的部分中对其进行介绍。智能客户端应用程序可能不像瘦客户端应用程序那么容易定义,这是因为它们可以采取许多 种不同的形式,而不限于瘦客户端应用程序那样一成不变的方式。智能客户端和瘦客户端之 间的主要区别在于智能客户端不依赖于浏览器来为其操作提供执行、安全性和用户界面环 境。此

10、外,智能客户端(而不是HTML和Jscript)通常采用在客户端计算机上运行的已编 译代码部件(组件、程序集等)来提供应用程序的用户界面和客户端逻辑。智能客户端与胖客户端有何关系?胖客户端应用程序已经发展为智能客户端应用程序。相较 于瘦客户端应用程序,胖客户端提供了许多优点,包括改进了的性能、更佳的响应效果和灵 活性以及脱机工作的能力,但是在以可靠的方式部署和更新方面,胖客户端存在一系列运行 问题。瘦客户端解决方案当然地在部署和更新方面更具优势,这也是它们受欢迎的一个主要 原因。但是,智能客户端应用程序通过借鉴瘦客户端应用程序的可管理性优势,并结合以胖客户端 应用程序的优点,代表了一种面面俱到

11、的方法。智能客户端是革除了劣势的胖客户端,通过 采用新技术和技巧避免了传统胖客户端应用程序的缺陷。例如,构建在 .NET 平台上的智能客户端应用程序可以利用一系列 .NET Framework 用以 解决传统上与胖客户端应用程序相关联问题的重要技术。虽然始终都可以生成最小化或者避 免了部署和安全缺陷的胖客户端应用程序,但 .NET Framework 提供的功能大大简化了这一 工作。.NET 提供了从 Web 服务器部署应用程序或应用程序一部分的能力。这种技术称为无接触 部署(No-Touch Deployment),使您能够通过URL部署应用程序。这使得您能够将应用程 序发布到一个中心位置(

12、即发布到一台 Web 服务器),这样就可以根据需要自动部署该应 用程序。所有客户端都可以自动保持最新状态,这是因为应用程序会在每次应用程序运行时 自动检查更新,且每个客户端应用程序在必要时都可以下载新的代码。图 2:智能客户端体系结构的图示.NET 还提供了代码访问安全性 (CAS) 基础结构。 CAS 根据它所提供的证据分配 .NET 代 码特定的权限。 CAS 提供与瘦客户端应用程序中的浏览器大致相同的功能,提供应用程序 运行的沙箱环境。无接触部署可以与 (CAS) 集成。默认情况下,使用无接触部署部署的应 用程序将被根据部署它们时所处的 URL 区域授予一组有限的权限。网络管理员可以通过

13、安 全策略来修改权限,这样,就可以根据需要授予或者拒绝给予应用程序特定的权限。使用 .NET Framework 创建智能客户端应用程序,可以得到更为稳定的应用程序。以前,安 装胖客户端应用程序可能会导致其他应用程序被破坏,这是因为它会替换其他应用程序共享 的重要组件和 DLL。 .NET 允许分离应用程序,将所有的应用程序部件存放在一个本地目 录中,这样,所有的程序集都是分离的。而且,这样的应用程序在部署时并不需要任何注册 过程,从而进一步降低了破坏其他应用程序的风险。此外, .NET Framework 允许并列部署 一个程序集的多个版本。这确保了在执行一个应用程序时,该应用程序是使用生成

14、和测试它 时原本版本的程序集运行的。体系结构被构建为使用智能客户端作为其表示层的应用程序通常会提供一个中央部署服务 器(通过该服务器,可以将智能客户端的部件部署到客户端)和一些提供对后端业务功能(即 智能客户端使用的业务逻辑和数据)进行访问的 Web 服务。由于智能客户端在客户端上运 行代码,因此它可以更为明晰地将用户界面与客户端数据和逻辑分开。此外,视它被授予的 权限而定,它可以更为自由地与其他客户端资源(如本地硬件和客户端上运行的其他软件) 进行交互。图 2 所示为这种体系结构的图示。智能客户端是什么样子的?智能客户端应用程序可以采取多种形式,这种应用程序的架构师 需要应对多种设计选择。要

15、作出的第一个决策是选择最适当的应用程序样式 即向用户显 示智能客户端的方式。通常,设计智能客户端应用程序的方法有三种: Windows 应用程序。传统的 Windows 样式的应用程序,通常使用 Windows 窗体或者 在 .NET Compact Framework 上生成的的移动应用程序生成。 Office 应用程序。经过扩展包括了智能客户端功能的 Microsoft Office 程序,将用户与 商业应用程序和业务处理连接了起来。混合型应用程序。结合使用瘦客户端和智能客户端技 术的应用程序。例如,在浏览器页面内承载 Windows 窗体控件,或者在 Windows 窗体应 用程序中承载

16、浏览器的应用程序。如果您想充分实现智能客户端方法的优点,那么选择正确的应用程序样式就非常关键。部署、 安全性、开发和脱机功能都影响智能客户端应用程序样式的选择,但是可能要考虑的最重要 的因素还是总体的用户体验。每个选项都代表不同类型的用户体验,如果选择正确,用户将 可以得到他们所需要的灵活性和性能的完美组合。Windows 应用程序用户会将智能客户端应用程序与传统的 Windows 样式的应用程序相联系,这是因为它们提 供了胖客户端功能,包括工具栏、菜单栏、上下文菜单、拖放支持、上下文相关的帮助、撤 销/重复等。开发人员可以在 .NET Framework 或者 .NET Compact Framework 上生成这些 类别的智能客户端应用程序,使用 Windows 窗体来提供这些胖用户界面功能。这些开发人员还可以通过利用 Microsoft Patterns and P

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号