C
com2
Unregistered / Unconfirmed
GUEST, unregistred user!
我们开发了一个三层mis系统(Delphi+oracle+corba),
感觉其优点有客户端不用装Oracle,bde,安装较简单等,但缺点实在不少:
1。 工作量增大.
因为服务端,客户端都需要写,且服务端一改,客户端也要改,较容易出错。
且不太有利于团队开发。
2。 速度慢.
在未学三层以前想想三层应该比两层慢一倍,因为数据毕竟多传了一层。
学了corba三层后发现实际上数度不止慢一倍,因为客户端的ClientDataset
要把数据全取到客户端来。而两层的Table和query是用户需要看到多少才从
数据库服务器取多少,从而减少了网上数据传输。 而clientDataset的
packetrecords属性也只有在ClientDataset的filtered设为为False才有用。
所以ClientDataset的filter要尽量不用,而采用传动态Sql的形式。即使这
样速度仍不理想,且增加了工作量。
且若客户端和服务端不在同一子网时,corba的连接尤其慢!!!数据传
输也慢了,而两层客户端和数据库服务器不在同一子网时速度影响不大。
3。 不稳定
我的服务器是惠普LH4,内存512M,应该还可以了。但客户端连接较多(100个)
时,新的客户端再连接时几乎就无反应,因为服务端负荷太重,来不及去相应新连
接客户端的请求。严重时服务端程序就意外退出了。有时就十几个客户端连接也会
发生上述情况。
Delphi4对意外中断的客户端连接的实例不能清除,从而浪费了资源。Delphi5
要好的多。
我想一个Mis系统最基本的要求是速度快,稳定性好,但这两点三层都比两层差很多。
个人建议:
1.三层思想是好的,但目前不成熟。
2.大家不要忘了对三层的研究,但真正的开发目前还是别用三层,因为自今为止好
像还未听过国内有较成熟的三层产品出现(可能是我孤陋寡闻)。
大家有谁作过三层系统,能不能谈一点心得,关键是如何加快速度和稳定性。
我想这个问题都是作数据库的程序员很关心的,欢迎大家讨论。
我的Email: com2.126.com