独家专访:如何看待SOA编码和数据集成?

日期: 2008-01-28 作者:Rich Seeley翻译:Eric 来源:TechTarget中国 英文

面向服务架构(SOA)究竟需要多少标准?有没有SOA不需要的标准?这些标准中,哪些是对SOA的发展有利,哪些不是?在这次采访Paul Fremantle的第二部分中,这位WSO2公司共同创始人兼副总裁,从编码程序员的角度表达了对SOA的看法。虽然他引领了Web服务标准的发展,但他若有所思地说,有些规范,特别是服务组件架构(service component architecture,即SCA)。可能因为它们片面反映厂商和程序设计师的意见,而没有解决编码过程中存在的实际问题,可能会越来越偏离发展轨道。但他同时也称赞了W3C公司做的工作,通过研发出更好的编码指令,解决了XML不对应的问题。


  你怎么看待即将制定的SOA标准,例如服务组件架构(SCA)?



Paul Fremantle:我很怀疑SCA的真实性。我们曾讨论添加SCA支持Apache Synapse作为配置Synapse的方式。我很高兴这样做。我认为这样很好,给客户提供了选择的机会,但是事实上,我没有听到用户说:“我真的很需要”,向我提出添加SCA支持Synapse的要求。我很担心,SCA有可能是受厂商的驱动而不是客户。


  有些分析师曾表示,SCA与SOA没有任何关系,或者至少是对SOA来说不重要。请问你怎么看?


  Fremantle:我认为SCA的问题是程序设计师不做任何编码工作。这种情况往往发生在大公司。程序设计师被排除在编码人员之外。但如果是在开源环境下工作,这种情况就不会发生。代码必须要写。没有人向你请示,然后你说“去写代码”,他们就会去写代码。你要么说服别人来写代码,要么你自己写。SCA与SOA的不同是,它的对象是程序设计师而不是编码人员。


  现在是不是这么一种情况,某类结构比如REST试图使事情变得更简单,而其他结构比如SCA却使得事情更为复杂?


  Fremantle:这是真的。虽然我讨厌这么说,但在研究了大量的Web服务标准之后,这种情况同样适用于Web服务标准。他们往往使事情终结时过于复杂。我认为,这根本上是因为人们不写代码。他们不能直接判断什么是实际的,什么是有用的。我对SCA不再写代码有点担心。SCA与Spring有很多共同点,但是Spring是受用户、消费者和写代码的程序开发人员驱动。我不相信SCA也是如此。


  在SOA的标准方面,你认为需要有一个基本的核心,还是你认为它过于简单?


  Fremantle:我觉得这从标准的角度来看很难说。事实上,不同的人有不同的要求。对于世界上的大多数人,XML多于HTTP。而这正是他们所需要的。但是在某些情况下你需要XML Schema和WSDL。也有人们说SSL还不够好。我认为,如果您也是上述人群中的一个,WS-Security是一个很好的选择。如果你需要数字签名,那么WS-Security也是一个正确的选择。它只取决于是什么公司。如果是波音公司,那么很明显,其要求完全不同于雅虎公司。所以这是一个很难回答的问题,很抽象。


  一小部分人确实会需要WS-Security,WS-Secure会话,WS-Reliable通信和WS-Policy来做SOA工作。有更多的人会乐意使用SOAP和WSDL。还有一些人会选择使用REST。


  所以这需要依情况而定?


  Fremantle:是的。或者这也许像是一个频谱。有一个适用于大多数人的核心,而当需要某些额外的标准时,就可以添入额外的东西。


  你发现是否有障碍影响SOA的应用呢?


  Fremantle:我觉得,最大的挑战仍然是XML和现有代码之间的映射,数据绑定问题。这并非是不可克服的。虽然这不是一个主要的障碍,但它会导致我们做的每一项工程都发生问题。


  大多数情况中是否是将遗留程序引入SOA?


  Fremantle:这需要Java代码,而我不认为Java代码是遗留程序。从根本上讲,一个XML文件和一个程序性的思维方式之间存在不对应的问题。这是我怎样才能使用Java Bean映射XML的问题。人们在Web服务空间,尤其是SOAP空间,会碰到这类问题,但它其实也适用于REST空间。这是因为,从根本上说,即使是REST,你也必须携带和使用XML。


  在这方面能获得一些支持吗?


  Fremantle:W3C公司有一个数据绑定的工作小组,由Paul Downey (英国电信公司的Web 服务总设计师)带领处理这个问题。这是一项伟大的工程,人们低估了它的价值。


  所以,你对W3C的工作组将生产出有用的产品持一定的乐观态度?


  Fremantle:有一个测试套件。他们收集了上百种模式的例子,然后对这些模式进行测试。这鼓励人们提高服从性,提供了很多帮助。这个套件收集了有用的模式。而且他们还注明,其中哪些是基础模式,哪些是高级模式。所以,我认为当人们逐渐了解这项工作后,人们就会受到鼓励改进代码。这同时也帮助人们检查他们的模式和数据定义,判断是还处于基础模式,还是误入高级模式。而如果误入了高级模式,最好能将理由解释清楚,因为以后可能会弄乱。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

翻译

Eric
Eric

相关推荐

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

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

  • 揭秘New Relic APM技术细节

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

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

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

  • 购买应用集成工具可以采取平衡做法

    购买应用程序集成工具需要好好看看你的公司需求,知道从供应商里面要寻找哪些关键功能。