`
JaNer
  • 浏览: 43963 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

菜鸟也谈架构之C/S三层架构的轮回

阅读更多
菜鸟也谈架构

本人06年毕业 一直做JavaWeb应用的项目 大大小小做了5、6个吧

感觉B/S结构的应用 项目实施下来都不是很理想 虽然都验收了 但我觉得这些项目也顶多能给个百分制及格分 60分

主要弊端:

(1)实时响应速度差
    (尽管已经做了集群、机器是小型机)

(2)人机交互能力太弱,有些特殊的地方还不得不借助鸡勒技术ActiveX和Applet。使得B/S仅有的一点点部署方便的优势荡然无存。
     (尽管现在已经有很多RIA技术手段,比如EXT、Flex等~ 但都有各种问题。论证下来实施这些技术还是性价比不够理想。)

我的想法:

C/S三层架构应该要轮回崛起了。
理论上说,B/S其实也是属于C/S三层架构的应用。但他的C这一层实在让人不爽。

扪心自问,你为什么要选择B/S来做行业应用系统(特质运行在专用网里的特定行业应用系统)
(1)、为了跟时髦。觉得JavaEE(B/S)代表了时尚潮流,代表了先进。
     扯淡。JavaEE并非就得把C做成浏览器应用。评价系统优劣最直接的三要素:方便、快捷、稳定(我一客户和我说话聊的,我决定很有道理)
(2)、为了数据和业务逻辑集中,实现部署、升级的方便。
     这恐怕是针对C/S原始2层架构而言.而且是因为你技术部到位不能做到完美的自动升级而把这一功能通过b/s模式变相解决吧。至于数据和业务逻辑的集中如果是C/S三层架构的话,B/S根本没有这一优势可言。C/S三成架构一样可以做到。
(3)、为了应用服务器集中、方便做集群和各种负载均衡。
    C/S三层一样可以。

居然如此:我们为什么还要选择B/S 。

我的想法:
做一个c/s三层架构。总的方向还是基于Java。

方案一:用SWT/Jface和EclipseRCP技术做为UI层技术。实现一个纯粹的UI客户端。通过RPC调用JavaEE应用服务器发布的方法进行业务处理。此方案的问题:选择一种高性能且易于异构系统集成的RPC方法。(初定的方法是使用httpinvoker作为架构内部的RPC调用,并支持 webservice满足其他异构系统调用需求)不知道hprpse是否能同时兼顾高性能且易于异构系统集成?

方案二:用SWT/Jface和EclipseRCP技术做为UI层技术。实现一个纯粹的UI客户端。然后自己实现一个类似中间件或者应用服务器概念的东西,但不走http协议。考虑其他通信方式。我的业务逻辑组件也不希望再借助于Java应用服务器。而是直接将我的业务逻辑组件发布到这个中间件上作为服务提供给客户端调用。这只是偶的想法,不知具体怎么实现 不知道hprose是否能再这方面做点什么?
分享到:
评论
61 楼 msgtogcr 2014-07-20  
  我是个干了十多年的企业内 C/S 程序员,眼见着 C/S 从辉煌走向没落,B/S 则逐渐壮大并最终一统天下。。彷徨之余,不禁也在思考其中的道理,偶有所得,邀与大家一谈!
架构的本质是什么,我认为就是对人类行为模式的一种模拟!当然,很大程度上这个目标并不是刻意的,而是在不知不觉中自然形成的。。

  以 C/S, B/S, C/S/S 这三种模型来说,它们就典型地反映了人类社会在交互过程中对“信任关系”的解读!
C/S 是服务端与客户端相互信任的交互模式;只要愿意,任何一方都可以轻易地攻击另一方。
B/S 则是反过来的,基于双方互不信任的交互模式;无论哪一方,想要攻击另一方都极为困难(当然小白除外,其实人类社会的任何领域都是如此)。
从 C/S/S 开始,则开启了一种单向的信任模式,即客户端单向信任服务端;服务端是主,客户端是从,服务端可以随时控制客户端。
由上面的 C/S/S 还可以推知,尚有另一种可能的单向信任模式存在--客户端完全控制服务端,只是这种模式在现实中的需求还属未知,我们只能拭目以待。。

  反观人类社会的交互模型,我们便可以很容易判断出以上三种架构模型的应用范围和应用场景了!
C/S:完全互相信任的交流,在我们的现实生活中可谓难得一见,非知已不可为;由此可知 C/S 模式在软件行业中所占的份额将进一步缩小,直至微乎其微,仅残存于需要极端高效的系统中。。
B/S:互不信任的交流,在现实生活中可谓随处可见,不能不见;由此可知 B/S 模式仍将大行其道于天下,直至每个人的私有智能设备都被其充斥得爆满为止。。
C/S/S:主与从的交流,在日常生活中不多见,但在上层建筑中却是必须的交流方式;由此可知,在企业与员工这样的架构模型中,这个模式将不得不成为主流(当然,这个主流在未来的某天)。。

  至于反向的 C/S/S (反主从)模式,我只能说,如果理论上有这种可能,那么现实中就必然有其相对应的事实,但那种东西到底为何物,非我可预见,就不胡乱猜测了。。
60 楼 msgtogcr 2014-07-20  
  我是一个 C/S 程序员,干了这么多年,眼见 B/S 渐渐一统天下,所有一直以来都经常思考楼主的这个问题,但始终都没有得到一个好的答案。。但前不久突然一下开窍了! 我自认为我找到了这个问题的终极答案:
  其实任何持术问题,归根到底都是人的问题,也就是都是围绕着“人性”这一根本要素进行的。技术模型的形成和发展,本质上都是人类社会的运作模式在软件上的一种表现和模拟!当然,这个问题不能往开了说,否则牵扯的面就太广了,我们就仅以 C/S 与 B/S 及 C/S/这两种
59 楼 msgtogcr 2014-07-20  
我是一个 C/
58 楼 ronalke 2010-01-05  
我是个菜鸟,也迷茫过c/s和b/s的区别,不过至少觉得b/s的话,用户不用安装客户端了,还有升级方面好太多了,还有觉得技术流行趋势也是个很重要的原因噢,即使c/s技术好,但用的人少,推广不够,企业能怎么选择呢!
57 楼 andot 2010-01-05  
<div class="quote_title">ubotutwin 写道</div>
<div class="quote_div">
<div class="quote_title">andot 写道</div>
<div class="quote_div">
<div class="quote_title">ubotutwin 写道</div>
<div class="quote_div">
<p><span style="font-size: small;">       发现中国的程序员怎么观察力都这么的差呢!!哎~~~~</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">    http://www.iteye.com/topic/545782</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">    http://www.phprpc.org/forum/viewthread.php?tid=1022</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">    http://tech.techweb.com.cn/thread-438517-1-1.html</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">      大伙可以点击上面这三个地址看看,发帖的人不用管是谁,但内容都是完全一样的,这可以证明是一个作者所发,或者是有人看到了进行了转发。</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">  <strong>   </strong></span><strong><span style="color: #ff0000; font-size: small;"> 注意!最诡异的地方出现了!!!这三个帖子的第一个回帖竟然也都完全一样!!大家可以想想,即便是支持楼主的观点,有哪个人还会到百度、Google上去搜索一番,然后给同一个帖子的各个转帖都一一回复一遍?“托”的味道实在是太过浓郁了啊~~~</span></strong></p>
</div>
<p> </p>
<p> </p>
<p><span style="font-size: small;">http://www.phprpc.org/forum/viewthread.php?tid=1022<br>这个论坛就是我的,所以我在这里回帖没啥问题吧。<br><br></span><span style="font-size: small;">http://www.iteye.com/topic/545782<br></span></p>
<p>这里也是我本人回的,因为我是这里的常客。</p>
<p> </p>
<p><span style="font-size: small;">http://tech.techweb.com.cn/thread-438517-1-1.html<br>这个不知道是哪个家伙转的,我也是第一次看到这个。我回帖都是留名的,不会用游客这种东西。</span></p>
<p> </p>
<p> </p>
<p>最后声明一下,我不是托,因为我就是hprose的作者。</p>
</div>
<p>    andot同学不必这么介意,其实我觉得不妥的只是你的这个“手段”而已~~~(那个楼主不会也是??~~~<img src="/images/smiles/icon_cool.gif" alt="">),其实我对你们的phprpc还是很看好的,还有你们的hprose,听说要搞tcp版本了,这个要是搞出来前途还是大大的,支持一下,呵呵。</p>
</div>
<p> </p>
<p>你也不必这么介意,因为那个“手段”不是我搞得,是那个网站自己爬的,我没办法阻止别人爬。<img src="/images/smiles/icon_lol.gif" alt=""></p>
<p> </p>
<p>hprose tcp版本今年发布,而且还要增加更多语言支持。</p>
<p> </p>
<p>在这里我还要感谢您的支持!如果不是你来顶这帖子,这帖子都不知道沉到哪儿去了。<img src="/images/smiles/icon_biggrin.gif" alt=""></p>
56 楼 ubotutwin 2010-01-05  
<div class="quote_title">andot 写道</div>
<div class="quote_div">
<div class="quote_title">ubotutwin 写道</div>
<div class="quote_div">
<p><span style="font-size: small;">       发现中国的程序员怎么观察力都这么的差呢!!哎~~~~</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">    http://www.iteye.com/topic/545782</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">    http://www.phprpc.org/forum/viewthread.php?tid=1022</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">    http://tech.techweb.com.cn/thread-438517-1-1.html</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">      大伙可以点击上面这三个地址看看,发帖的人不用管是谁,但内容都是完全一样的,这可以证明是一个作者所发,或者是有人看到了进行了转发。</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">  <strong>   </strong></span><strong><span style="color: #ff0000; font-size: small;"> 注意!最诡异的地方出现了!!!这三个帖子的第一个回帖竟然也都完全一样!!大家可以想想,即便是支持楼主的观点,有哪个人还会到百度、Google上去搜索一番,然后给同一个帖子的各个转帖都一一回复一遍?“托”的味道实在是太过浓郁了啊~~~</span></strong></p>
</div>
<p> </p>
<p> </p>
<p><span style="font-size: small;">http://www.phprpc.org/forum/viewthread.php?tid=1022<br>这个论坛就是我的,所以我在这里回帖没啥问题吧。<br><br></span><span style="font-size: small;">http://www.iteye.com/topic/545782<br></span></p>
<p>这里也是我本人回的,因为我是这里的常客。</p>
<p> </p>
<p><span style="font-size: small;">http://tech.techweb.com.cn/thread-438517-1-1.html<br>这个不知道是哪个家伙转的,我也是第一次看到这个。我回帖都是留名的,不会用游客这种东西。</span></p>
<p> </p>
<p> </p>
<p>最后声明一下,我不是托,因为我就是hprose的作者。</p>
</div>
<p>    andot同学不必这么介意,其实我觉得不妥的只是你的这个“手段”而已~~~(那个楼主不会也是??~~~<img src="/images/smiles/icon_cool.gif" alt="">),其实我对你们的phprpc还是很看好的,还有你们的hprose,听说要搞tcp版本了,这个要是搞出来前途还是大大的,支持一下,呵呵。</p>
55 楼 ubotutwin 2010-01-05  
<div class="quote_title">抛出异常的爱 写道</div>
<div class="quote_div">
<div class="quote_title">ubotutwin 写道</div>
<div class="quote_div">
<p><span style="font-size: small;">       发现中国的程序员怎么观察力都这么的差呢!!哎~~~~</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">    http://www.iteye.com/topic/545782</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">    http://www.phprpc.org/forum/viewthread.php?tid=1022</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">   <span style="background-color: #ff0000;"> http://tech.techweb.com.cn/thread-438517-1-1.html</span></span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">      大伙可以点击上面这三个地址看看,发帖的人不用管是谁,但内容都是完全一样的,这可以证明是一个作者所发,或者是有人看到了进行了转发。</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">  <strong>   </strong></span><strong><span style="color: #ff0000; font-size: small;"> 注意!最诡异的地方出现了!!!这三个帖子的第一个回帖竟然也都完全一样!!大家可以想想,即便是支持楼主的观点,有哪个人还会到百度、Google上去搜索一番,然后给同一个帖子的各个转帖都一一回复一遍?“托”的味道实在是太过浓郁了啊~~~</span></strong></p>
</div>
<p>最后一个是爬出来的.</p>
</div>
<p>    <span style="font-size: small;"> 恩,看下面两层看出来了,这个确实是我大意了。</span></p>
<p> </p>
<p><span style="font-size: small;">    不过这个techweb技术社区真是用心良苦,而且还真是有些手段!你想他的spider抓来的东西自动解析不同站点bbs的格式,分出来各个楼层,再入到自己的库里,而且我觉得这些技术文章还是得人工检索一下,毕竟“水贴”抓会来也没什么用。</span></p>
<p><span style="font-size: small;">    </span></p>
<p>      <span style="font-size: small;">有手段,确实有手段!!</span></p>
54 楼 抛出异常的爱 2010-01-05  
<div class="quote_title">ubotutwin 写道</div>
<div class="quote_div">
<p><span style="font-size: small;">       发现中国的程序员怎么观察力都这么的差呢!!哎~~~~</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">    http://www.iteye.com/topic/545782</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">    http://www.phprpc.org/forum/viewthread.php?tid=1022</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">   <span style="background-color: #ff0000;"> http://tech.techweb.com.cn/thread-438517-1-1.html</span></span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">      大伙可以点击上面这三个地址看看,发帖的人不用管是谁,但内容都是完全一样的,这可以证明是一个作者所发,或者是有人看到了进行了转发。</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">  <strong>   </strong></span><strong><span style="color: #ff0000; font-size: small;"> 注意!最诡异的地方出现了!!!这三个帖子的第一个回帖竟然也都完全一样!!大家可以想想,即便是支持楼主的观点,有哪个人还会到百度、Google上去搜索一番,然后给同一个帖子的各个转帖都一一回复一遍?“托”的味道实在是太过浓郁了啊~~~</span></strong></p>
</div>
<p>最后一个是爬出来的.</p>
53 楼 andot 2010-01-05  
<div class="quote_title">ubotutwin 写道</div>
<div class="quote_div">
<p><span style="font-size: small;">       发现中国的程序员怎么观察力都这么的差呢!!哎~~~~</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">    http://www.iteye.com/topic/545782</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">    http://www.phprpc.org/forum/viewthread.php?tid=1022</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">    http://tech.techweb.com.cn/thread-438517-1-1.html</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">      大伙可以点击上面这三个地址看看,发帖的人不用管是谁,但内容都是完全一样的,这可以证明是一个作者所发,或者是有人看到了进行了转发。</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">  <strong>   </strong></span><strong><span style="color: #ff0000; font-size: small;"> 注意!最诡异的地方出现了!!!这三个帖子的第一个回帖竟然也都完全一样!!大家可以想想,即便是支持楼主的观点,有哪个人还会到百度、Google上去搜索一番,然后给同一个帖子的各个转帖都一一回复一遍?“托”的味道实在是太过浓郁了啊~~~</span></strong></p>
</div>
<p> </p>
<p> </p>
<p><span style="font-size: small;">http://www.phprpc.org/forum/viewthread.php?tid=1022<br>这个论坛就是我的,所以我在这里回帖没啥问题吧。<br><br></span><span style="font-size: small;">http://www.iteye.com/topic/545782<br></span></p>
<p>这里也是我本人回的,因为我是这里的常客。</p>
<p> </p>
<p><span style="font-size: small;">http://tech.techweb.com.cn/thread-438517-1-1.html<br>这个不知道是哪个家伙转的,我也是第一次看到这个。我回帖都是留名的,不会用游客这种东西。</span></p>
<p> </p>
<p> </p>
<p>最后声明一下,我不是托,因为我就是hprose的作者。</p>
52 楼 ubotutwin 2010-01-05  
<div class="quote_title">GRDJE 写道</div>
<div class="quote_div">托吧。。。。。</div>
<p> </p>
<p>   所以这个,貌似正解了~~~</p>
51 楼 ubotutwin 2010-01-05  
<p><span style="font-size: small;">       发现中国的程序员怎么观察力都这么的差呢!!哎~~~~</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">    http://www.iteye.com/topic/545782</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">    http://www.phprpc.org/forum/viewthread.php?tid=1022</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">    http://tech.techweb.com.cn/thread-438517-1-1.html</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">      大伙可以点击上面这三个地址看看,发帖的人不用管是谁,但内容都是完全一样的,这可以证明是一个作者所发,或者是有人看到了进行了转发。</span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;"><br></span></p>
<p><span style="font-size: small;">  <strong>   </strong></span><strong><span style="color: #ff0000; font-size: small;"> 注意!最诡异的地方出现了!!!这三个帖子的第一个回帖竟然也都完全一样!!大家可以想想,即便是支持楼主的观点,有哪个人还会到百度、Google上去搜索一番,然后给同一个帖子的各个转帖都一一回复一遍?“托”的味道实在是太过浓郁了啊~~~</span></strong></p>
50 楼 wujiazhao88 2009-12-14  
楼主参考一下金蝶的EAS系统,跟你描述的很想。基于C/S架构,每次客户端从服务器端下载更新的class文件或者jar到客户端运行,其实很不错的。只不过对客户机的配置由一定要求。。
49 楼 lgcpeter 2009-12-14  
客户端操作复杂严谨适合用CS比如财务软件;
客户端操作比较简单适合用BS比如OA。
48 楼 pufan 2009-12-14  
Else 写道
pufan 写道
屁优势。

想想网游就知道,把wow用js重写一遍,能有几个人玩。


当当当当,SB隆重登场


小P孩,哪凉快哪呆着去。

骂别人的同时,没准那个SB就是你自己。
47 楼 leeldy 2009-12-14  
B/S很“聊撇”,易于上手,操作直观。非常适合面对大用户群。
C/S很专业,可以深度定制。
想一想,如果百度和Google需要下载一个客户端才能用,有几个人回去用呢?B/S和C/S没有绝对的谁好谁坏,主要看应用的场景和面向的客户群。
46 楼 iamlotus 2009-12-14  
布署!布署!!布署!!!
45 楼 Else 2009-12-13  
pufan 写道
屁优势。

想想网游就知道,把wow用js重写一遍,能有几个人玩。


当当当当,SB隆重登场
44 楼 wocsok 2009-12-13  
各有各的优缺点 感觉谈论来谈论去 又老生常谈了  C/S B/S还是各有利弊的。
Spring rcp也挺好的 把swing封装的挺完美的 而且在spring环境中运行 耦合性低  通讯可以用httpinvoker 是走http协议的  如果不用http 防火墙是个大问题啊
43 楼 andot 2009-12-13  
Frankie199 写道

如果你搞的是跨网络项目,几个地方都要使用,并且不在同一个城市,(最简单的是OA嘛,出差在外面都需要使用),那你肯定使用B/S了,是不是?这也不用我多说。


即使跨城市也可以使用c/s,只要通讯协议走http就没问题了。
42 楼 Frankie199 2009-12-12  
B/S还是C/S是基于你的项目考虑的,各有各的用处,不能一棒子打死。

比如你搞的项目就是在一个局域网里面使用,使用的人员就是100-200人,那趋向使用C/S也没有什么过错。大家说的C/S客户端需要部署,其实客户端也只需要一次部署,其他的都是自动升级,或者一次部署都不用,写个说明FTP到那里下载安装程序,自己装好用就是了,以后升级都是自动升级,这个不是问题。

如果你搞的是跨网络项目,几个地方都要使用,并且不在同一个城市,(最简单的是OA嘛,出差在外面都需要使用),那你肯定使用B/S了,是不是?这也不用我多说。

还有就是项目要求或者客户要是B/S,你也得使用,对吧,呵呵。

同意“不使用http协议真是让人无法理解”

相关推荐

Global site tag (gtag.js) - Google Analytics