论坛首页 Java企业应用论坛

RPC or noRPC,这是个问题

浏览 25838 次
该帖已经被评为良好帖
作者 正文
   发表时间:2010-04-22  
sniffer123 写道
这个。。弱弱地说一句 要是A-Y个应用 不全是用JAVA开发的 怎么办?还有数据的大端小端问题,包装成一个jar,不同CPU上并不能保证一致

webservice是个不错的选择,因为webservice是一个开放的事实标准
0 请登录后投票
   发表时间:2010-05-07  
补充,rpc的方式,还有一个好处,参数的校验可以在client端完成, 在开发时期,这个优点可以节约很多沟通的成本,在运行时期,这个优点可以避免无谓的远程开销.
0 请登录后投票
   发表时间:2010-05-09  
用Actor
0 请登录后投票
   发表时间:2010-05-09   最后修改:2010-05-09
ahuaxuan 写道
补充,rpc的方式,还有一个好处,参数的校验可以在client端完成, 在开发时期,这个优点可以节约很多沟通的成本,在运行时期,这个优点可以避免无谓的远程开销.


如果外部系统的dev偷懒怎么办?
Server不做参数校验是不是完全把命运托付给别人了?
我觉得这个问题不是大问题,Server还是得做校验。
LZ的标题确实是有点歧义吧

学习phprpc中,有没有想过优化WebServices,而不是开创一个新的协议呢?推广的成本很高啊,www.phprpc.org还是中文版的,- -!!
0 请登录后投票
   发表时间:2010-05-09   最后修改:2010-05-09
C_J 写道
学习phprpc中,有没有想过优化WebServices,而不是开创一个新的协议呢?推广的成本很高啊,www.phprpc.org还是中文版的,- -!!


协议实现跟普通程序本质上是一样的,都是“数据结构”+“算法”。

“好的数据结构“+“好的算法“肯定比“差的数据结构“+“差的算法“要好,这一点无庸置疑。

但是如果是”好的数据结构“+”差的算法“和”差的数据结构“+”好的算法“比起来,孰优孰劣呢?

在我看来”好的数据结构“+”差的算法“要远远好于”差的数据结构“+”好的算法“,为何这样说呢?

因为前者的算法还可以优化,只要数据结构不变,算法的优化在不会影响协议正常工作的情况下,可以让协议实现变得更优更好,直至达到“好的数据结构“+“好的算法“这样一个境界。

而后者在算法上已经没有改进的余地了,要想优化就需要修改数据结构,但数据结构一改,那协议也就变了,所以说后者已经达到了极限,已经没有可以继续进化的可能了。

而WebServices就是后者,WebServices的数据结构已经注定了它的低效,专家们在实现它的算法上也已经竭尽所能达到了它能达到的最高性能,再继续进步的可能性已经不大了。

所以只有重新开创一个新的从数据结构上就设计为最优的协议,才能保证日后能够进化为“好的数据结构“+“好的算法“这样一个实现。在WebService上改良是没有这个可能的啦。

当然这里我并没有说PHPRPC就是一个从数据结构上就是一个设计最优的协议,如果是这样的话,也就不会有现在的商业版的Hprose存在的必要了。
0 请登录后投票
   发表时间:2010-05-09   最后修改:2010-05-10
andot 写道



在我看来”好的数据结构“+”差的算法“要远远好于”差的数据结构“+”好的算法“,为何这样说呢?

因为前者的算法还可以优化,只要数据结构不变,算法的优化在不会影响协议正常工作的情况下,可以让协议实现变得更优更好,直至达到“好的数据结构“+“好的算法“这样一个境界。

而WebServices就是后者,WebServices的数据结构已经注定了它的低效,专家们在实现它的算法上也已经竭尽所能达到了它能达到的最高性能,再继续进步的可能性已经不大了。

所以只有重新开创一个新的从数据结构上就设计为最优的协议,才能保证日后能够进化为“好的数据结构“+“好的算法“这样一个实现。在WebService上改良是没有这个可能的啦。



**你说的很有道理,我赞同你对“好的数据结构”的观点。

**但是我想设计那些xml传输格式的委员会不会不懂吧?
所以我觉得WebService设计的协议应该是有他的渊源的,“存在即合理”嘛
不知道andot学长有没有了解过那些渊源呢?不妨给大家讲讲吧。


我在google WS历史的时候,无意中看到一段颇富哲理的话:

引用

看看那些曾经的泡沫——死了一个CORBA,可以再有一个EJB,Without EJB了我们可以有Web服务,可以有SOA,可以有ESB……莫不感叹其舆论之顽强啊。还记得Rod Johnson在谈到远程服务技术(Hession、Burlap)时曾坦言“标准化抑制创新”。事实也正是如此,“标准化”让人们或主动或被动的得接受它。而“标准化”是谁在制定呢?是大厂商,实现标准的相应软件工具是谁在做,谁在买,谁在赚大钱呢?是大厂商。问题的根子就在这里。立法与司法兼于一人,没了三权分离,那么公平、民主、创新又从何谈起。这个类比是牵强,但核心之所在即大厂商缺乏技术层面的监督。它们就好比那些金融寡头肆意创造基于垃圾债券的金融衍生产品。不同的是,无限的金融衍生产品可以卷住大量货币,使其游离于实物商品市场之外,达到控制通货膨胀,掩人耳目于货币大量增发之事实。而技术行业(这个以复杂性为生的行业)的泡沫,圈走的除了企业的金钱财富,还有一代程序员宝贵的时间财富。






0 请登录后投票
   发表时间:2010-05-10   最后修改:2010-05-10
C_J 写道

**但是我想设计那些xml传输格式的委员会不会不懂吧?
所以我觉得WebService设计的协议应该是有他的渊源的,“存在即合理”嘛
不知道andot学长有没有了解过那些渊源呢?不妨给大家讲讲吧。


一不小心,写得太多了,单独开了个帖子:SOAP和WebService那些事
0 请登录后投票
   发表时间:2010-12-05   最后修改:2010-12-15
删除本次发帖
0 请登录后投票
   发表时间:2010-12-08  
提不提供客户端包,个人认为主要是个成本问题。
如果你是卖服务的,你当然要提供,而且要提供各种方式客户端包方便客户。
如果是合作,对方出钱就做,因为这些代码维护和升级都需要钱。
如果是一个企业内部多个系统,建议改改设计,如果确实要这么设计,两种做法:
1、基于信任的做法,分清责任和成本,可选择提供或不提供
2、基于不信任的做法,分清责任和成本,都不提供,只提供标准服务
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics