都别装了,难道你们都懂SOA吗

曾经想努力搞懂啥叫SOA,因为某著名杂志曾写到21世纪不懂SOA的软件开发人员无法生存。结果,我真的太肤浅。看来看去,技术上的东西就那几种,也远远达不到各方所宣传的效果,只是对原有的经验的一个总结和标准化。所以,看上去的SOA就什么都是,它是一种架构,是一种解决了N多问题的方案,一种设计理念,一种软件的构建方法,它,还可以是一种或多种产品……
还别说,架构、方案,让一群不太懂技术的经理们信以为真,于是,赶快跟上。所谓的理念、设计之类的名词也把一群软件开发人员忽悠了,好久不来JE,发现一个SOA的帖子[url=http://www.iteye.com/topic/243203]只因为你不懂SOA[/url],我本以为可以解除我的困惑,结果楼主高屋建瓴之后来了段代码:

public class CalculatorService {   
private AddService addService;

@Reference
public void setAddService(AddService addService) {
this.addService = addService;
}

public double add(double n1, double n2) {
return addService.add(n1, n2);
}
}

说:
[quote]
那么,addService.add(n1, n2)是什么调用?
在SCA的架构体系下:
1. 他可以是简单的java调用——你能方便而快速的做JUnit Test.
2. 他可以也可是复杂一点的EJB调用——事务,分布式,Cache等你所想要的企业级特性的支持
3. 他还可以是复杂一点的Web Service调用,具体提供这个add服务的也许是一个.Net程序,又或者是一个八百年前的老系统已有的服务。
。。。
是的,他可以做最复杂的事情,但也是最简单的POJO。对于开发者来说,只用关心他的业务,其它的一切都可以忽略。
[/quote]

你看出什么来没有,这代码似曾相识啊,这就是一标准的策略模式的实现。不要一提设计模式就露出一副鄙视的样子,好吧,这不是Spring里多年前的IOC啊、DI啊啥的?你看,这还真能忽悠。(这也挺搞的,以前很多人搞设计模式,结果[url=http://www.jdon.com/aboutme.htm]自己把自己忽悠了[/url]。现在搞SOA,又有人把自己忽悠了,而且被设计模式给忽悠了)

SOA,至少是现在我自己了解到的SOA,就是个把各种东西揉在一起,换个马甲,然后开始卖概念,顺便把产品也送出去。这也不要技术人员懂,就是卖给IT经理之类的(记得是O6z大叔这么说的?)。从技术的角度提出,然后让技术人员看不懂,却给不搞具体技术的人看,然后得出某种极其先进、深不可测、变幻万千的结论,真是……


上次某厂商来成都时我专门去听了,我承认浪费了半天时间。其中有个印象比较深刻的:

提到这个厂商能做到与IBM、BEA之流一起制定标准,实属不易。但人家也从不亲口提民族产业,人家只说合作。到最后不知道是有人被忽悠了还是咋的,在提问时说道:以后SOA会分为微软阵营和其他厂商阵营,还举例使用WCF的例子,说这就被绑定了,用WCF就被绑上微软了。微软自然是人人喊打的,于是最终演变为一场支持国产软件的活动,为民族软件而自豪,这是有人亲自发短信,在现场的短信大屏幕上出现的。我问道:用那啥SOS就不绑定了吗?无解。
我问那个Component是怎么划分的粒度,我想看看这和普通的软件开发流程有啥区别,如何应对变化。得,最后演示了个画图生成代码的高级工具,但没看出太多实质的东西,发生变化就得重新画图,复杂的流程估计那图得成蜘蛛网了,比代码看起还累。不过效果倒是很震撼。看:只懂业务也能写软件了,正符合被忽悠人群的需要。这东西,本来就一高级代码生成器+文档、流程管理(据说这一点还算不错),扯上SOA,值钱了,也好卖了,一份抵过去五份。我并非想批判人家的产品,只是想让大家看看这现实中的SOA是怎么回事。

一时兴起,言辞太偏激,本来想作为回帖的,但还是贴到个人博客上比较好,好久没打这么多字了,正好凑一篇。:)

其实SOA也好,具体的SCA、ESB也好,都只是工具,真正的问题都靠人来解决,人的因素才是至关重要的。一个好的平台确实能够减少一定的人力需求,降低开发成本。但如市场人员那般一味鼓吹银弹,或者把工具作为项目成败的决定性因素,那无疑是个天大的笑话。SOA能升华至大部分人看不懂,与市场推广有很大关系。你想想,要让老板相信,任何人都能轻松开发项目,不再有需求变更的痛苦,不再有老手与新手之分。这种东西,又如何能,如何会让普通开发人员看懂。市场推广向来如此,只是如今扯上了SOA这面旗,于是SOA就被商业和技术搅合在一起,越来越虚无?
在技术上,我不敢妄加评论,只是发现SOA所包含的东西古已有之。以前在解决异构项目,在对各种系统进行集成时,人们总会想到某些办法,比如可能会定义一种数据格式,然后传输为XML数据。如今SOA下的那些标准,就是对各种应用场景下的东西进行一个标准化、规范化。所以说,没必要完全否定,但那也绝非银弹--软件开发中真正的问题,SOA就根本没沾边。至于说SOA是一种思想,我就觉得瞎扯了,真正的思想来自于你的大脑。不是先有了SOA的思想才有了某种风格的设计,而是先有了设计才有人提出所谓的SOA思想。你现在偏要说,我这设样计就是SOA思想的体现,那不瞎扯?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值