三层到底实用不实用???(200分)

学习学习
 
高手对话,实在是让鄙人感慨万千:高手就是高手
 
三层结构是应该是发展趋势吧
 
我不懂三层,听一听真奇妙!!!
 
就我认为,三层结构在国内是“鸡肋”,没有多少真正的实用价值!
相信各位基本山看过李维的《Delphi 5.x分布式多层应用 系统篇》,但结果是:看起来很好,用起来没用!
难道各位还不明白:客户根本不管你用什么高新技术,几层结构,只要能解决我的问题就是好,别的没用!
各位,一切以市场问导向!
看看速达、万国,我们只有做那些有特色的MIS系统即可,别的,免了!
国内的软件动则ERP、电子商务,看一看SAP、BAAN、CA等软件,简直是可笑!
跟在Borland(我依然喜欢这么称呼)公司后面,你要想超过他们,简直是妄想!除非你能做出自己的开发工具,象这些软件根本就不会使用这些通用开发工具!人家都是使用什么4GL、Progress等等,而且是自己开发!
各位,不用那么神乎其神,一般的使用C/S结构足够对付的了,大型的量你也写不出来!各位可以看一看天心的市场定位!
各位,不用牛,我随便提出几个问题就让所有的人倒下!
1、系统客户端可以是简体、香港繁体、台湾繁体、英文,而且无论是菜单、信息提示、数据内容均改变为相应的提示,只是如果语言版本冲突则不允许更改数据!
2、发布时BDE的配置问题!(想想:如果客户另外安装其它采用BDE的软件,BDE版本冲突或者别名冲突会怎么样;采用ADO、ODBC连接的软件,如果客户机是WIN95,那发布起来有你好看的;采用SQL-SERVER、Oracle的软件,数据库的建立也是个问题,总不能你亲自去给他们建数据库吧!(除非有微软的核心资料!))
3、系统数据和MAC系统转入的问题,现在客户基本使用MAC系统做图像设计,然后转入软件系统,怎么样,又是个难题吧!
 
starfarm同志前面说的我都同意,目前很少有用三层的真正机会,不过,最后的三个问题实在是...
1:通过D5的最新功能可以自动判断字符集,自动更新界面,当然,判断输入是什么字符应该不难吧?
2:A.BDE版本没问题,我在装了D5(BDE5)的机器上装以前开发的程序
(BDE4)没问题,而且,除非别名重名(起的长点,应该可能性不大)否则不应该有问题
B.ADO、ODBC:95也不麻烦吧?现在发布都用光盘了,给他个IE4、DCOM98、MADC是问题吗?
C.SQL数据库发布更简单,作个script,安装完运行一下就得了,这也怕烦?再说,真的是
大系统,需要开发商负责安装也很正常嘛
3、这是唯一我没解决的问题,不过我还没遇到过。不过如果不用delphi,应该就不是问题了,
如果用,而且MAC不支持WIN BOX之类的东西,也不能转到其它计算机,那么就是所谓的程序
移植性问题了,唉,又是移植
 
TO CJ:
感谢您的支持!
针对我提出的三个问题,你很大部分是曲解了我的意思!
1、界面及信息提示DELPHI是完全可以实现,网络蚂蚁已经有现成的例子,但是我要输入的数据也要随之改变!例如人事部门(简体)输入员工资料,仓储(繁体)要根据员工资料分配物品(要提供繁体报表供台湾总部),财务报表要提供大陆(简体)和台湾(TW)、香港(HK)三套报表,分别采用不同的语言,这是难题!其实说白了,界面提示用什么都无所谓,关键是数据!大陆方面基本上可以看懂繁体字,而台湾和香港部分看简体就麻烦了!譬如说简体的“仓”很多人就不认识!
2、BDE的配置说起来容易实际上很麻烦,当然如果每个客户端用手工配置也不会存在问题(歪招:客户端如果是WIN2000也不会有这么多乱七八糟的问题),但是客户的维护成本太高,而且很大一部分会说是你的软件有问题,如果每次出这种问题都由你出面,那死定了!想想WINDOWS那么容易死你就明白了!客户端一定要安装简单,最好是点一下SETUP直接搞定!要不又要MDAC、DAO、DCOM、BDE等等,谁不烦?
3、这个问题不讨论也罢,有很多数据库工具(例如:FileMake)已经可以解决!当然利用PCMACLAN、NT-SERVER下的共享也可以解决,但是麻烦,如果直接可以采用类似于PCMACLAN的结构就好了!
我依然这么认为:关键是市场,要你的软件操作简单,管理方便,那就是好;至于技术(姑且称之为技术),反正在别人后面,我还不如买现成的系统(每套大约1000万以上),只要用的起就买的起!
 
