SmartClient(智能客户端) 转载
2006-04-04 16:54
351 查看
SmartClient(智能客户端)
概述
胖客户端应用程序
管胖客户端通常提供了高质量、响应迅速的用户体验,并且具有良好的开发人员和平台支持,但它们非常难于部署和维护。如果部署了不兼容的共享组件或软件库,则一个应用程序可以很容易地破坏另一个应用程序,这种现象称为应用程序脆弱性。新版本的应用程序通常通过重新部署整个应用程序来提供,这可能使应用程序脆弱性问题变得更加严重。
尽瘦客户端应用程序
瘦客户端应用程序具有一些缺点。浏览器必须总是具有网络连接。这意味着移动用户在断开连接时将无法访问应用程序,因此当他们返回办公室时,必须重新输入数据。而且,常用的应用程序功能(如拖放、撤消-重复以及上下文相关帮助)可能不可用,这可能降低应用程序的可用性。
因为应用程序的大部分逻辑和状态位于服务器上,所以瘦客户端会频繁地向服务器发回数据和处理请求。浏览器必须等待响应到达,然后用户才能继续使用该应用程序;因此,该应用程序的响应速度通常要比胖客户端应用程序慢得多。要求输入大量数据以及/或者在多个窗口中频繁导航的 LOB 应用程序尤其会受到这一问题的
智能客户端应用程序
经过设计,智能客户端应用程序可以将胖客户端应用程序的优点与瘦客户端应用程序的部署和可管理性优点结合起来。
智能客户端都具有下列部分或全部特征:
• 利用本地资源
• 利用网络资源
• 支持偶尔连接的用户
• 提供智能安装和更新
• 提供客户端设备灵活性
优点、缺点
表 1.1 瘦客户端和智能客户端的特点
智能客户端体系结构难题
通过智能客户端可以将数据和逻辑分发到客户计算机,而瘦客户端则倾向于将数据和逻辑集中存放在 Web 服务器和其他后端服务中。所以您需要考虑到应用程序及其数据现在比瘦客户端应用程序分布得更为广泛,并且相应地修改您的设计。
如果您要在客户端上实现业务规则,您将需要在必要时更新这些规则,而不是更新整个应用程序。这可能意味着您需要使用不同的机制来分别更新该应用程序以及更新该应用程序内部的业务规则。
通过在客户端上缓存数据,您可以显著改善应用程序的性能和可用性,但您必须确保适当地刷新数据并且不会使用陈旧的数据。因为许多用户可以访问和使用相同的数据,您还必须考虑数据并发的影响。您的应用程序必须能够处理出现的数据冲突或一致问题。
.NET 框架在智能客户端应用程序的宿主方式方面提供了极大的灵活性。应用程序可以作为传统桌面应用程序运行,还可以宿主在 Office 或 Microsoft Internet Explorer 内。也可以进行许多种组合。例如,Windows 窗体应用程序可以宿主 Internet Explorer 或 Office 组件,并且任何宿主都可以包含任何其他宿主。
您可以将不稳定的应用程序逻辑(例如,控制大订单折扣的业务规则)结合到根据需要通过 HTTP 下载的程序集中。这样做消除了在开发新应用程序逻辑时部署新版本客户端应用程序的需要。您可以使用与附加(或不常使用)应用程序功能相同的模型,以便使初始应用程序规模保持最小,并且根据需要安装附加功能。
您可以选择将您的智能客户端作为复合应用程序进行部署,此时许多应用程序组合起来构成一个统一的解决方案。可以通过耦合桌面应用程序,或者通过提供一般性的外壳应用程序以容纳多个共同构成解决方案的轻型应用程序,来构成这样的解决方案。
当用户必须访问许多应用程序以完成其工作时,复合应用程序尤其有用。例如,呼叫中心中的客户服务代理通常必须使用许多 LOB 应用程序,包括桌面应用程序、基于浏览器的应用程序以及基于终端的应用程序。所有这些 LOB 应用程序都可以宿主到在它们之间提供集成的普通 Windows 窗体应用程序中,从而大大简化用户的工作,最为重要的是减少花在特定呼叫上的时间。通过提供普通外壳来宿主这些 LOB 应用程序,可以在不同的解决方案中开发、测试和重用通用基础结构功能,如安全性、部署、窗口管理、应用程序集成、审核等等,从而使 LOB 应用程序的开发人员能够将精力集中于业务功能。
面向服务的体系结构的出现意味着您可以设计智能客户端来利用网络服务。所有此类服务都是以行业标准方式提供的,这就改善了互操作性、开发人员工具支持以及在智能客户端应用程序中内置新功能的容易程度。
客户端需要安装Framework
说明:根据相关资料整理。
概述
胖客户端应用程序
管胖客户端通常提供了高质量、响应迅速的用户体验,并且具有良好的开发人员和平台支持,但它们非常难于部署和维护。如果部署了不兼容的共享组件或软件库,则一个应用程序可以很容易地破坏另一个应用程序,这种现象称为应用程序脆弱性。新版本的应用程序通常通过重新部署整个应用程序来提供,这可能使应用程序脆弱性问题变得更加严重。
尽瘦客户端应用程序
瘦客户端应用程序具有一些缺点。浏览器必须总是具有网络连接。这意味着移动用户在断开连接时将无法访问应用程序,因此当他们返回办公室时,必须重新输入数据。而且,常用的应用程序功能(如拖放、撤消-重复以及上下文相关帮助)可能不可用,这可能降低应用程序的可用性。
因为应用程序的大部分逻辑和状态位于服务器上,所以瘦客户端会频繁地向服务器发回数据和处理请求。浏览器必须等待响应到达,然后用户才能继续使用该应用程序;因此,该应用程序的响应速度通常要比胖客户端应用程序慢得多。要求输入大量数据以及/或者在多个窗口中频繁导航的 LOB 应用程序尤其会受到这一问题的
智能客户端应用程序
经过设计,智能客户端应用程序可以将胖客户端应用程序的优点与瘦客户端应用程序的部署和可管理性优点结合起来。
智能客户端都具有下列部分或全部特征:
• 利用本地资源
• 利用网络资源
• 支持偶尔连接的用户
• 提供智能安装和更新
• 提供客户端设备灵活性
优点、缺点
表 1.1 瘦客户端和智能客户端的特点
特点 | 瘦客户端 | 智能客户端 |
提供内容丰富的用户界面 | 可以,但难以开发、测试和调试。通常将应用程序与单个浏览器联系起来。 | 是。更易于开发、测试和调试。 |
可以利用本地计算机上的硬件资源 | 是,但只能通过 COM 组件使用。 | 是 |
可以与其他本地应用程序交互 | 否 | 是 |
可以多线程化 | 否 | 是 |
可以脱机工作 | 否 | 是 |
在低带宽和高延迟环境中可以很好地执行。 | 否 | 是 |
易于部署 | 是 | 不一定。困难程度取决于应用程序要求。 |
低维护和更改管理成本 | 是 | 不一定。成本取决于应用程序要求。 |
可以部署到具有不同功能的多种客户端上。 | 是,尽管更复杂的瘦客户端可能要求单个浏览器。 | 是。可以在支持 .NET 框架(包括 .NET 框架压缩版)的任何平台上部署。 |
通过智能客户端可以将数据和逻辑分发到客户计算机,而瘦客户端则倾向于将数据和逻辑集中存放在 Web 服务器和其他后端服务中。所以您需要考虑到应用程序及其数据现在比瘦客户端应用程序分布得更为广泛,并且相应地修改您的设计。
如果您要在客户端上实现业务规则,您将需要在必要时更新这些规则,而不是更新整个应用程序。这可能意味着您需要使用不同的机制来分别更新该应用程序以及更新该应用程序内部的业务规则。
通过在客户端上缓存数据,您可以显著改善应用程序的性能和可用性,但您必须确保适当地刷新数据并且不会使用陈旧的数据。因为许多用户可以访问和使用相同的数据,您还必须考虑数据并发的影响。您的应用程序必须能够处理出现的数据冲突或一致问题。
.NET 框架在智能客户端应用程序的宿主方式方面提供了极大的灵活性。应用程序可以作为传统桌面应用程序运行,还可以宿主在 Office 或 Microsoft Internet Explorer 内。也可以进行许多种组合。例如,Windows 窗体应用程序可以宿主 Internet Explorer 或 Office 组件,并且任何宿主都可以包含任何其他宿主。
您可以将不稳定的应用程序逻辑(例如,控制大订单折扣的业务规则)结合到根据需要通过 HTTP 下载的程序集中。这样做消除了在开发新应用程序逻辑时部署新版本客户端应用程序的需要。您可以使用与附加(或不常使用)应用程序功能相同的模型,以便使初始应用程序规模保持最小,并且根据需要安装附加功能。
您可以选择将您的智能客户端作为复合应用程序进行部署,此时许多应用程序组合起来构成一个统一的解决方案。可以通过耦合桌面应用程序,或者通过提供一般性的外壳应用程序以容纳多个共同构成解决方案的轻型应用程序,来构成这样的解决方案。
当用户必须访问许多应用程序以完成其工作时,复合应用程序尤其有用。例如,呼叫中心中的客户服务代理通常必须使用许多 LOB 应用程序,包括桌面应用程序、基于浏览器的应用程序以及基于终端的应用程序。所有这些 LOB 应用程序都可以宿主到在它们之间提供集成的普通 Windows 窗体应用程序中,从而大大简化用户的工作,最为重要的是减少花在特定呼叫上的时间。通过提供普通外壳来宿主这些 LOB 应用程序,可以在不同的解决方案中开发、测试和重用通用基础结构功能,如安全性、部署、窗口管理、应用程序集成、审核等等,从而使 LOB 应用程序的开发人员能够将精力集中于业务功能。
面向服务的体系结构的出现意味着您可以设计智能客户端来利用网络服务。所有此类服务都是以行业标准方式提供的,这就改善了互操作性、开发人员工具支持以及在智能客户端应用程序中内置新功能的容易程度。
客户端需要安装Framework
说明:根据相关资料整理。
相关文章推荐
- 智能客户端(SmartClient)(转载)
- 智能客户端SmartClient (三)
- 智能客户端(SmartClient)
- 智能客户端(SmartClient)
- 智能客户端SmartClient (四)
- 智能客户端研究笔记(转载)
- SmartClient(智能客户端)学习笔记之——Smart Client基本学习资源
- 智能客户端(SmartClient)
- (转)智能客户端(SmartClient)
- SmartClient学习(一):智能客户端概览
- SmartClient学习(二):智能客户端的安全性和VS2005调试代码
- 智能客户端(SmartClient)
- 智能客户端(SmartClient) signer's certificate is not valid
- 智能客户端SmartClient (一)
- 智能客户端(SmartClient)
- 智能客户端 ( SmartClient )
- (转)SmartClient(智能客户端)学习笔记之——Microsoft Updater Application Block ApplicationUpdater assembly设计
- (转)智能客户端(SmartClient)
- 智能客户端SmartClient (二)
- 智能客户端(SmartClient)[转]