企业架构师妙用REST集成和SOA

日期: 2012-03-06 作者:Alan Earls翻译:李松 来源:TechTarget中国 英文

SOA不再只是一个噱头,它已经变成了IT基础架构难以数计的构件之中的一个成熟组件,并被寄望在未来的云和移动应用中发挥更大的支持作用。随着SOA在这些新功能中的采用,早期应用者发现,他们需要更快地集成Web和移动开发新天地中的应用。对于那些在SOA框架内进行应用集成工作的企业架构师来说,REST集成模式往往极其高效。   对此有点误读的是:尽管象Google和Yahoo这样的网络巨头已经使用REST构建其关键功能,REST也正在移动应用中发挥着重大作用,然而说到底,REST仍然还只是SOA的一种,并且在实现我们的目标时,它也不是唯一的和最好的一种。

  Global Council副总裁,同时又……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

SOA不再只是一个噱头,它已经变成了IT基础架构难以数计的构件之中的一个成熟组件,并被寄望在未来的云和移动应用中发挥更大的支持作用。随着SOA在这些新功能中的采用,早期应用者发现,他们需要更快地集成Web和移动开发新天地中的应用。对于那些在SOA框架内进行应用集成工作的企业架构师来说,REST集成模式往往极其高效。

  对此有点误读的是:尽管象Google和Yahoo这样的网络巨头已经使用REST构建其关键功能,REST也正在移动应用中发挥着重大作用,然而说到底,REST仍然还只是SOA的一种,并且在实现我们的目标时,它也不是唯一的和最好的一种。

  Global Council副总裁,同时又是Forrester研发总监的Mike Gilpin认为,REST集成已经成为一种主流趋势,其部分原因是由于“REST的概念对于WEB开发人员来说更友好,更易于理解”。

  Gilpin 说,在REST和Web服务栈之间有一些实际的差别。然而,他强调说,REST也是SOA,但并不是同一风格的SOA。“当WEB服务刚出现时,它主要是SOAP,但随着人们试图去实现更大的任务,随着各个厂商开始提供他们各自的解决办法,WEB服务逐渐变得更加‘重量级’”。

  “总体来说,基于REST的方法还是比较简单和相对轻量级,”Gilpin说道。同时,他又提示说,在SOA设计准则,你的API的设计,你服务的可维护性和鲁棒性之间会有一个良性循环。“你是否使用基于SOAP的技术还是基于REST的技术只是其中的一个重要差别。对于REST,由于它是轻量级的,它没有为你实现太多功能……因此,如果你想要某些功能,你是能够实现的,但是你需要自己管理它们的边界,”他说道。

  REST接口在WEB和移动应用中大行其道

  Gartner的副总裁Daniel Sholler说,基于REST的接口的出现极大地帮助了现代组织所面临的步履维艰的集成问题,尤其是那些将会有不确定数目的用户使用某种资源的问题。“在业务中,你可能会需要新的人员在下一月去干某项业务,而在本月这项业务和人员还不存在。这也就意味着,你并不知道也不能控制这些不确定数目的人员,”他说道。Sholler说这就是REST对应用集成的一个主要影响,产生了基于REST的接口或网络API。

  尽管象Google,eBay和Yahoo这样的公司常被看作是转向日益使用并依赖REST的典范,这一转变并非仅限于这些公司。他说,一个Gartner曾经评论过的公司是大型零售商百思买(Best Buy)。他们曾经从访问他们产品列表和库存信息的开放API中获得极大的好处。“这给了他们以及他们的合作伙伴极大的便利,也使得他们能够扩展他们的在线销售渠道,”Sholler说道。

  移动应用眼下是一个新的领域,很多公司希望在这方面创建一些基于iOS客户的程序(iOS就是之前的iPhose OS操作系统),既能访问象Google日历这样的应用,也能使用一套本地的日历API ,Sholler提示道。

  在采用方面,Sholler 说在商业和消费者两个世界之间有一些区别,前者还在为SOA做准备,而后者已经全力已赴地奔向REST。他说道,这导致了一些误解,尤其是REST总是很简单和更容易的说法,这其实并不太正确,他说道。“它在简单的时候是很简单,但在复杂的地方也很复杂,”他说。换句话说,这取决于它是如何是利用的。

  现在存在有某些特定类型的系统,在很多组织机构内都存在,常常是面向WEB的,它们采用的架构可以使用基于REST的方法来提供外部服务,Sholler说道。“即使事情还没有到接口不可控制的地步,我们也开始看到基于REST的方法在逐渐应用起来,”他说道。

  REST集成的成功秘诀

  Sholler说REST之所以成功是因为它能够帮我们解决问题。当我们创建接口时,我们总会遇到的问题是我们会创建很多依赖,而采用基于REST的方法可以缓解这其中的一些限制,他说道。这部分是由于REST采用了WEB标准技术,他解释道。

  然而,Sholler警告说,很多人认为基于REST的方法是更传统的面向组件方法的一种替代方法。“构建面向对象的接口并没有错,但它们相伴而来的是它们所期望的操作方式,而基于REST的接口并不这样操作,”他说道。

  畅销书《SOA和REST:准则,模式和限制》的IT作者Thomas Erl,同时也是SOASchool.com的创立者,说在比较REST的设计目标和SOA的策略目标时,他发现了以下这些相同的目标:

  •增加标准化
  •增加可扩展性
  •增加可复用性
  •增加互操作性
  •增加厂商的中立
  •增加对变化的反应

  “REST的限制和面向服务的准则并不冲突。实际上,很多REST的限制直接支持和驱动了面向服务的设计需求,”他说道。然而,对一些面向服务的准则的完全彻底地应用会带来一些设计问题,这会限制一些REST约束能够被应用的程度。在设计包含有服务组合的复杂应用集成方案时,这是一个特别需要注意的考虑点,他提示说。

作者

Alan Earls
Alan Earls

Independent Writer

相关推荐

  • 企业架构师角色转变:有失也有得

    云和移动时代的到来已经改变了公司应用IT的方式,也因此改变了企业架构师的角色。他们跟业务的协作也越来越紧密,而不是仅仅专注于IT。

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

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

  • 揭秘New Relic APM技术细节

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

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

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