超越浏览器

时间:2022-10-09 05:25:24

软件架构从C/S到B/S的转变,反映了Internet应用技术的进步与繁荣。然而,B/S能否解决所有软件应用问题,仍值得商榷。不断变化的应用需求,期待更加全面的技术覆盖更加广泛的软件应用。作为微软.NET战略之后又一新理念,Smart Client(智能客户端)已经成为支撑无缝计算的基础所在。

今天,越来越多的人发现,B/S架构虽然得到了最好的支持,但是对于不断出现的新的需求,依旧有心无力,许多事情依旧需要回归到C/S架构,于是有人提出了“回归胖客户端”的论调。姑且不去论证其准确性,但是有一点可以肯定,一种新的文化正在渐渐颠覆经过许多年发展建立起来的B/S文化。

自.NET战略推出以来,一个新的概念也随之广为人知―Smart Client。可以预见的是,未来几年智能客户端将成为应用开发的主流架构。

面对当前B/S架构的种种问题,软件业提出了一些新的架构作为解决方案。未来的应用在技术架构经历了大型机到C/S再到B/S发展历程后,摈弃了各阶段不同软件架构的缺点,期待着既具有更加丰富表现力又契合开发、应用和维护需要的客户端,Smart Client正是如此。

开启Smart Client之门

让我们首先记住一个名字:Tim John Berners-Lee。

正是这个英国人在不经意间改变了整个世界,也成就了B/S时代的辉煌。1989年3月Tim提出利用Hypertext(超文本)构造链接信息系统的设想,并于1991年在此基础上Tim开发了第一个真正意义上的Web 服务器―HTTPD、第一个客户端浏览器―World Wide Web,之后又在1991年建立并开通第一个WWW网站。而1993年5月,伊利诺斯州大学的天才少年Marc Andreessen开发了第一个浏览器Mosaic,从此Internet终于得到了爆炸性的普及,也成就了后来昙花一现的Netscape(曾经达到94%的市场占有率),随后微软加入,点燃了浏览器大战的战火……

伴随着浏览器大战,人们从真正意义上享受到了科技进步给人类带来的福祉。一夜之间,B/S结构成为应用开发的主流架构,浏览器成为客户端的唯一工具,这种不需要部署的软件应用确实给了很多人无限的期待。ISV、解决方案提供商及其企业用户纷纷不约而同地提出采用B/S架构作为企业信息应用的架构,因为那样可以免除之前C/S时代高昂的部署和升级费用,使其能够快速适应不断变动的企业业务。渐渐地,他们发现自己不断复杂化的业务通过简单的页面浏览已经无法满足要求,这个时候相关的客户端脚本技术开始走上舞台。说起来有点戏剧性,Netscape设计脚本的初衷本是为了让网页有更好的浏览性和趣味性,让更多人去享受网上冲浪的乐趣。但是,他们并没有想到这个概念却被后起之秀发挥到极致,脚本越来越“无所不能”,等到硝烟散去,一切已经面目全非,其臃肿不堪的结构再次成为开发人员的噩梦。为了沿袭C/S结构下的界面使用体验,开发人员不得不利用大量的JavaScript和DHTML去实现或者说去“模拟”传统应用程序的使用界面,比如菜单、工具条,还有那复杂的图形和表格。也正因此,Web开发成为当今最火爆的应用领域竞技场,无数的开发人员和各种各样的技术在其中竞相角逐,相关的服务器开发技术如ASP、PHP、JSP还有后来的王者,客户端技术则包括了HTML、CSS、JavaScript、DHTML等技术。

B/S不是万能的

在解决了部署和更新的问题之后,B/S同样引入了一些令人头痛的问题:

始终没有一个非常标准的技术规范来约定,由此造成了各个浏览器在W3C之外做的扩展,在应用开发中,更多的是需要依赖于这些扩展去实现更加绚丽的图形表现和灵活的交互;

作为浏览器大战的胜利者,IE从2001年之后就没有推出过重要版本的更新,这也就意味着我们所有的开发技术都是2001年之前的理念,这与服务器端技术的快速发展相比已经略显脱节;

基于浏览器的应用,因为安全等方面的原因始终不足以成为应用的集成者,更多时候是被动的去接受单一服务器提供的应用;

基于浏览器的应用,严格意义上说是依赖于在线访问而构建的应用,在需要一些离线)的应用中,就显得有心无力,毕竟从浏览器设计的一开始就是希望能够在一个最小权限的“沙盒”模型下去运行。因此,对于本地资源的访问在默认情况下是拒绝的,而部分浏览器允许通过设置来跨越这个安全模型,却没有提供一个相应非常良好的权限分层机制,安全闸门一旦打开,一切便都会暴露在洪水猛兽之前,令人防不胜防,根本无法保证安全;

