API创建影响生产的六个方面

日期: 2016-04-19 作者:Fred Churchville翻译:boix 来源:TechTarget中国 英文

在API创建方面,简单性至关重要。AnyPresence 的Vivek Gupta讨论了开发者可以从6个方面处理好API的创建问题,从而加速API生产。 据运营管理平台提供商AnyPresence的产品管理副总裁Vivek Gupta的说法,API创建需要简单。拥有移动开发工程师背景的Gupta认为,随着API变得对旧的、过时的业务流程越来越关键,那些API易于创建和使用是必不可少的条件。

“API创建不应该是复杂的;创建API应该足够容易和快速,”Gupta说:“API是你的数字化变革的起点,这一起点不应该成为路障。” 为了说明开发者如何可以简化这些API的创建和使用,Gupta说API创建……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

在API创建方面,简单性至关重要。AnyPresence 的Vivek Gupta讨论了开发者可以从6个方面处理好API的创建问题,从而加速API生产。

据运营管理平台提供商AnyPresence的产品管理副总裁Vivek Gupta的说法,API创建需要简单。拥有移动开发工程师背景的Gupta认为,随着API变得对旧的、过时的业务流程越来越关键,那些API易于创建和使用是必不可少的条件。

“API创建不应该是复杂的;创建API应该足够容易和快速,”Gupta说:“API是你的数字化变革的起点,这一起点不应该成为路障。”

为了说明开发者如何可以简化这些API的创建和使用,Gupta说API创建有6个方面是开发者必须考虑的,这样才能加速API的生产。

连接性的问题

Gupta说,第一个要考虑的关键领域,是API如何与你的数据库、遗留服务以及企业系统的其他关键部分互联。能够容易地跟这些核心系统集成有助于确保开发者不会陷入考虑集成和连接性问题的泥潭。然后开发者就可以主要专注于创建自己的API和服务上。

为了支持连接性,Gupta开发者应该寻找可提供自动化“连接层”的API创建工具,从而避免与之前核心系统的集成产生的痛苦—这种东西会替你找到实现连接性的“魔法”。

开发者定义、控制API的灵活性

接下来要考虑的,Gupta说,是为开发者提供灵活性来筹划整个API的生命周期。开发者应该不仅能够看到代码和初始框架,还能看到最终产品,并且可以控制像用户接口和应用外观这些东西。

“作为开发者,你应该可以控制应用的界面外观,”Gupta说:“开发者应该能访问API定义框架以及其间的任何东西。”

Gupta说,提供一款工具让开发者能“看到”最终产品是的样子,看到它是如何运行的,这样可确保当他们发送API用于生产时,可以提供完全打包好的应用,而不仅仅是一套不知道能不能正常运行的裸代码。

工作流

Gupta强调了开发者工作流是下一个要关注的领域。“知道我的代码的哪一部分去到了哪里让我的生活好过了一些,”他说,并补充说,重要的是要找到一项工具可提供指定逻辑的工作流步骤。

“API不是新的,”他说:“但作为开发者你希望理解工作流。工作流总会有复杂度、新逻辑、规则等东西。”

为了避免意外惊喜,Gupta说开发者需要有一个标准的、集成的工作流,这个工作流应该是简单、有效的,并且概括了从开始的生产到最终的端结点的一切。他说找到一项工具能提供展示该工作流的简单、易读且可用的图形界面会有所帮助。

RESTful API的作用

有关加速API创建方面,Vivek Gupta明确表示,使用RESTful API有助于开发者处理本文当中提到的一些关键方面。比方说:

连接性:RESTful API往往包括有连接层,可自动与核心数据系统等其他资源集成。

工作流:使用RESTful API的部分好处在于它们往往有一个明确的端结点工作流,开发者马上就可以可看到,从而使得跟踪事情变得简单。

测试:RESTful API往往具备在生产环节进行测试的能力,这使得调试和错误修复努力执行起来比较顺畅。

记录与日志:开发者写代码的时候RESTful API往往以程序化的方式创建Swagger文档,这帮助开发者减轻了负担,并让API容易消费。

测试

Gupta说下一个要考虑的就是测试方面的事情了。他指出,每次测试团队发现一个版本的新问题,版本回退和修复的代价就越高。

Gupta说开发者应该不用公开API就可以测试自己的API。实时测试是必不可少的,他说,为的是向开发者提供灵活性,这种灵活性不仅是为了预先找到重大问题,也是为了避免发布周期回退到测试团队那里,从而加速API的创建流程。你应该能够在不需要新工具、独立服务器或虚机的情况下完成这种测试。

模拟

据Gupta说,API开发团队、IT团队以及应用开发团队往往是比较零散的不同的。

“你不会指望他们能凑到一起工作,” Gupta认为这种团队之间的分离会严重妨碍API创建的努力。但你要做的不是强迫这些团队进行更多的互动,相反,Gupta建议,答案也许在于让开发者不那么依赖资源。

比方说,Gupta举例说开发者也许需要从IT部门获得对SQL系统的访问。这种请求需要时间,而且你永远也不知道请求何时得到批准。对此,Gupta说,答案是API的运行应该不需要依赖IT资源。开发者应该能够在不需要连接数据源的情况下完成对API规划环境和端点的仿真。

Gupta举了一个例子,有一次他的一位客户要招人,希望找人来主持一次使用该客户自己API的黑客马拉松比赛。然而,这名客户并不希望把“真正”的API或者任何安全协议黑客马拉松中暴露出来,所以他们决定创建该API环境的一个模拟环境供比赛期间使用。在不到一个星期的时间内,开发团队就有了一个为该并未暴露于任何真正数据源连接的API的工作环境。据Gupta说,有这种能力可以使得API生产和快速应用开发快很多。

文档记录

Gupta还强调了创建API时文档记录的重要性。尽管开发者也许对API很熟悉,觉得很舒服,但他从来不会假定消费者也会如此。这要求坚持进行标准的文档记录,让所有消费者都能轻易地访问,以避免引起任何的困惑。

为了达到这样的效果,Gupta建议开发者找能自动创建文档并且将其存储进Swagger这样公用框架的工具。这样的话,开发者就不用担心单独花时间创建文档,从而可以把精力主要集中在创建自己的API上面了。

日志

最后,Gupta还强调了API发布出来供别人使用以后,做好日志很关键。“如果你要对API进行生命周期管理,你清楚自己API的情况吗?”他问道:“有没有流量?有没有错误?” Gupta说需要进行实时日志来捕捉到API执行情况的精确画面。

他还补充说开发团队应该有自己的日志方法,无论他们用来监控API的系统是什么,这种系统都应该与开发者或API消费者相应公司使用的任意日志工具集成起来。这样API开发者不仅能跟踪API一般的执行情况,还能跟踪在每一个独特环境下的交互和执行情况。为了实现这一点,Gupta说,找到提供实时日志的工具并允许与其他重要的日志工具无缝集成是明智的。

相关推荐