1.没有误解,我说了,编码转换并不困难,其实,数据库中的数据应
当是一致的,或者,应该有类似编码的列存在,如果客户真的需要,真的不复杂。
2.不麻烦不麻烦,都需要配置的,一个安装程序可以直接搞定的,InstallSheilder Profasional/Wise Install Master
都直接搞定!
3.我也不想讨论。
最后在此同意你最后的观点。不过,多层是趋势,需要了解,在真正需要的时候
能用,就可以了,不必要盲目追求所谓多层。另外,多层也不只是MIDAS,还有
RDS等,Sybase等公司也有自己的解决方安。所以,别订死一样
 
(先请各位恕罪,我喜欢毫不留情地和你辩驳每一个漏洞)
我不同意starfarm最后的观点:
>> 关键是市场,要你的软件操作简单,管理方便,那就是好
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
你说的这个完全不是市场,是技术。如果把这个叫市场的话,那技术真的就光是写写代码了!
一个软件的易用性不好,的确让人感到这个软件系统可笑。但你不能指望靠搞市场的人
来解决吧,谁能解决?要靠那些身价高、技术好的系统分析设计人员来解决。如果一个开发
软件的公司内只有会写代码的程序员,而程序员又都认为“界面提示用什么都无所谓”,那
这个公司永远做不出好的软件产品。他们失败还是失败在技术水平上,而不是市场上。
我还不同意starfarm的:
>> 就我认为,三层结构在国内是“鸡肋”,没有多少真正的实用价值!
&
不同意CJ的:
>> 目前很少有用三层的真正机会
没有实用价值?很少有用三层的真正机会?作为开发人员,你可以决定使用什么样的技
术,这完全取决于你自己。这是一个主观的问题,你不能客观上去否定它。三层结构的系统
成功与否,现在也越来越取决于规划与设计的技术水平了。的确,要做好比较难,但我感觉
到处都有使用三层的机会,有没有使用价值完全取决开发人员的设计水平(不一定是编码水平)。
开发软件的原则是“为客户开发”。对客户和对技术完全不搭界,但不能因为客户不理
解技术,作为开发人员就否认技术。<B>如果你们都是客户,那我上面说的都是白说了。</B>:)
 
TO Z_CD:
首先声明:不要把业务(做市场)和市场混为一谈!市场是客户要承认你的软件,你的软件要经受市场的考验!要不楞你的业务人员(市场人员)有三头六臂,根本没戏!除非你做短期效应!
对三层机构,我说在国内是“鸡肋”,当然是目前阶段。我们都知道三层结构好,是发展趋势,其实国外早就有三层结构的大型商业化软件,而且在国内卖的还不错,但是就国内的市场而言,你感觉三层结构怎样?还不是一大堆程序员在玩技巧!
当然,我们的很多资料均来源于李维和徐新华,他们是什么人?BORLAND公司的代表!你想他们会怎么说?
说白了:做出适销对路的软件是正路!
国内的软件公司根本就没有实力和别人竞争!
“不能因为客户不理解技术,作为开发人员就否认技术”是针对前面我说的,是的,客户是很少懂技术。你用了新的技术解决了我的问题,那好;如果解决不了,还不如用就的!而且DELPHI开发的三层结构在国内连的标准都没有,都是BORLAND说什么你听什么,这到底算什么?
 
to starfarm:
不好意思,我明说:我发现你在绕问题。
第一句话,你说的没错。管理、市场、技术中技术是老三,技术要经受市场的考验!
可是我辩驳的是你的这句话(还特意打了波浪号):
>> 关键是市场,要你的软件操作简单,管理方便,那就是好
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
如果大家讨论问题,不明确自己讨论的重点,就象在吃面条。这种习惯落在做技术的人身上,很是不好。
第二句话,
>> 如果解决不了,还不如用旧的!...,都是BORLAND说什么你听什么,这到底算什么?
我还是用那句话劝你:作为开发人员,你可以决定使用什么样的技术,这完全取决于你自己。
不能因为客户不理解技术,作为开发人员就否认技术。 ~~~~~~~~~~~~~~~~
~~~~~~~~(因为你说:"BORLAND说什么你听什么", 给大家的感觉是在否认)
<B>如果你是客户或做市场的,那我上面说的还是白说了。</B> 或者你也可以摆明,你是站在市场的角度在讨论。
 