目前的Web应用开发都是采用脚本技术,但是各个浏览器对于脚本的支持程度却不尽相同,比如微软的IE浏览器同时提供了VBScript和JScript(微软自己对于JavaScript的扩展),Mozilla也提供了自己的JavaScript实现,但是对于ECMA Script Edition 2的支持程度却不完全一致。

面对当前的问题,软件业界提出了一些新的架构作为解决方案,那就是Smart Client。

许多人会问,什么是Smart Client,它又如何能够代表下一代应用的趋势,如何赢得未来呢?

简单而言,Smart Client是一个连接互联网的设备,允许用户本地应用程序通过Web服务和服务器应用程序交互,从而结合了胖客户端应用程序的丰富特性和瘦客户端应用程序的易于部署和可管理的特性,能够为用户提供更加高效和丰富的应用。例如,运行文字处理程序的Smart Client可以通过网络和远程数据库交互,从数据库获取文档处理需要使用的数据;运行Windows Mobile的智能手机可以从网络上获取相关图书的信息,可以获取天气预报。要获得这些功能,不需要其它设备,只需要这些终端拥有网络连接和后台的Web服务。

胖瘦客户端优点集于一身

Smart Client可以灵活而充分使用客户端资源 ,包括客户端的硬件资源和软件资源,可能是利用客户端的CPU计算能力,也可能是利用其存储能力,还可能是利用客户端的资源提供更加友善的用户体验。

利用这种技术能够智能集成网络资源服务。通常而言,Smart Client是整个应用系统的一个部分,大部分商务逻辑还是在服务器端实现,那么Smart Client就必须尽可能利用通过网络可以获取的资源和服务,不限于提供分别的应用程序,而是整合在分布式商业应用环境中的组成部分。

并不是所有的应用都能够保证随时在线,需要保证在明确脱机,使用低带宽或高延迟网络,或者连接时断时续的情况下继续高效地工作。

通过一个集中的服务器,Smart Client通过网络可以非常容易地实现部署和更新。这是和传统胖客户端程序最大的不同之处,Smart Client应用程序可以在其运行时或位于后台时进行自动更新,避免陷入版本的噩梦。

Smart Client应用程序能够运行在许多具有网络连接能力的设备上,包括台式机、工作站、笔记本、PDA、智能手机等,并能够通过分布在不同平台上的Web Services实现跨平台应用。

这些完整地反映了Smart Client应用程序的优点,在融合了胖客户端和客户端的优势之外,还引入了智能网络连接和数据管理的功能。由于Smart Client应用程序涵盖各个领域,这些程序在设计和实现上的差异比较大。从最终运行平台来划分,大致可以分为如下三类:

Windows Smart Client通过.NET Framework 1.1,WindowsSmart Client应用程序极大地发展了原先的胖客户端应用程序架构,并且在原来的基础之上,提供了完整的Smart Client特性,Microsoft Money和Microsoft Outlook就是这种应用的典型案例。

Office Smart Client应用程序 从Office 2003开始,Office文档已经不仅仅是静态的数据,通过内置的XML支持和Web服务的访问能力,在企业应用领域,Office System成为信息工作者最有效的工作平台,同时也成为Smart Client应用程序的运行平台。用户可以在不离开Office的情况下访问企业数据,也可以根据文档提供的标记扩展操作企业业务。

移动Smart Client应用程序 自从微软将Pocket PC和SmartPhone整合在统一的平台“Windows Mobile”下之后,基于Windows Mobile的应用也越来越多,同时Visual 对于移动开发也提供了强有力的支持,通过.NET Compact Framework和越来越多的模拟器,基于移动的Smart Client应用程序开发已不再是难题。

Smart Client带来什么

在微软的开发代号为“Longhorn”的新一代操作系统没有到来之前,相信Smart Client必将是未来几年中基于客户端应用的主流软件技术架构,因为大部分的客户端应用都是承载在Windows操作系统之上。

在智能设备领域,微软经过几年的努力,已得到了越来越多的厂商支持,基于Windows Mobile的相关应用也越来越广泛。在Longhorn中的图形和展示引擎Avalon问世之前,Smart Client将是客户端开发的代名词,与之竞争的技术还有Java的WebStart。随着Visual Studio 2005的即将,它所提供的ClickOne技术会将Smart Client推向一个更加成熟的阶段。

Smart Client可以提供强大的客户端体验,动态适应不断变化的商业需求,这与IBM倡导的“On Demand”战略颇有异曲同工之感。随着与第三方ISV的进一步合作,同时也随着技术爱好者的开发,以Smart Client概念和技术的产品必将成为网络应用的主流,从而进一步地丰富和强化网络功能。

上一篇:航空物流供应链的信息透明化 下一篇:无线应用迎来新机遇