模块化Java:声明式模块化
本文是模块化Java系列文章的第4篇,介绍的是声明式模块化。文中描述了组件如何以声明的方式来定义并组织在一起,而无需让代码依赖于OSGI API。
作者 Boris Lublinsky 译者 马国耀 发布于 2009年6月7日 下午11时17分
在她最初的博文SOA obituray发表之后的六个月中,InfoQ上展开了一场热烈的讨论,伴随着很多的博文和批驳, Anne Thomas Manes在这篇博文中再次明确了她对SOA的看法。
在博文的开头Anne就阐述了她对SOA的立场:
作为一个词汇“SOA”已经凋零,但是作为实践方式“SOA”对于任何的企业的发展而言还是非常重要的。很多企业已为SOA投资了数百万,但是可见的收益甚微。还有些企业甚至比开始(实施SOA)时更差。在经济紧缩的形势下,商界人士不再有特别的兴趣去向一艘看起来快要沉没的船砸钱了。如果今年你打算为SOA 项目争取资金的话,请别使用“SOA”这个词,而要将精力集中在构建“服务”上,它将会为企业带来更多价值。
Anne引用Gartner最近的一份调查再次证明SOA已死,该调查显示40%的用户无法衡量SOA的投资需要多久可以收到回报。调查还显示50%的尚未开始SOA项目的公司正是因为不能说清和展示SOA的业务价值而没有实施SOA。缺乏价值衡量的方法,SOA项目注定失败。此外,SOA被分析师和软件提供商过度炒作,以至于:
……很多实施SOA项目的公司对SOA有过高的期望,却忽略了为赢取收益将要付出的努力、资源以及时间等等。
基于很多企业的SOA(基础设施)的开支,Anne认为,更多迹象表明SOA已死:
- 最近Gartner发布了对应用集成和中间件(AIM)市场的年度评估,评估显示该市场在2008年度只有个位数的增长。根据Application Development Trends对该评估报告的评论,“2009年,中间件市场将出现刹车”,Gartner预计中间件市场今年将会出现0.8百分比的降幅。
- ……通过对市场的研究,Report Buyer断言IBM占有SOA基础设施市场70%的份额。因此,IBM的销售业绩将是SOA基础设施市场一个很好的风向标。并且,参考James Governor在IMPACT大会上所透露的风声,“软件销售Robert LeBlanc GM说,现在客户购买SOA的单子比先前小很多了”(我把“购买SOA”理解为“购买SOA基础设施软软件”,因为众所周知我们没法买SOA)
这篇博文和最初的那篇相似,也引起了一些回应,例如,Pierre Fricke在回复Anne这篇博文时写到:
我觉得,我们是把经济萧条的初潮对企业(软件)开支带来的正常冲击解读为“SOA已死”……(软件)开支就像信用枯竭造成资金流通显著放缓一样撞上了南墙……SOA的确受这场初潮的影响很深。而如今企业在第一回合(的较量)之后拭去身上的层土,他们发现他们仍然需要管理业务,企业比以前更需要竞争力……一个有趣的发现是,金融服务公司比以前对待SOA和BMP/BRMS项目的态度有所放松……把SOA项目得不到资助看成是企业不愿意实施SOA或者SOA已死,对此我们相当困惑,(这种理解)到底是深思熟虑呢,亦或是欠考虑?
为回应Annee,Steve Jones专门写了一篇博文。Steve解释到,“SOA不是一项技术,而是关于实施的方法”。
在Steve看来,当前SOA失败的主要原因是分析师和提供商都优先把人们推向技术道路上(Anne通过SOA基础设施的开销来评估SOA的健康程度) :
因此,当提供商不断申明“我们一直在不断改进产品”的同时,当初让人们去购买这些产品的分析师们回头又抱怨他们并没有看到多少成效,这其实是一场闹剧……SOA并没有失败,失败的是“涂在猪嘴上的下一代口红”的噱头,技术本身是可以解决问题的,但是做一个大项目来解决所有问题的IT风格往往会失败。
Steve认为,死亡的不是SOA而是:
……僵尸的幼苗是提供商驱动的策略没能给IT部门带来它应有的益处,相同的厄运正在云的周围发生,原因是拥有僵尸的公司在市场推广时寻求颠覆的又一种法,例如,SaaS很大程度上是业务驱动的,而他们要利用它重新销售已经失败的相同技术。
SOA始终是关于架构的,而不是获得资金的方法,或是分析师炒作的对象,也不是特定的中间件平台。在过去的10年间,IT界在理解和改进这种架构风格上已经取得了显著的进步。因此Anne需要明确死亡的是什么。分析师的炒作?不论如何它总会出现架构发展的道路中的。企业主管的盲目投资?现在,企业架构师必须清楚地解释他们将赢得什么,为什么会赢,而非空头支票,我们应该看到这是件好事。斩断软件提供商的利润?目前开源产品以及更高的企业需求迫使软件商(为我们)带来更加创新的产品。
是的,我们的确看到SOA软件开支的下滑,但是我们在其他行业或其他产品也看到了相应的下滑。Pierre Fricke说到:“还想用2006-07年的价格来买房?买车? 艺术珍品?原油开采租约?”你对SOA的发展是怎么看的?欢迎投票表决。
查看英文原文:Is SOA Still Dead?
SOA从一开始就明显是厂商的名词游戏。现在都流行Cloud了,SOA自然要靠边站喽。
从架构角度来看SOA还是有它先进的部分,但从这个名字的角度来说,也许已经失宠。
Anne写的这篇博客并没有说思想死了,而是说SOA的投资和项目没了——由于经济危机的影响。
“现在都流行Cloud了,SOA自然要靠边站喽”SOA刚出来的时候,你是否会说“现在都流行SOA了,EAI当然要靠边站咯”
呵呵:)
名词是要炒的,项目是要做的,真正好用的才是永存的。君不见现在很多公司还在用Delphi开发着让互联网企业很赚钱的C/S应用吗。一句话,名词第二,服务第一!
做过一些大企业的异构系统,感觉soa从想法到技术都是好东西,有助改善旧的系统结构
但是,好多soa软件太贵(浪费的硬件资源也多),感觉在这方面的投入产出比不好(划不来)
应该把钱多花在规划,设计上
如题,在错误的企业、错误的时间、采用错误的产品,或者错误的实施者,都有可能导致SOA项目的失败,但并不能说明SOA有问题,SOA就是SOA,它是无辜的,呵呵:)
很支持你的讲法. SOA无法落实, 而且不是从实际业务出发.
SOA一个很好的架构,却被I B M 搞得好像是万能机器一样。消亡是必然的!
所谓的思想,在似乎自大我入行既有。入行的时候是COM和CORBA技术。。。同样的口号,同样的目的。再后来是Java(应该说是EJB)也是打着集成的幌子。。再后来是web service。。现在是SOA。他们的口号惊人的形似,他们的结局注定失败。
我痛恨web service,因为每次调试接口总是一堆的麻烦事,除非是同种语言,比如java对java。还有一些自动化的工具之类的………………归其原因,无非是协议太重了。它应该死,它不死我们就要麻烦死……我还是喜欢xml-rpc json-rpc之类的。走HTTP协议,协议简单好用。我们还设计了一个rpc server支持不同的协议,唯独不支持ws(因为我实在是搞不懂它。)
SOA在国内刚刚起步,好多地方正在展开,怎么能说已经死了呢?
据我了解,SOA的讲求的就是从实际业务出发,而不是从技术出发,最后选择什么技术,什么产品都不是SOA强调的东西,SOA落地的时候才到选产品和技术。
本采访是在伦敦举行的QCon2009上记录的,Ian Robinson和Jim Webber探讨了如何将Web作为整合平台以及REST在理论上和实践中的好处。
项目管理对于项目成败至关重要,但实践中每个项目都有自己的独特性,没有现成的解决方案可以套用。书中从应对实际风险的角度出发,讲述了从项目启动、项目规划到项目结束的整个管理流程,展示了作者的思考过程。本迷你书从原书中精选出5个章节。
在这个演讲中,Fred将会揭示敏捷的一些外在因素,并会重点关注敏捷获得成功的内在原因。从案例研究和真实的项目经验来看,Fred认为:工具、管理体系都不能让你变得敏捷。敏捷的成功,植根于士气高涨、充分授权的工作者身上,他们能够以不同以往的方式思考问题。
Eben Hewitt的新书《Java SOA Cookbook》从Java实现的角度讨论了面向服务架构。Eben在书中讨论了SOA基础、工具、最佳实践和SOA治理等主题。
Mark Richards的新书《Java消息服务》第二版覆盖了JMS的许多主题, 包括发布和订阅模式以及点对点模式,消息过滤和事务等。InfoQ与Mark谈论了跟他的新作。
10 条回复
关注此讨论 回复