优点、缺点
表 1.1 瘦客户端和智能客户端的特点
特点 |
瘦客户端 |
智能客户端 |
提供内容丰富的用户界面 |
可以,但难以开发、测试和调试。通常将应用程序与单个浏览器联系起来。 |
是。更易于开发、测试和调试。 |
可以利用本地计算机上的硬件资源 |
是,但只能通过 COM 组件使用。 |
是 |
可以与其他本地应用程序交互 |
否 |
是 |
可以多线程化 |
否 |
是 |
可以脱机工作 |
否 |
是 |
在低带宽和高延迟环境中可以很好地执行。 |
否 |
是 |
易于部署 |
是 |
不一定。困难程度取决于应用程序要求。 |
低维护和更改管理成本 |
是 |
不一定。成本取决于应用程序要求。 |
可以部署到具有不同功能的多种客户端上。 |
是,尽管更复杂的瘦客户端可能要求单个浏览器。 |
是。可以在支持 .NET 框架(包括 .NET 框架压缩版)的任何平台上部署。 |
智能客户端体系结构难题
通过智能客户端可以将数据和逻辑分发到客户计算机,而瘦客户端则倾向于将数据和逻辑集中存放在 Web 服务器和其他后端服务中。所以您需要考虑到应用程序及其数据现在比瘦客户端应用程序分布得更为广泛,并且相应地修改您的设计。
如果您要在客户端上实现业务规则,您将需要在必要时更新这些规则,而不是更新整个应用程序。这可能意味着您需要使用不同的机制来分别更新该应用程序以及更新该应用程序内部的业务规则。
通过在客户端上缓存数据,您可以显著改善应用程序的性能和可用性,但您必须确保适当地刷新数据并且不会使用陈旧的数据。因为许多用户可以访问和使用相同的数据,您还必须考虑数据并发的影响。您的应用程序必须能够处理出现的数据冲突或一致问题。
.NET 框架在智能客户端应用程序的宿主方式方面提供了极大的灵活性。应用程序可以作为传统桌面应用程序运行,还可以宿主在 Office 或 Microsoft Internet Explorer 内。也可以进行许多种组合。例如,Windows 窗体应用程序可以宿主 Internet Explorer 或 Office 组件,并且任何宿主都可以包含任何其他宿主。
您可以将不稳定的应用程序逻辑(例如,控制大订单折扣的业务规则)结合到根据需要通过 HTTP 下载的程序集中。这样做消除了在开发新应用程序逻辑时部署新版本客户端应用程序的需要。您可以使用与附加(或不常使用)应用程序功能相同的模型,以便使初始应用程序规模保持最小,并且根据需要安装附加功能。
您可以选择将您的智能客户端作为复合应用程序进行部署,此时许多应用程序组合起来构成一个统一的解决方案。可以通过耦合桌面应用程序,或者通过提供一般性的外壳应用程序以容纳多个共同构成解决方案的轻型应用程序,来构成这样的解决方案。
当用户必须访问许多应用程序以完成其工作时,复合应用程序尤其有用。例如,呼叫中心中的客户服务代理通常必须使用许多 LOB 应用程序,包括桌面应用程序、基于浏览器的应用程序以及基于终端的应用程序。所有这些 LOB 应用程序都可以宿主到在它们之间提供集成的普通 Windows 窗体应用程序中,从而大大简化用户的工作,最为重要的是减少花在特定呼叫上的时间。通过提供普通外壳来宿主这些 LOB 应用程序,可以在不同的解决方案中开发、测试和重用通用基础结构功能,如安全性、部署、窗口管理、应用程序集成、审核等等,从而使 LOB 应用程序的开发人员能够将精力集中于业务功能。
面向服务的体系结构的出现意味着您可以设计智能客户端来利用网络服务。所有此类服务都是以行业标准方式提供的,这就改善了互操作性、开发人员工具支持以及在智能客户端应用程序中内置新功能的容易程度。
客户端需要安装Framework
说明:根据相关资料整理。