我觉得三层体系并不单是技术问题,更主要的是:它是一种软件开发的方法论。而且,三层结构
主要是指逻辑上的三层,不是物理意义上的三层。传统的client/SERVER也可以采用三层开发思想。
另外,若采用三层开发模式,而不运用OOAD的开发思想,很难做到真正意义的三层结构。如果
把三层和OOAD结合起来,进行软件开发,那么开发出来的应用系统就具有很强的适应性,物理上
即可以是三层的,也可以是传统两层的。可以根据实际的需要灵活配置。
 
同志们,问题是不是已经解决了?基本上统一了?
zcd同志站在技术的角度看问题
sf同志主要还是面对应用和市场上来看问题
z_cd的论点是:
1、作为决定实用哪种解决方案的人员(对不起,我不能同意所谓的开发人员有权利去选择解决方案),不应该因为客户不懂技术而不管技术(糊弄客户)
2、三层是趋势,是实用的,到处都有实用三层的机会
sf同志的主要观点:
1、不要盲目去追求新技术,只要解决问题就是好技术
2、现在国内的软件公司很难和国外大公司竞争
3、目前国内应用三层机会不多
ok,let's go on.
我的观点:
1、虽然不愿意接受这个事实,但是sf观点2应该毋庸置疑了,而且差距不是短时间能够赶上的,所以我们需要努力,不过,相信这个不属于目前讨论范围。
2、zcd的1和sf的1其实并不冲突。在需要的情况下去实用新的技术,不盲目追求也不逃避之。
3、唯一冲突的还是问题的标题,到底国内适合用多层的机会多不多,到底站在“开发人员的角度”还是“客户、市场”的角度。个人认为:
a.两年前的老话:技术虽可贵,应用价更高!这是在一张提议用Delphi重写Netscape的帖子上说的。技术再好,在高,不能解决问题、不能得到好的应用或者应用不当,那都是Shit!目前,国内许多公司都打者“多层”,“B、S”的旗号到处张扬,把客户搞的晕头转向,动不动就出Sun Unix+Oracle掏用户口袋,一不留心又出什么ERP,实际上,许多问题MSSQL+NT+ASP或者一个C/S在性能上完全满足要求,至于ERP,是不是真的符合目前国情还是问题,那东西是管理模式,而不是什么技术。中国人学了多少年老外的管理,现在学的如何了?到底是固有的传统思想作祟还是不符合中国国情?谁也说不清。
b.客户是上帝,市场是标准。这应该能达到共识吧?一切为客户着想,虽然话说的太过漂亮,但的确应该如此,能切实的为客户解决问题达到简单、易用、高效的目的,不完全同意这是技术而不是市场的观点,其实,这是“在市场为指导的技术”。套用一句话就是“我要的不是最好的,而是最适合的”。
c.基于以上观点,我认为,作为开发人员(不是科研人员、学生),在作具体项目的时候(不是学习技术)也应该站在市场和客户的角度来看待问题。
d.基于观点1(不是3.a),作为开发人员或者是计算机从业人员,应该去学习、接受新的技术,(正如st所说,不要停留在某一公司的言论上,无论他是否是最先进的)从而缩短和发达国家的差距,最终超越她们(唉n年后的事情咯)
4.基于观点2来评论目前国内适合三层的应用多不多。
a.在硅谷,主流语言仍然是C/C++和COBOL(记住,它可是 COmmon Business - Oriented Language),很少有什么VB/PB的,至于Delphi就更少。
b.作为一个三层的系统,其硬件成本和软件成本远远大于一个传统C/S的成本、多层应用不会只有一个应用程序服务器吧?那样真不如C/S;一般每个应用程序服务器的成本是昂贵的。你同样需要购买原来C/S系统需要的数据库系统。
c.三层的开发成本是要远远高出传统C/S成本的,无论是在开发时间,开发难度,还是调试;
d.现在去了所谓维护成本不谈,谁需要什么瘦客户?哪个公司现在买机器不搞个PII以上?我想一台C300/64m是不是足够对付一般应用系统了?那么几十万都花了的系统,难道还在乎多花点钱买个好点的机器?难道真有人钱多的花不完,给每人两台机器,一台用系统,还有一台玩Office?
e.所谓维护成本也不是太大问题,在LAN力搞个AutoUpdate的程序不难吧?现成的都有,Novell5还支持软件广播的说!至于Internet客户,email一把,Setup一下应该会吧?再说,你去跑一次也很应该嘛,维护费很多钱/年的啦。
f.从访问效率来说,多层的效率远远低于传统的C/S系统。多层系统大大提高了网络的负荷,在数据处理方面多了中间层,效率不言而喻。
g.稳定性,由于增加了中间层,稳定性势必受到影响(虽然中间层可以提供容错,可又是开销阿,DBMS容错还要加中间层容错,开销上去了,错误的可能行肯定还是增加嘛),错了还要排错,又是维护成本。
h.很多分布事务,许多数据库系统都提供解决方案;
i.许多DBMS也提供了所谓无状态连接的概念;
j.许多占着mk不ls(对不起没词组)的就不提了,拿多层当两层编!
k.基于以上观点,几乎所有的中小企业都不适合实用多层结构;
l.不是所有大型企业适用多层结构;
5.个人认为一下企业适合适用多层结构:
a.业务逻辑方面,一般是多个系统并存,交叉适用商业逻辑的系统。比如:现在企业有财务系统、人事系统、业务系统、客户支持系统,同时提供web系统供业务员、客户查询数据。在这样的系统中,所有独立彼此需要适用对方,如果一个环节有所改变,其它维护成本会很高,而且可重用部分相对较多,在一个好的规划后,适用组件式的多层是适合的。
b.数据原因,除了上述情况,真的对数据要求适用多层情况的我还没见过,没办法,只好说是真的大项目了。因为我指导鞍钢的项目也是C/S而已。实在想不出是不是可能有可能是数据迫使适用多层。
c.应用方面,在应用时需要所谓的分布施处理,不过,现在大多数DBMS都有解决方案,如果不能满足要求,Check it out.
d.多层提供了使用所谓无状态连接的概念(实际上是DCOM(MTS)、CORBA等中间协议啦),但是许多DBMS也有提供类似服务(Oracle最典型了啦),没办法,如果需要,那也Check it out 吧。
e.特殊情况。比如,一个公司在美罗大厦9楼(10楼MS亚洲技术支持中心下面),不敢用D版的mssql,Oracle又不回只好去买套ms office,作个多层系统(在MS楼下用D版BORLAND应该没有问题哦)嘿嘿好怀环节了并发问题。

