真谛【揭开Smart Client技术真谛】
通过.NET Framework,利用Visual Studio.NET,微软在Smart Client的设计、开发、测试和部署等各个阶段都提供了全面的支持,主要有以下这些相关的技术:
应用程序块(Application Block)
为了帮助更多的软件开发人员利用.NET技术快速构建功能强大的应用系统,微软的Practice & Pattern小组编写了大量应用程序块以帮助开发人员从繁琐重复的编程中解脱出来,从而更加专注于业务的实现。这些应用程序块包括授权、缓存、配置管理、数据访问、异常管理、自动更新、日志、Smart Client离线支持及其用户界面等方面,几乎涵盖了商业应用领域需要考虑的所有底层功能支持。其中的离线支持管理和自动更新为开发人员在开发Smart Client应用程序的过程中提供了有效的帮助,可以利用这些应用程序块,快速开发出Smart Client应用程序。
离线应用程序块(OAB,Offline Application Block)可以为应用程序提供支持脱机工作的功能。而更新应用程序块(UAB,Updater Application Block)为客户应用程序的自动更新和安装提供了一个可伸缩的基础架构,开发人员可以利用其构建一个需要智能更新的应用程序。在一些大型机构的应用中,通常需要保证所有桌面应用程序都是最新版本,系统管理员或者工程师只需做一次部署和安装,在此后的运行过程中可自动及时更新应用程序。如果没有这一组件的帮助,开发人员将重新回归胖客户端时代部署困难的灾难之中,而UAB可以很好地解决这一问题。
所有的应用程序块都是以源代码的形式提供的,同时提供了大量的文档和示例,开发人员可以非常方便地将代码集成到自己的应用程序中去,从而构建出功能强大的Smart Client应用程序。
智能文档和信息检索服务
作为Office 2003的创新,智能文档(Smart Document)和信息检索服务(Research Services)在真正意义上为Office提供了内在的交互可能性,利用这些技术,我们可以轻松地构建出基于文档的应用系统。
利用智能文档,我们可以在普通文档中嵌入一些高度交互的应用,在原有文档的基础上提供更加强大的交互功能;同时构建在Office System中的还有另外一个强大的功能―信息检索服务。
虽然智能文档和信息检索服务提供了强大的客户端交互功能,但是其产生的标记是相对不容易理解的XML标记,微软的MSDN开发站点提供了一些工具和SDK用来帮助开发人员加速应用开发,并提供了必要的指导使XML更易被人理解。
同时Visual Studio.NET Tools for Office(VSTO)为Word和Excel提供了托管代码扩展的对象模型访问入口。利用VSTO,开发人员能够构建出功能强大的OfficeSmart Client应用解决方案,因为其不仅提供了访问Word和Excel的全部功能,并且能够利用.NET Framework的全部特性诸如Windows Forms。VSTO允许开发人员方便地创建和调试应用解决方案。VSTO本质上来说是提供了代码隐藏(Code-Behind)的文档来组成应用解决方案,从而能够利用“宿主”应用程序提供的各种功能。
Smart Client的安全支持
作为一种客户端表现技术,Smart Client是分布式应用程序,通常跨越多种不同的产品和技术。那么如何去保证这些应用程序的安全呢?在服务器端,需要采用一套方法来保护网络、服务器本身及其应用程序;在客户端,应集中于利用平台的安全特性、客户端代码可以执行的特权操作(代码访问安全)以及与服务器平台和服务器应用程序的交互。
Smart Client技术通过一系列的安全措施,如身份验证、授权、数据验证、保护敏感数据、审核和日志记录、异常管理和更改和配置管理等来去保证从服务器到客户端应用程序的安全。
通过应用程序块,在.NET Framework强大的安全性和可扩展性的基础之上,Smart Client提供了全面可靠的安全支持。Smart Client技术构建在“可信任计算”的基础上,从设计、开发、测试、部署各个过程都提供了安全参考,利用.NET Framework全新的安全模型,可以开发出安全的应用;利用Office的IRM(Information Rights Management),用户可以严格的控制文档的阅读、转发、复制等过程。
Office信息桥框架(IBF)
在商业企业办公中用得最多的软件是Office套件。但是在Word中写一篇报告或者在Excel中编写财务收支表的时候,我们常常要切换到企业的内部系统中,或者用IE或者用专门的客户端软件来查找自己需要的信息,诸如客户表、营业额、库存情况等。
IBF正是针对这样的问题而提出的解决方案,它构建在智能文档技术之上,目的是使Office文档和企业提供的Web服务连接起来,其核心目标是:使典型的 Office 用户或信息工作者能够在 Office 应用程序内部发现并执行企业业务对象。这些业务对象使用专门用于表现松耦合的企业业务线(LOB)系统中的数据和操作的 Web 服务进行公开。换句话说,作为解决方案的开发人员,可以使用信息桥框架来实现某些方案,使用户能够在不离开Microsoft Office应用程序的情况下访问重要的业务数据和过程。
通过IBF,用户可以简化解决方案开发。开发人员可以开发独立于Web服务的Office解决方案,从而使Office到企业解决方案的开发大大简化。因为解决方案是在元数据中定义的,所以开发人员编写少量代码或者不用编写代码就可以构建简单而强大的Office解决方案。IBF能够帮助用户提供灵活高效的扩展应用解决方案。IBF很容易进行扩展、更新或修改。自描述元数据、UI 控件、Web 服务可以在组织内的多个功能性解决方案中重用。因此,可以将新的解决方案部署或添加到现有的应用程序中,而无需进行重新编码。
应用推动技术创新
Smart Client绝不可能仅仅停留在概念上,Smart Client显然更贴近实际,一系列成功的商业案例正在证明Smart Client已经在商业应用中持续地创造出新的成就。
作为中国高等教育的典型代表,复旦大学管理学院的MBA管理与教育服务信息系统从很大程度上体现了高等教育体制、服务管理和信息技术的完美结合。作为MBA项目核心业务系统,它将支撑管理学院MBA管理与服务的日常运营,从系统上保证复旦MBA项目的长期竞争优势;将支持MBA项目从新闻发布、招生宣传、学生教学与教务管理、学位管理、日常信息服务、就业信息服务、到学生毕业信息服务的各项工作;支持学院各项目的年度教学计划、统计分析工作等一系列基础业务。
通过调研,他们选择了Smart Client技术,因为它可以解决目前管理学院MBA管理与教育服务存在的种种问题。一方面Smart Client可以拥有C/S强大的表现能力,同时在部署简洁方面上并不输于B/S;另一方面,可以将整个系统以模块的形式分割,利用Web服务通信,使整个系统松耦合,以后每个模块都可以剥开独立使用,这样也增加了复用的机会。系统架构与信息交互原理如右图所示,Smart Client技术提供了胖客户端技术和瘦客户端技术所没有的优势:
首先,客户端安装简便。该系统在安装时只要将一个主程序文件下载到本地,直接运行即可,无须改变注册表或共享的系统组件,其他应用组件将在第一次运行时自动下载;
其次,服务器端更新便捷。只需将新版本的程序发布在服务器上,由客户端自动发现最新版本的程序和应用组件,并自动下载和更新;允许脱离服务器时,利用本地的客户端程序和应用组件进行工作;
第三,能够轻松实现后续开发和部署。应用软件开发商可根据企业应用系统的公共接口进行开发,然后将应用组件发布在企业的服务器上,客户端应用程序将自动发现并加载该应用组件。
另外,Smart Client提供个性化用户界面,用户可根据喜好自行设置客户端应用程序,配置信息将被保存到服务器上。
目前,系统已经正式投入使用,同时因为架构的高度可扩展性也为二期开发带来了极大的便利。
LeySer System则是另外一个Smart Client技术的成功应用案例,它是一系列具有悠久历史的学校系列管理系统软件,具体产品有学校会计、学校给与、人事管理、学费管理、资产管理系统、PhotoBoard。LeySer软件在同类软件的日本市场占有率排名第一,达到了70%之多,其版本也在不断更新,为了满足新的用户需求和适应新技术的发展,8.0版本以大幅度地重新制作和全新设计实现了前所未有的多功能和高性能。在Windows平台和Internet环境下可,以更简便的操作性成为面向学校法人的最强的会计系统。
LeySer System的客户端属于Smart Client的范畴,它们可以为用户提供内容丰富且响应迅速的用户界面,提供脱机工作的能力,并且提供利用本地硬件和软件资源的方法。Smart Client为用户提供了在强大且直观的客户端环境中访问信息和远程服务的能力,并且是一种用来开发灵活的、面向用户的应用程序以及提高用户工作效率和满意度的有效的解决方案。应用Smart Client技术,LeySer比其它同类系统提供了更多的特性支持,包括自动更新、离线使用和数据缓存。
此外,在一些高端行业例如金融证券业中也采纳了Smart Client的解决方案,并且在实际应用中取得了很大的成功。一家国内的大型商业银行的金融服务开发和管理平台采用了Windows窗体技术实现的Smart Client,提高了业务流程设计界面的可用性;更广为人知的是中国工商银行通过将自助终端系统构建在WinForm之上,内嵌IE控件,不仅提供了强大的浏览能力,同时提供了丰富的客户端体验;银河证券在其风险监控系统的开发中,也引入了Smart Client技术,以实现程序的自动升级,免除了繁琐的维护工作,融合了“瘦”客户端易维护和“胖”客户端功能丰富两方面的优势。甚至,在个人应用中也出现了采用Smart Client技术的情况。就所有这些应用看来,Smart Client已经在各个领域得到比较成熟的应用,并且将会得到越来越多的认可,也将逐渐普及。
结束语
B/S架构的不足、终端设备的多样化、应用需求的不断扩展,这些因素结合起来宣告了一个时代更替的到来。如同在一场烧荒的野火之后恢复旺盛生机的热带草原,软件世界也正在构造其新一代的“生态系统”,从中催生出更加富有生命力的技术架构,而智能客户端正是这一时代的产物。
某些人或许不会很快转变,毕竟B/S架构曾经是市场的主流。但是所有的技术都会被更新的技术所替代。尽管我们会继续看到基于浏览器的应用程序仍会在某些情况下被开发和沿用许多年,但是下一代应用方向是明确的,智能客户端定将随着网络和应用的发展而成为主流。
