智能客户端:C/S与B/S的融合

转载 2007年09月20日 06:09:00

智能客户端:C/S与B/S的融合


■ 娄激扬



C/S架构与B/S架构都存在不可避免的局限,而智能客户端恰好能克服它们存在的问题,提高用户满意度,降低总体拥有成本。

人们对智能客户端的关注开始于微软。事实上,自微软推出.NET战略以来,其最令人关注的技术新动向之一就是对智能客户端(Smart Client)技术的深入研究与应用推广。尤其是微软公司将这种体系结构纳入到.Net框架后,它立即引起了业界广泛的关注。

微软对于智能客户端的定义是这样的: 智能客户端是易于部署和管理的客户端应用程序,它们通过统筹使用本地资源和到分布式数据资源的智能连接,从而为您提供高适应性的、快速响应的和丰富的交互式体验。

有专家认为,智能客户端技术是瘦客户端应用的代替技术。由于软件巨头微软的大力推动,业内人士预计,它将在软件产业变革中扮演重要的角色。

B/S还是C/S?

你的软件产品是B/S(Browser/Server,浏览器/服务器)还是C/S(Client/Server,客户端/服务器)架构的?如今当软件供应商在应标时,经常被用户问到类似的技术问题。是B/S还是C/S已成为当前软件产业发展中不可回避的技术架构问题。

其实,无论是B/S还是C/S都不新鲜。C/S技术从上世纪90年代初出现至今已经相当成熟,并得到了非常广泛的应用,其结构经历了二层C/S、三层乃至多层C/S的演进。B/S技术则是伴随着Internet的普及而来。

应该说,B/S和C/S各有千秋,它们都是当前非常重要的计算架构。在适用Internet、维护工作量等方面,B/S比C/S要强得多; 但在运行速度、数据安全、人机交互等方面,B/S则远不如C/S。综合起来可以发现,凡是C/S的强项,便是B/S的弱项,反之亦然。因此,问题也就因此而产生了,我们的软件产品到底该用B/S还是C/S架构呢?一场关于C/S与B/S的口水战也由此而在软件业界拉开了序幕。在互联网泡沫盛行的2000年至2002年间,这场口水战达到了顶峰。但直到现在,人们也没有辩出谁是谁非。

事实上,这场口水战不可能有胜负出现,因为B/S与C/S具有不同的优势与特点,它们无法相互取代。例如,对于以浏览为主、录入简单的应用程序,B/S技术有很大的优势,现在全球铺天盖地的Web网站就是明证; 而对于交互复杂的ERP等企业级应用,B/S则很难胜任,从全球范围看,成熟的ERP产品大多采用二层或三层C/S架构,B/S的ERP产品并不多见。

智能客户端: B/S与C/S的融合

包括微软在内的很多软件供应商注意到了软件架构的争论,人们不禁要问: 是否有可能将B/S与C/S的优势融合呢?

微软的答案是肯定的。智能客户端就是它给出的解决方案。微软认为智能客户端应用程序可以将胖客户端应用程序的优点和瘦客户端应用程序的部署和可管理性优点结合起来,使之在资源的利用上达到某种平衡。目前,微软已形成Windows智能客户端、Office智能客户端,以及移动智能客户端等解决方案。

无独有偶,国内也有不少软件公司在进行这方面的研究。新中大在多年的深入研发的基础上,推出了自己的智能客户端技术。该技术完全是基于Web的应用体系,既不属于C/S,也不属于B/S,兼具了二者的优势。

客观地说,用“智能客户端”来描述新中大的产品技术或许不那么准确,因为“智能客户端”只是对客户端而言的,在新中大的技术还包括了服务器端的许多技术,例如Web服务、应用服务以及基于SOA的其他服务。目前,在新中大已有两个基于智能客户端技术的系列产品,GSoft/G6和A3。不过,在GSoft/G6产品中,后端应用的开发采用了符合J2EE标准的应用平台和工具; 新中大A3产品的后端开发则是采用了Microsoft .Net平台。

智能客户端的优势

和B/S或C/S相比,智能客户端技术具有非常明显的优势。总结起来可以概括为三点,即充分本地资源利用和享受本地用户体验、具备离线连接能力,以及智能部署和自动更新。

智能客户端应用程序因功能级别的不同而呈现出多种形式。但所有智能客户端应用程序都具有的一个特性是具有利用本地资源的能力,如用于存储、处理或数据捕获的硬件(例如,闪存、CPU 和扫描仪)。

在企业或 Internet 范围内,智能客户端应用程序能够轻松地与系统连接并与之进行数据交换。Web 服务使智能客户端解决方案能够利用行业标准协议(例如,XML、HTTP 和 SOAP)来与任何类型的远程系统交换信息。更为重要的是,无论是否连接到 Internet,智能客户端应用程序都可以正常工作。在没有网络连接或网络连接断续时,智能客户端能够利用本地缓存和处理进行操作。该功能对于新一代的移动信息工作者来说极具价值,尤其是在指定了移动连接的成本、期限和速度的情况下。

