看过不少书上(如李维的)介绍三层的应用都是以单机环境为示例的,那是为了学习和调试的方便吧。
但在实际项目开发中,又有誰用过单机的三层(Midas)呢?且运行稳定、可靠?
单机三层在现实中也是需要的吧。就象我现在手上的一个项目:网络的三层做完了,但由于网络条件较差,有些机器不能始终连接服务器。于是想做个单机的三层。设想把原来的oracle换成Access,原来的程序也就是改变一下连接就行了。至于控件及代码基本上不用动。然而,这样的三层是否可行呢?
没有经验,不敢行动!
哪位朋友有用单机三层的经验(应该是实际中使用了的),请谈谈!并对我的方案给予批评指正,多谢!
1.三层应用总的来说是一个逻辑级的概念。并没有要求一层一台机器。
2.如果是一个真正的三层应用他应该可以很好的支持单机模式。
3、看到很多人使用MIDAS进行开发,有否想过直接使用MTS来进行开发。
4、另外有个问题,为什么要客户端总连着服务器?
三层就是将数据服务、应该服务、客户端分开,
这样作的目的,一是为了数据安全,也是为了应该方便,
而这三项也是独立的应该程序,只是通过接口连接起来了,
它可以在一台机器上,也可以在多台机器上,可以有一台服务器,
也可以有多台服务器,
都是一样的,所以放在一台机器和多台机器上是一样的。
我用过啊,两年来一直是这样做的,单机的,两台机子的,三台机子的(典型的三层架构),城域网的,都做过,其实道理都是一样的,在配置上也没有什么特别的地方.
也不知道兄弟你对什么问题有疑惑,欢迎继续关注.
我现在做的就是单机的三层,绝对可行,access的库
调试方便,98,2000,均可,速度也可以
我做三层的时候是先作的单机三层,用的sql2000,调成后转为真正的三层用的是oracle,结果发现有很多问题,而且有些sql中可以用的sql语句在oracle中无法使用
三层只是个规则,你在这个规则下怎么玩儿都不会错。一台三台多台机器都行,只要有中间层组件作为服务器的核心,你的三层就建立起来了。
既然是大系统你做单机三层你把数据存放在那里?
我觉得你说的经常断线肯定是你们的网络有问题。三层结构相对两层来说最大的优点有一点:平衡负载并发。你所谓的单机三层肯定只是一个虚拟的三层结构啦。对系统没有任何好处。
/*************************************/
/*1、MY TOOL: */
/*2、Delphi,Oracle,Sybase,C++/C */
/*3、PROJECT: */
/*3、Boss */
/*4、为了五星的目标希望你早点结贴 */
/*************************************/
我觉得3层一个主要的好处是可维护性和扩展性,如果你的工程有了变动,可以很清楚的对服务器或客户端进行处理。你不要这么担心怕不稳定可靠!
在李维的一个论坛里我看到了几篇很好的对3层的效率,稳定的讨论,有一些朋友还做过测试,很精确,建议你去看看!
http://forum.vclxx.org/ 进李维读者专栏
具体的你们视条件而定,要是网络真的无法运行那么只有采取单机的了,至于单机就无所谓2、3层,或许你觉得代码转化起来方便,但是要是你们会长期的采用单机,那样还不如改成两层,毕竟客户机每台的配置不会那么好,运行三层会取短去长了。其实我很疑惑你们为什么跑不起来?我们的系统估计并不比你们的小,估计时刻都有几千操作员同时连接数据库,也是采用广域网的,都能跑通呀。是不是你的服务器等硬件配置没有达到最佳?
/*************************************/
/*1、MY TOOL: */
/*2、Delphi,Oracle,Sybase,C++/C */
/*3、PROJECT: */
/*3、Boss */
/*4、为了五星的目标希望你早点结贴 */
/*************************************/
三层结构并不是只是3 tier而是泛指将多层结构,在应用中引入3层的目的是实现不同的业务逻辑的划分,和当业务逻辑变更时的可复用性,无论单机版还是其他的网络环境下,多层结构都是很好的选择,在win-dna环境下采用多层结构是很方便的,采用多层结构可以很好的划分业务逻辑,并且将业务逻辑和用户界面分离,是一种好的开发思想,而与有没没有网络没有太多的关系。三层系统的难度在于业务逻辑的划分上,一个健壮的三层应用不只是现在运行的良好,而是表现在一个系统的生存期中,当业务变更的时候带来的可升级性的方便和在系统出现问题的时候的可修改性!另外一个难度是层与层的平衡性的控制。另外三层建构现在引入了大量的提高系统性能的技术如各种pooling和负载均衡等,这样给开发人员为提高系统的可用性提供一些方便的途径。这是个人理解欢迎指正。
三层就是将数据服务、商业逻辑、客户端界面分开,
这三层可是独立的应该程序,只是通过接口连接起来了,
它可以在一台机器上,也可以在多台机器上,可以有一台服务器,
都是一样的,所以放在一台机器和多台机器上是一样的。
只不过在多台机器上要注意dcom或com+的配置问题
三层?什么意思,比C/S多一层,多在数据库上,这样做好处就是方便了DataBase的维护(Remote),瘦Client,减轻Client与Server的数据流量,重要的是Remote
数据统一,安全性。
好处太多了,不过劝大家如果不做Erps,Mis,PDM这类软件,最好不要用他,没有什么意义,再加上SQL SERVER什么的,成本太高了。
我想说的多人都说过了. 大家的意见差不多, 我的更接近 netlib(河外孤星) 的 -- 他最先提出来.