以上纯属个人观点,如有言辞不当,抱歉
 
to CJ:
我不同意到client维护一下没有问题的想法,如果client有上千个呢????
 
呵呵,好热闹。CJ好勤快呀,说了那么多高论,小弟获益匪浅。
谁说Client不能上千呀?我做的一个三层软件在中纺进出口
公司跑时,客户端有1200个之多,不照样挺过来了吗。关键
在于系统的结构,配置和设置上。其实,就INPRISE缺省提供的
delphi5来讲,它也只能做个DEMO或者小企业进销存。李维不就
拿他写书吗?毕竟Midas是半免费的,你总不能指望它给大企业做
东西吧。我希望starfarm说的只是牢骚话,如果整天担心新技术
卖不出去,等旧技术卖不出去的时候你不是还要被动挨打,多层结构
良好的分布式体系可以让客户服务健康的,可扩展的运行。如果客户多了
增加一台Server也就是了。如果你想知道C/S和三层那个在上千上万客户
端“能够”跑的更快,答案当然是后者!不信你可以问问北汽修,中纺,
中航技等等,三层需要量其实是很大的,当时软件发布会,发了300多封
邀请函给北京所有的与海关打交道的外贸进出口部门,出席率是90%以上。
在开发三层初期,我们也曾忧郁过,是不是就用C/S,后面带个SqlServer
就万事大吉,但是海关,商检等等衙门的条文常常会变,每变一次,低下
企业的MIS就得升级,每台机器都要升级。但是,有了三层后,我只需改变
服务端的程序,甚至不用改程序,就调整一下logic.dat文件就行了。关键
是你怎么认识三层,如果只是照搬书上的例子,充其量不过是各分布式系统。
至于语言文字的问题,我认为这不是三层要解决的问题,也就不能强求了。
今后你完全可以用SOAP技术来解决。
 
这个问题可以结束了。
我的观点:
1、市场和技术之间有一个平衡点;
2、做好系统分析,不要一味使用最新最好的技术;
3、跨平台的计算方式是肯定会有的。三层应该有前途。
 
我刚开始学习三层结构,真是收益非浅.
金蝶用的就是三层结构,叫做k/3系统,数据库不详
用友也是采用的三层结构,数据库是oracle,最新的9.0 web版
甚至是用jsp开发的(我是从安装是要安装jdk来判断的).
 
接受答案了.
 
顶部