顺便说一句,离线功能不仅可以在移动方案中使用,而且其桌面解决方案也可以利用离线体系结构来更新后台线程上的后端系统,从而保持用户界面的响应并改善最终用户体验。该体系结构还能够提供成本和性能上的优势,这是因为用户界面不需要在智能客户端与服务器之间来回切换。另外,由于智能客户端只在后台与其他系统交换所需的数据,因此它与其他系统交换的数据量得以减少(即使在硬连接的客户端系统上,这种带宽的减少也会带来巨大的好处)。这反过来会增强用户界面 (UI) 的响应,因为UI 不是通过远程系统呈现的。
表 C/S架构与B/S架构的对比(点击小图看大图)

过去的传统客户端应用程序很难进行部署和更新。经常会出现这样的情况,安装一个应用程序会中断另一个应用程序。诸如“DLL Hell”等问题使得安装和维护客户端应用程序变得很困难和棘手。智能客户端技术有效地解决了该问题。例如,新中大智能客户端尽管不完全是零安装,但是已做到零维护,客户端程序即用即下载、自动匹配版本、支持断点续传,真正体现了“智能”特质。

总体而言,由于C/S与B/S都有不可避免的局限性,而智能客户端恰好能解决他们的问题,能提高用户满意度,并降低TCO,因此,不少专家们认为,智能客户端是企业应用软件发展的新方向。在未来的两至三年,智能客户端将会逐渐得到提供商与用户的认可,产业界也会掀起一股向智能客户端迁移的热潮。(本文作者为新中大软件股份有限公司总工程师)

链接:智能客户端推动ERP创新

谁也没有料到,国内的ERP产业在经历了两三年的风光后,那么快地陷入了一个新困局: 恶性竞争越来越激烈。恶性竞争所带来的直接后果便是,提供商们的日子过得越来越艰难: 营业额在上涨,但利润率却在下滑。

为什么既令ERP提供商也令用户深恶痛绝的恶性竞争会如此盛行?根本原因在于国内ERP产业的同质化现象越来越严重。一个产业如果进入同质化竞争时代,价格必然是最有效、最直接,也是最具自杀性、最能带来恶性竞争的手段。

摆脱恶性竞争的根本原则是差异化。毫无疑问,对于国内的ERP产业而言,技术创新是实现差异化的最佳途径,也是最根本、最具可持续发展的途径。

那么,当前有哪种技术创新可以令整个ERP产业为之心动呢?在ERP领域磨练多年的新中大软件股份有限总裁石钟韶认为,智能客户端将会成为目前ERP产业技术创新的最佳切入点。另有从事管理软件研究的人士甚至大胆预言,向“智能客户端”的迁移将打破现有ERP的格局,彻底改变同质化竞争的局面,从而摆脱ERP产业的恶性竞争。

(计算机世界报 2006年02月20日 第06期 B21

 

相关文章推荐

智能客户端:C/S与B/S的融合

C/S架构与B/S架构都存在不可避免的局限,而智能客户端恰好能克服它们存在的问题,提高用户满意度,降低总体拥有成本。 人们对智能客户端的关注开始于微软。事实上,自微软推出.NET战略以来,其最令...
  • mentat
  • mentat
  • 2012-11-19 16:01
  • 1553

B/S下基于LODOP控件客户端自动打印小票

Lodop是一款专业的WEB打印控件,其设计目标是简单易用、功能足够强大,开创WEB打印开发的新局面。 Lodop设计者对WEB下的打印开发任务进行了分类汇总,高度抽象,设计出仅用几个功能函数,就可...

JavaWeb B/S架构中实现客户端浏览器打印(使用scriptX)

最近在项目中需要完成一个打印功能,几番周折。 CSDN帮助了我很多,饮水思源。   首先讲下我项目的情况,用的SSH架构,要实现点击直接打印的功能,走了很多弯路,最终我打算先在jsp页面把需要打印的表...

B/S操作客户端硬件的解决方案

一般来说,客户端都是windows系统,所用的硬件驱动都是dll那么我们要想在客户端使用客户端硬件,就必须使用微软的com技术了,目前我找到两个具体的解决方案 一个是用MFC ActiveX,这里有...

B/S架构下applet,JNI实现对客户端硬件的读取

声明:本文只是提供了大体的思路,文中所涉及到的代码,不保证都能无错误运行  前言 项目要求连接读卡器读写IC卡。由于项目是用PHP开发,所以刚开始设计的是用PHP连接读卡器(几个人还都没察...

b/s架构系统通用客户端

  • 2012-06-29 09:39
  • 1.68MB
  • 下载

C/S模型 多线程服务器实现简单计算工作并回馈客户端

本位代码实现客户端输入相应需要计算的表达式,服务器做简单计算,并将结果返回。 头文件: #pragma once #include #include #include #include ...

c/s练习——多个客户端上传图片到服务端(tcp)

我们使用tcp上传图片,设计思路是:服务端一直开着,客户端上传图片,需要给服务端一个图片的路径,在服务端使用客户端的文件名在保存。如果重名,我们就加一个序号。因为图片上传我们使用的是字节流,所有我们先...

C# 点滴——第1篇:C/S客户端(带SQL连接字) 开发环境搭建, 数据库连接字的使用

前言: 终于,我参与的第一个C/S客户端诞生,但不同的是这个客户端的整个工程是有我和我一个哥们两个人全权完成的,一个负责底层动态链接库(DLL),而我就负责系统界面编程,漫长的过程夹杂着的都是满满的汗...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)