解析微软SOA的目的

日期: 2008-01-16 来源:TechTarget中国

  在SOA阵营中,微软绝对占有重要的地位,但说起微软的SOA,多数人却说不出个所以然,微软的SOA也只有在与其他公司的对比中才得以显山露水。由于IBM、BEA的技术都是基于J2EE架构,因此微软的SOA显然与IBM、BEA的技术不同,是基于.Net架构的。此外,IBM、BEA都有自己强势的中间件产品,Oracle、SAP的长项则在管理软件,所以微软的SOA又被归结为在开发端的SOA。但这几种分法都有其局限性,原因就在于各IT巨头都在利用SOA加强自己已有的优势。

  IBM长期以来倡导“随需应变”,因此IBM把SOA当做“随需应变的DNA”就一点也不足为奇。比较起来,BEA则把SOA当做自己最重要的一项发展策略,但这源于BEA公司产品的单一,也正是因为这个原因,才有Oracle公司出高价欲收购BEA公司的事件。

  循着这个思路,我们就不难发现微软想利用SOA干什么。事实上,Saas(软件即服务)的兴起,标志着一种通过互联网交付软件的全新的软件交付模式正在为人们所接受,而微软则是做传统套装软件最为成功的企业。显然,微软如果不做出转变,Saas将对其造成极大的损害。

  然而,我们不得不说,微软确实是一家具备高瞻远瞩能力的公司。微软并没有简单地接受Saas的挑战,而是瞄准了用户对Saas的一个误区。这个误区来源于业界人士对“服务”概念的过分热衷。我们知道,软件确实可以以服务的方式,通过互联网提供。并且,这样一来,用户可以先试用互联网上提供的软件,从而以“先尝后买”的方式确认这种软件是否真正适合自己。不可否认,Saas模式也确实可以降低用户针对软件的总体拥有成本。但是,服务还是不能替代软件的作用。

  其中的原因,在于用户的个性化需求。我们习惯于去超市购买东西,但我们是否能够保证我们去一次超市就能购买到我们所需要的商品呢?多数情况下不能。大型企业有自己的个性化需求,小型企业的个性化需求更多。具体来说,软件在可操作性、可伸缩性、可定制性、可扩展性、整合与集成能力等多个方面仍然具有着以网络为基础的服务所无法企及的优势。也正是这个原因,微软提出的是“S+S”(软件+服务)的战略。如此一来,以Saas为代表的服务模式不仅没有颠覆传统的软件商业模式,相反,服务与软件构成了一对互补的关系。

  微软提出的S+S不是简单的一个东西,它包容了Saas、SOA和Web 2.0技术等诸多要素。至此,我们说SOA是微软S+S的实现工具,一点也不为过。

  微软的S+S包括了体验、交付、联盟、聚合等几个层面的内容。在体验(experience)层面,S+S涵盖了三个关键的客户组件,分别是易于部署的浏览器、富客户端、信息工作平台Microsoft Office软件。在交付(delivery)层面,传统的软件以打包套装的方式交付,Saas则通过互联网的方式交付,而S+S则混合采用了打包套装、互联网提供等几种交付方式。在联盟(federation)方面,S+S是跨组织的、自底向上的形式,数据、业务逻辑、服务联结成了一个有机整体。在聚合(composition)方面,S+S达到了新的开发层级,将服务、数据和用户体验聚合在一起,首先以服务为基础单元,在服务的基础上搭建SOA,然后再在SOA的基础上搭建Office Business Application,作为实际的用户层面的接口。

  微软的SOA之所以神秘,还有一个原因就在于它的实现工具总让人有一种神龙见首不见尾的感觉。微软的BizTalk Server能起到ESB的作用,却一直没有ESB的名份。曾被寄于厚望的Indigo,号称为合作伙伴建立新一代连接系统SOA铺平了道路,但在更名为WCF(Windows Communication Framework)以后,尽管有不错的表现,但距离SOA的整体实现还有不小的距离。这使得业界用户不禁开始猜测,微软是采用什么技术实现SOA的。

  事实上,我们前边已经分析过,微软的SOA不过是个配角,它是为S+S服务的。因此,实现SOA并非微软的最终目的,推广S+S才是微软战略中的重中之重。这样,SOA的实现不过是S+S实现的一个环节。

  从微软的全线产品分析,我们不难发现微软实现S+S的四根支柱。这其中,.Net平台显然可以算做四根支柱中的一根,原因在于基于.Net平台的Web服务技术为服务提供了基础设施,而离开了Web Service,SOA的实现自然也就无从谈起了。其次是WCF,它已成为微软SOA的实现基础,基于WCF的SOA解决方案已构成了围绕在服务之下的架构层。同样重要的还有微软.Net战略的核心支柱WPF(Windows Presentation Foudation)。新一代图形界面技术WPF与脚本语言Silverlight一起构成了S+S中新的用户接口模型。最后的一根支柱,则是微软前端整合利器Office产品。Office Business Soltions已能够实现软件对服务的消费,将服务与软件整合起来。

  非常巧合的是,S+S的实现过程与SOA的实现过程颇为相似。没有了.Net平台的Web Service,SOA不可能得以实现。而没有WCF,所有的通信技术和网络服务标准不能集成在一个单独的API和构架内,开发人员在考虑程序实现的同时,还要去担心怎样去连接网络服务,SOA的实现无疑将要变得更为复杂。而当SOA实现以后,业务人员受IT的束服减小了许多,更友好的用户界面(WPF)和更便利的开发语言(Silverlight),以及用户更为熟悉的开发平台(Office),就可能给用户端的人们带来更大的自由,去满足他们的个性化需求。

  由此可见,当SOA概念变得越来越深入人心之时,它在微软的手中确实已变成了S+S的实现利器。并且,这一次,微软在努力地将SOA与S+S的实现合二为一,使我们很难说哪一部分是SOA的,哪一部分是S+S的。

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 任意云 | 合纵连横,微软+戴尔重构混合云的新局面

    随着去年各行各业的“互联网+”战略全面启动,“在中国、为中国”的戴尔本着任意云战略,联合微软公有云Azure,优势互补,合纵连横,正在打开混合云市场的新局面。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。