2004-09-28, 01:53
|
#1
|
|
灰衣老僧
等级: 七袋长老
|
【转贴】mrp/erp系统,c/s与b/s结构孰优孰劣?
|
| |
A: 大家来说一说,MRP/ERP系统,C/S与B/S结构孰优孰劣?
MRP/ERP应用系统的实现中,C/S(客户/服务器)与B/S(浏览器/服务器)结构模式,前者是三、五年前软件厂商所推崇和宣传的主要模式,而近几年开始炒B/S结构。
前些天一个做ERP销售的朋友看了我的软件,就问我的软件是不是B/S结构的。当他得知我设计的系统不是B/S而是C/S时,有点失望,于是就建议我能否改成B/S结构的?我问为什么要B/S结构的?他说大家都要B/S结构的,至于大家为什么要,就不得而知了(没有分析)。。。
但就我看到过的B/S结构的"ERP"系统,从操作的容易程度、系统反应时间速度感觉上还几乎是不可接受的。而且,与设计和开发人员交谈的情况来看,设计B/S模式的软件,由于开发工具尚不成熟(C/S模式已经有15年以上的历史,开发工具已经非常成熟,而B/S模式仅5年时间,而且还处于发展变幻之中),开发工作量明显高于开发C/S模式的应用程序(大约是3倍)。
那么,为何还有那么多的软件厂商不遗余力地往B/S上转移呢?
B: C/S与B/S的关系与管理需求是紧密联系的,在集团管理中有集中式管理与分布式管理的区别一样,集中式管理要求对数据实时监控,因为那些外地的分公司需实施进行远程操作数据的读写与传输,所以需要用B/S结构来保证数据操作实时性的(只要能上网就能登入操作).
应用产品、系统产品、网络环境的不同,又将其细分为:C/S结构应用方案;系统更新时客户端均须维护,对网络带宽要求较高,主要适合局域网运行.
B/S结构应用方案b/s:客户端免安装,客户端免维护,方便的查询,所有查询均可保存个性化方案和公用方案
集团管理分布管理就是用C/S结构的来构成个个区域(各分公司)数据存储与操作,而后在定期上报数据给总部汇总,这样操作的数据不需要B/S结构。
根据企业不同的要可选择不同的模式,不是把有的企业都需要B/S,也不是所有的C/S产品能满足所有的企业需求(如作全国分销的信息化系统绝对需要B/S结构的产品来实时监控个个分销公司和营销网点)子公司的地域和带宽进行判断,一般建议异地的子公司采用B/S,与集团总部在同一局域网内的子公司,并且是高带宽的子公司采用C/S。
异地子公司对总部数据读写用C/S结构是需要支持高宽代进行异地的海量操作。
C: 皮毛之见,勿笑。
C/S:
优点:
1、速度快;
2、操作风格与绝大多数ERP客户的已有其他系统软件(OA、财务)类似,便于ERP操作者接受(很多企业的ERP操作员文化水平有限,B/S对他们来讲显得太玄乎了);
3、便于键盘操作,此优点参考第2条;
缺点:
1、服务器的放置问题(此问题对沿海地区的台、港资原料进口、产品出口企业很显著),谁知哪天海关会把server拖走检查有没有企业私自内销原材料或者产品的情况;
2、终端安装、升级的工作量大;
3、无法跨平台;
B/S:
优点:
1、可以实现跨平台,多格式文件浏览;
2、无需进行终端安装;
3、Server放在境外总部万事ok;
缺点:
参看C/S的优点;
D: 就传统的 C/S结构而言,由于数据的存取和处理主要依赖于客户端程序,本地化的程序配制复杂(如必须配制本地ODBC或固定服务器机器名等),逐台配置机器对于一个拥有多用户的复杂系统而言,工作量较大,维护成本高;而应用程序由于需要经常更新,因此逐台更新的问题比较复杂;
另一方面,C/S结构对网络底层协议的依赖性大,由于部份程序不是建立在TCP/IP协议之上的,因此对防火墙、多网端等等问题的解决并不方便,对跨平台(如 Unix-Windows)的支持也稍显不足;
最后,目前的应用系统建设一般都超出了局域网范畴,传统C/S结构对实现内网/外网、局域网/广域网间的有机整合也有局限。
相对来说,B/S结构对用户的技术要求比较低,对前端机的配置要求也较低,而且界面丰富、客户端维护量小、程序分发简单、更新维护方便;
它容易进行跨平台布置,容易在局域网与广域网之间进行协调,尤其适宜信息发布类应用;
但是,B/S结构在客户端对大容量数据进行深层次分析、汇总、批量输入输出、批量更改的工作中出现困难,尤其更难实现图形图像等复杂应用,对于需要与本地资源(如调用本地磁盘文件或其他应用程序,如扫描驱动、OCR识别、图型压缩与解压缩和工作站本地密码机的调用等)进行交互性的操作上极不方便,因而难以适用于基于流程类的办公、办证、审核等系统。
E: To:YDB or Other...
可以猜测YDB不是一个数据库方面的专家,所以他在分析C/S结构的特点时犯了主观臆断的错误。
YDB所叙述的“就传统的 C/S结构而言,由于数据的存取和处理主要依赖于客户端程序,本地化的程序配制复杂(如必须配制本地ODBC或固定服务器机器名等),逐台配置机器对于一个拥有多用户的复杂系统而言,工作量较大,维护成本高;而应用程序由于需要经常更新,因此逐台更新的问题比较复杂”
所有的认识都是偏见和谬误的:
首先:对数据库的访问是用SQL语言(无论是C/S还是B/S)都一样,因此数据的存取都是主要由数据库服务器完成(明显并非主要依赖与客户端程序,当然,在C/S模式实现的系统中,如果分析有一些业务逻辑更合适在客户端进行处理,可以比较方便地设计在客户端进行处理。但在客户端处理还是在服务器端进行处理这是由设计人员决定的,而非C/S结构固定的);
第二:“本地化的程序配制复杂(如必须配制本地ODBC或固定服务器机器名等),逐台配置机器对于一个拥有多用户的复杂系统而言,工作量较大,维护成本高;而应用程序由于需要经常更新,因此逐台更新的问题比较复杂”的说法更是谬误!
现在很难找到不支持TCP/IP协议的数据库,(至少目前我没有见到过任何支持C/S模式的数据库不支持TCP/IP协议)。另外,配置数据库(如ODBC)也是可以由安装程序自动完成的。(上次我放在网络上的DEMO的数据库的配置就是由安装程序自动配置的)。
由上可知,YDB所述的B/S的优点都不是B/S所专有的,C/S也同样可以拥有那些优点。
现在VPN(虚拟内联网)的建立已经相当方便,多数路由器有支持。因此公司内部(分布在不同的地区、城市或国家)的计算机都可以被C/S系统看做是同一个网络(雷同于LAN)。
当然,B/S也有它的不可取代的地方,例如,对供应商、客户那些非内部用户,以B/S方式实现就更方便让那些非内部用户使用。
一些报表和查询做成是B/S方式,也方便公司的一些流动性比较强的用户访问系统。例如出差在外的销售人员或外出的老板、经理等。
这些都要用户视需求而定了。。。
F: sorry没表达清楚。原来的技术并不是不可用,就像企业管理软件经历了主机终端阶段(VAX、王安、HP等),C/S阶段,必将进入B/S阶段。不代表原来的东西不能用了,只是人们对新鲜事物的好奇心以及商家的炒作,把所谓的老技术活活淹死了,而技术本身也就随之进步了。不信大家走着瞧,5年之内目前存在的B/S结构种种不足均被一一克服,java(也许有出来其他的)的技术也不是今天的样子。试想想java程序员几年前多NB,现在成了入门工具。
其实对于企业来说,如果B/S做的足够好,B/S优势非常明显:
1、及低的维护成本。我在实施C/S产品的时候,一个大厂的项目组就给我配了一辆自行车,专门更新程序用。而且厂区里只有我能骑自行车,牛。
2、安全性绝对好于C/S,特别是在局域网环境下。不知别人家的产品,原来我们家的C/S产品在本地机上建有数据,危险。
3、分布式管理是大势所趋。目前已经很少有企业销售、生产、财务在一个大院里了。一般的企业也有销售公司(城里酒店或大城市)、生产基地(郊区)以及分部于全国各地甚至世界各地的产品及配件中心库,用C/S的痛苦可想而知,我们那时候要求客户租光纤、DDN、微波等,现在B/S基本上不用了。
目前的B/S的弱点在技术层面,而不是体系结构的问题, 前者总能克服和解决,后者是致命的,如果该了,他就不是C/S了。
G: C/S,B/S之间的优缺点大家说得都差不多了。
但大家怎么就忘了还有T/S(终端/服务器)呢?
现在有很多的软件,如citrix、Tarantella、Canaveral iQ等等,利用类似Microsoft Windows Terminal Services的方式,既克服了C/S方式多地点应用的局限性,又没有B/S方式数据交换量大对带宽要求高、安全性不是很令人满意的确定。
例如citrix,有很好的跨平台能力,Citrix的独立计算结构(Independent Computing Architecture)可在服务器上集中处理网络系统中的所有应用程序,不但节省成本、提高效率,更能降低对带宽的要求,支持各种平台或设备,同时加强安全保障和集群管理功能。简单地说,所以的计算都在本地网内,软件只是把屏幕的变化和输入输出设备的指令进行传输,哪怕在56k拨号的情况下,照样能在低配置的客户端上运行大型软件。
所以,不管对软件开发商和用户来说,B/S+T/S才是最有效、最经济的方式。
H: 主題遺漏了第三種方法---thin client.
一個經驗:某公司把telnet (Informix based) application換掉,改用上海某軟件公司提供的Java based的B/S app,於是發生全公司的軟件使用人大反彈---人人抱怨:"這麼慢!輸入不方便!為什麼要換舊系統?".
B/S app缺乏C/S app的傳統優點---client end報表設計能力/畫面換頁方式/client執行速度---而且永遠比不上!
如果我沒有記錯,B/S app每次刷新資料,都必須把整頁資料重送.
B/S也不是thin client! 它必須先安裝Java Virtual Machine之類的厚重library.
Thick C/S app的致命缺點:只適合在Local Area Network (LAN)使用.
在我們的thin client ERP軟件中,能見到B/S以及thick C/S的優點,同時去除二者的限制.
尤其在與B/S app比較時, 我們懷疑B/S app有能力提供如我們所具備的 "傳統優點".
我只認同B/S app一項優點---跨平台. 然而這項優點,並非B/S app的專利!
|

|
__________________
不断学习,超越自己!
|
|
|
|