SOA 新业务语言 新系统架构——SOA与Web 2.0
“我们日益认识到Web 2.0 和SOA的概念在很大程度上是相同的,只是被粉饰成为软件的不同部分(如果的确存在不同的话)。”-Dion Hinchliffe
ZDNet同事Dion Hinchliffe观察SOA和Web 2.0的混合使用已经有一段时间了。他在一篇新博客中说SOA和Web 2.0有很多重叠的东西,例如都是基于invoke的服务,都能存在于网络的任何位置等等。
SOA和Web 2.0的共性远大于不同,而且Web 2.0在推广SOA方面起到了一定作用。
直到到现在为止,SOA和Web 2.0拥有不同的支持者—
SOA
更多涉及企业结构和开拓商铺,而
Web 2.0
更关注用户。这种差别随着更多企业接纳Web 2.0而在变化,但是Dion依然认为这两项技术有着不同的重心:
“O’Reilly公司的
Web 2.0
告诉我们数据是现在的软件应用中最重要的部分…
SOA
告诉我们服务才是中心。
SOA
中传输数据的服务也非常重要,但是传统
SOA
的更关注
IT
系统的接合处而不是那些能使接合处更具价值的东西。”
Dion最后认为,
SOA
也许是通畅的管道,但并不是系统中通过的水的价值。他说“SOA提供了更工程化、可预设的和正式的视角,也许能够满足大量重要技术标准但是经常被认为忽略了最重要的问题:
人是软件的中心,我们的数据是无法替代的,并具有极大的市场优势。我们的软件或服务就象
IT
系统中的电和网络带宽,非常基础但是并不具有最重要的价值。”
许多行业领导者说企业同时需要SOA类方法的结构和Web 2.0方法的创业能力。
我帮助准备了最近召开的SOA执行大会分析报告,探讨了SOA和Web 2.0的相互影响,特别是mashup(即多种服务的组合)。我采访了webMethods公司SOA产品营销副总裁Miko Matsumura,他非常慎重的反对毫无节制的运用mashup,因为“这种不定形的方式过于专制”,他说:“这种模式与具有合理限制的模式相比,天生缺少灵活性和敏捷性,而且价格更贵。”
Miko补充说有所限制的SOA管理“更应该被认为是支点,而不是‘束身衣’如果你在一方面进行限制,并不意味着不能在其他方向自由活动。这就是SOA所表现出的平衡,也就是IT和业务的结盟。一方面向天马行空,另一边却想勒紧缰绳。”
Dion指出了一些SOA和Web 2.0共有的要素,并列出了一些共通点:
软件重组
管理
软件就是服务
应用就是平台
无意识的使用
开放
AJAX
互操作性
货币化
安全
网络导向架构
最后一条网络导向架构或者WOA是关键的内容,最终有可能会将SOA和Web 2.0合为一体。Dion说:“关于传统SOA规模最大的一场讨论中,从表面上看现在世界上有几千种软件平台和环境。如果它们不能按照你的SOA(SOAP和WS-*)方式与你对话,就不可能实现互操作性。”
不过Dion还补充说:“通过运用WOA,任何人都能说HTTP — 最基础的网络协议— 任何人都能处理XML, 也就是说现存的任何工具和平台都可以实现互操作并简单、安全和容易的共同工作,并在其他服务上面建造应用。重要的,mashup是迈向WOA的关键结果,而且大部分mashup都以REST或者类似REST的服务为基础。”
Mashups可能会在SOA中占据超出我们想象的更重要的位置。做为InfoWorld项目的一部分,我采访了 Software AG技术泰斗Mighael Botha,他是这样认为的:“我认为mashup是SOA的价值所在。我可以向用户展示Mashup,并说:“这是一种能使组织机构内部用户使用同一视角的软件结合使用技术。用户可能不理解什么是mashup,但是当他们看到他们能够从后台的六、七个不同的系统中获得全部关于客户或产品的数据,他们就会明白。”
Web 2.0最终会造福SOA吗? Oracle Fusion 中间件高级总监Ashish Mohindaroo是这样认为的:“
Web 2.0
所关注的是用户生产力的提高,而
SOA
关注的是现有资产的再利用。如果我能够将不同网站的内容拆散再组合成新的页面或者为最终用户提供新的服务,会是一件很好地事情。”他解释说:“过去我在推出新服务时可能需要更长的时间,因为所有的工作都要从头做起。”
SOA and Web 2.0: 边缘与中心间的重心移转
Web 2.0 与 SOA: Web 2.0 介绍