小议部署方法之一

一、引言

 

由于网络(internet)的普遍性不断提高,人人都想用服务器来部署(deployment)软件,这样在系统实现及维护的效率肯定会大大的提高。因为你不需要到用户端去安装你的软件或升级。

过去部署 Windows 应用程序的种种困难使得很多组织倾向于 Web 应用程序,以便简化部署。这使得网络边缘的计算资源不能得到充分利用,并将应用程序限制于非常有限的用户界面。当你在窗体中设置好了所有的控件,并编写了使它们共同工作的代码,你将要部署此应用程序。为大量的用户们部署一个企业级的Windows窗体应用程序将会面临一个关于安装与版本变更的严峻挑战,所以上一辈的开发者更愿意舍弃丰富的Windows用户界面而转向Web应用程序并享受其所带来的部署的便利性。

 

二、应用部署发展历程

 

90年代中期或者更早的一段时间内,基于微软的Windows平台而开发出来的客户端应用程序的数目越来越多。这种大规模的增加主要归功于可用性强、质量好的开发工具和结构框架(比如微软公司的VBVisual StudioMFC等等);另外,可用性强、功能强大的客户端平台也是原因之一。当时,这简直就是开发人员的天堂。

那些应用程序中的绝大部分都是单机版的,它们运行在客户机上并从不关注它们所运行的环境:比如网络上的其它机器或者服务、比如客户机上的其它应用程序。很自然的,所谓的应用程序的集成也仅仅局限于通过Windows系统提供的剪切-拷贝-粘贴特性,实现系统之间少量的数据传递。基本上,由于那些应用程序不断的增加有用的功能,用户倒是变的更加满意了。

 

2.1 两层体系结构和DLL陷阱

 

过了一段时间,两层的应用程序开始出现,这些应用程序允许位于同一个网络内的多个用户处理相同的数据;很快,DCOM的出现使得应用程序能更好的被分布式部署:业务逻辑和状态不再被绑定到一台客户机上。这两个方面的发展很重要,并形成了一个具有新环境和功能性更好的主机模型。

无论如何,所有这些陆续增加的灵活性、功能性都是需要代价的。可能最大的问题就是胖客户端应用程序的部署。伴随着应用程序的复杂性、客户机平台性能的改进,将应用程序可靠、安全的部署到客户机上的难度也在增加。最大的一个问题就是“DLL陷阱”:一个应用程序因为部署了不兼容的共享组件或者共享库,能够中断另外一个应用程序的运行。

另外,应用程序之间不断增加联系也会一并带来很多其它的问题。不管开发工具和框架多好,部署互联的应用程序都是相当复杂的。随着分布式应用程序的规模和复杂性的增加,应用程序客户端和它所需要的服务之间的耦合性也变的更难维护,这反过来更增加了应用程序部署和维护的问题。

因此,虽然胖客户端的提供了一个典型的很好的用户体验并且具有很好的开发支持,但它们仍然是很难部署和维护的。也就在这个时候,互联网出现了。

 

2.2 互联网和瘦客户端

 

互联网在胖客户应用程序上影响很小。一部分应用程序提供一个功能,通知用户已经有可用的更新,或者有另外的内容或者新的特性能够被下载或者安装,但是,从总体上而言,互联网很少影响到客户端应用程序是如何被开发、部署和维护的。

然而,互联网确实提供了传统的胖客户端模型的替代品, 一个承诺解决所有的与应用程序部署和维护有关的问题。基于浏览器的瘦客户端应用程序允许应用程序只在中心被部署或者更新,因此能够减少应用程序部署和维护的相关问题(或者减少成本)。同时,瘦客户端应用程序允许公司能够将他们的应用程序暴露给大量的、各式各样的外部用户群。

不幸的是,这种新的解决方案并不是没有缺点。

那时,瘦客户端应用程序经常表现了最好的方法使公司的信息和服务暴露在一个外部的用户群。但是,在许多情况下,内部的一些已经用胖客户端应用程序实现的应用程序也需要被转移到瘦客户端应用程序模型上。显然,这种转移在减少部署复杂性方面有了利益,不过它明显的减少了用户在操作体验上的一些特性。

瘦客户端应用程序往往牺牲了一些用户已经非常习惯的特性:比如拖放、取消-重复、上下文帮助等等,这些特性变的不再可用。而且,应用程序的响应也变少了,尤其对于商业应用程序,比如那些客户呼叫中心,要求大量的数据入口和在多个屏幕上面导航。

而且,浏览器一直需要完全依赖于一个网络链接。这意味着那些移动工作人员完全没有办法使用应用程序,只有等到他们回到办公室才能重新输入数据。即使一个网络连接是可用的,低带宽和高延时的连接也带来了性能问题,并且降低了用户的效率。

开发人员在瘦客户端那段时间内也忍受着痛苦。缺乏工具支持;而且开发人员不得不从舒适的、能够利用类型安全和面向对象设计规则的、基于组件开发的世界中转移到还不完备的、基于脚本的、HTML的世界中。当前,Web开发人员声称能够开发出来应用程序的程度也仅仅接近于桌面应用程序45年前的程度。而且,拖放、取消-重复、上下文帮助和其它一些客户端程序的普通特性依旧是一个很大的挑战。

尽管瘦客户端存在以上缺点,但是胖客户端应用程序存在的部署、管理问题是如此严重以至于这个更新是值得的。因此,在最近几年,基于浏览器的瘦客户端应用程序模型占到了统治地位。

 

三、部署需求和发展的趋势

 

当前,我们生活在一个基于信息的经济社会。为了在这个高竞争性的市场内不断发展,用户必须处理和借用各种信息源,包括客户的、合作伙伴的和供应者的。用户对他们的应用程序要求更高:他们想要处理活动、计划、分析、可视化、并且展现数据,而不仅仅是读取数据。

这种需求没有局限在一个公司的内部工作范围内。处于领先地位的一些公司开始意识到,他们必须在他们的客户和合作伙伴中建立一套信息平台,以使得他们能更快的、更准确的响应客户的请求;使得他们能够轻松的处理交易、分类、库存信息。同时,用户也能够在自己应用程序内处理这些数据。

毫无疑问,随着应用程序复杂性的提高,用户的期望也在提高。瘦客户端应用程序模型已经无法提供客户对可用性、性能、灵活性和集成的要求。用户现在要求高速响应的应用程序,用来完成他们日常的高效、有弹性的工作。

因此,我们又开始倾向于回那种胖客户端的模型。但是,应用程序的部署和更新如何解决?应用程序的TCO仍旧和以前的模型一样重要,而且,有可能更加重要。你到底是愿意牺牲在可用性上的易管理性,或者还是牺牲用户出色的操作体验?

很幸运,我们不用牺牲两者中的任何一个。现在已经存在这种能力:使得我们能够充分的利用胖客户端模型带来的好处,提供给用户出色的操作体验,同时,也能够让我们享受集中部署和更新带来的好处。简而言之,这种新一代的客户端应用程序,就是被称之为“智能”客户端,它能很好的提供原本两种客户端的特性,并且增加了数据和连接的管理,产生了一种更好的用户体验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值