API管理工具能否弥补REST与Web服务之间的鸿沟?

日期: 2014-09-28 作者:George Lawton翻译:邹雅玲 来源:TechTarget中国 英文

API管理工具能否弥补REST与Web服务之间的鸿沟?

随着企业学习如何通过RESTful利用现有服务,API管理工具正在引起轰动。

企业面临许多源自SOA架构好处的挑战,比方说服务重用。关键原因之一是暴露企业服务给新应用背后的复杂性。SOA中理论上服务一般都是可重用的。但实际上往往最终还是有大量的组件与组件之间的硬连接集成,3Scale的CEO Steven Willmott说。

与此同时,由于允许企业通过采用直接的RESTful接口来利用现有服务,API经济开始爆发。“API无所不在,”Gartner研究副总裁Paolo Malinverno说:“任何使用云的软件都使用API。公司开始利用API来进行集成,未来实现新应用的敏捷性也要如此。任何纯粹是企业内部的应用也都一样可以利用这些趋势。”

API与SOA

SOA是一种架构,是建构应用的一种方式,它遍历不同的职能单元,可以随处调用,Malinverno说。SOA曾与Web服务协议打过交道,大家把SOA与Web服务关联在一起,但SOA是一种架构,而Web服务却是一种API风格。

“大家一般都不愿意谈SOA,” Malinverno解释道:“他们认为这个东西已经过时,没有用了。但SOA作为一种架构仍然是充满活力的。” Web服务只是搞SOA的一种方式而已。相对于老系统内部做SOA的方式,API的确有一种略微不同的连接,但架构上它们多多少少都是一样的。

Malinverno补充道:“在IT里面,大家的职业生涯是建立在技术基础上的。更年轻的人不希望听Web服务的东西。他们希望听的是REST。”然而REST也限制了交互的复杂性。在不久的将来API管理工具可以帮助弥补这一鸿沟。

REST如此成功的一个主要原因是容易使用。Web开发者可以去到一个门户上,接收一个API主键然后开始测试。Web服务的过程就要长得多、复杂得多,Malinverno说。

RESTful复杂性需求

从长远看,当企业想给API交互增加复杂性时REST会显现出自己的局限性。“REST可实现简单的交互,像增、删、读、改等,”Malinverno说:“你需要更加复杂的交互时,就需要事件。事件需要事件处理器来审视并决定该干什么。”

组织会想办法实现这些更加复杂的交互,但REST和JSON将显示出自己的限制。“Web服务也没有希望做这个的,因为大多数Web服务的规范都定稿了,” Malinverno认为:“还有更多要做,但大家必须继续前进。我们必须找到别的协议。”

业务逻辑新考虑

Malinverno指出,记住这一点之后,API管理工具的一个关键功能就是在平台之上定义业务逻辑的能力。在今天,业务逻辑被捆绑进业务流程分区、应用逻辑或SaaS包的云端。REST必须有办法至少表达其中的部分逻辑并支持它们才行。

Malinverno预计API现象会首先会往扩大范围发展然后才是提高深度。开发者现在需要的是简单的交互,但是3年之后将会需要更复杂一点的东西。REST还可以干这活儿,而且可以干得很好。大多数移动的增长以及互联网上的东西都将是基于REST的。

仍然有许多应用是与业务逻辑纠缠在一起的。比方说,绝大多数的SAP实例都内置有定制化的逻辑。为了将来改变业务逻辑是当前B2B应用的主要问题之一。此外,有时候逻辑并不依赖于业务流程。而是依赖于5年前编写的东西。

标准化接口

“人们开发API已经有15年的时间了,” Jitterbit产品副总裁Andrew Leigh说:“现在我们提出了‘API管理’这样的术语。大家在努力思考怎样才能开发出高质量的API。”

SOA聚焦的是企业内部的连接,但结果证明它比企业所认为的要复杂,更具挑战性。SOA的这个问题是因为它更多的是方法论而非一套规则。“我们在审视API对SOA的意义时,总是向内看,”Leigh说:“大家用每一种疯狂的办法来开发API。我们有SOAP和Web服务,但大家实现它们的方式与云出现之后的有了根本性的不同。”

像Saleforce、NetSuite及Workday 这些基于云的企业取得的大范围成功证明了开发部署API的标准化之重要性。企业需要考虑像安全和如何针对不同消费者控制API的曝光这样的因素。“我们看到的问题是大家如何取出防火墙后面的数据并以安全稳妥的方式暴露给防火墙外面,”Leigh说。

支撑API层

功能全面的API网关,由于有着内置的转换及协调能力,正迅速被采用来在处理轻量级集成以外提供管理和治理层。SOA Software负责产品营销的副总裁Sachin Agarwal说:“我们看到API曾要么被放到现有集成工具如ESB或者iPaaS上,要么甚至不断地直接置放到应用本身之上。”

分层需要有合适的遵守企业治理、风险及合规性需求的基础设施。Agarwal说,API的曝光需要发布、记录、安全、监控、分析及治理。这些就是API管理工具提供的能力,并且不断被放到企业级API之上。

由于这些能力,API管理工具被用来作为集成基础设施的一部分。在某些需要轻量协调与转换的集成用户案例中,API管理层提供了传统依靠专用适配器的重度的ESB的一种低成本的替代。

API管理正在打破被锁定在本地系统之内的数据之间的壁垒,令这些数据可以为不断托管于云端的新的基础设施和应用所访问,Agarwal说。有了API管理平台提供的细颗粒度的控制、监控及分析,消费者就有能力分析使用情况,找出哪个服务被调用得最频繁,然后再进一步调整业务模式或者基础设施。

开放新的企业采用模式

随着企业重新架构并为数字化变革进行准备,Agarwal观察到四种不同的企业采用模式的出现。

平衡发展与控制

大多数SOA都是以企业受控环境或跨受信任的合作伙伴之间的环境为基础的。“许多你必须解决的问题,像治理,都通过SOA解决,”Willmott说:“企业架构师要进行的转变是考虑如何把使用这些服务的app整合到一起。”

一旦企业发布了一套资源给规模大得多的受众,这些开发者干的事情就无法预测了。Willmott指出:“这看起来似乎是微不足道的变化,但却非常重要。你需要不同层次的身份和信任。”

比方说,纽约市正利用3ScaleAPI管理平台为其市民开发移动应用。该平台让他们能够以结构化的方式暴露数据,以便第三方可以开发可利用这些服务的应用。这使得大家可以更容易地找到一种不会给城市带来开发成本的新的方式去开发应用。“大家能拿到想要的东西,而城市一分钱也不用付出,”Willmott说。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 为多云构建高效的API管理系统

    云应用的开发几乎总是依赖一系列来自顶级供应商的服务,比如Amazon Web Services、Microsoft Azure和 Google Cloud Platform。

  • 如何使用Azure API管理服务?

    在云和微服务架构时代,API是数字化业务的通用语言。根据分析公司Forrester Research预测,仅在美国,API管理工具的支出将在未来5年内达到近30亿美元。

  • 企业应用获得成功不可或缺的力量——API

    毋庸置疑,我们已经进入到CA Technologies一直强调的应用经济时代。但是,企业若想在应用程序领域取得成功,管理好API是其必不可少的一个因素。

  • 开发人员:构建API时先自己试试

    为已有产品构建API的挑战是,业务需求总是最重要的。为了跟上业务需求的脚步,我们通常被强迫在产品质量上作出让步,也绝对是API开发的最差方式。