API帮忙各种软件产品进行协同工作。同时API也是软件,提供其他软件组件或零碎之间的通信或交互方式,每个API都有一个生命周期。
API常常在迭代软件开发过程中扮演着重要的角色,该过程倒退迅速。开发人员必须放弃API的稳定性,同时关联的应用程序要进行频繁的更新和更改。对于依赖于该API的软件和服务,一直公布API的新版本可能会很麻烦。
API生命周期
只管对于API生命周期的理论局部有不同的认识,但本文应用五个经典阶段:布局,开发,测试,部署和淘汰。
1.布局阶段
任何API开发我的项目都必须从布局和设计开始。让业务团队成员确定API应该公开哪些服务和性能。记录特定的业务需要,并输入为性能和非性能的全面需要文档。
建设API需要后,开发团队能够依据命名规定,体系结构和要应用的特定协定,做出理智的设计决策。布局和设计应产生一个API标准,该标准形容了接口反对的办法和操作以及任何技术束缚。
2.开发阶段
API能够用多种编程语言编写,包含PHP,Python,Ruby,.NET,C#,Java和Perl。编码和测试可能须要进行屡次迭代,然而开发团队不应在API稳固之前将其公布到生产环境中。最终,API开发须要优良的打算、编码和测试性能,以及最大限度地缩小面向客户的API更改所需的准则。
API开发能够由单个开发人员实现,但通常由一个独立的、专用的API开发团队进行开发。因为是团队单干,因而多个开发人员将须要合作拜访和保护他们的API。整个API团队都应该可能查看API代码、文档和测试文件并与之交互。这对于实现全面的搜寻和版本控制也很重要,有助于受权的开发人员依据条件(如我的项目和版本)来定位API。
此外,多个开发人员能够更轻松地创立文档,测试用例,甚至能够创立使企业胜利应用公共API所需的一些营销资料。
API开发计划应始终围绕以下三个注意事项:
如何跟踪API的应用,性能,谬误和其余重要指标。
平安组件,特地是OAuth 2.0受权和API密钥验证。
性能和可拜访性问题,例如节流和速率限度,以确保足够的API拜访。
3.测试阶段
开发人员必须彻底测试API的每个迭代的性能、性能和用户接受度。测试人员能够将不称心的后果反馈给开发人员,进一步构建和改良API代码。
功能测试可验证每个性能个性是否按预期运行。应用模型和测试版本依据其标准评估API的性能。功能测试还强调安全性和错误处理能力,确保API免受解体或攻打。
性能测试评估API在负载下的执行状况。许多api都受到不稳固的流量和不可预测的负载条件的影响。性能测试指标掂量API在重负载下的性能,例如响应某个应用程序申请所需的工夫。
验收测试会跟踪API的应用状况,并判断它是否达到了预期的业务目标。验收测试能够揭示业务流程或API自身的变更可能产生的任何新需要。它能够帮忙辨认对现有函数的可能更改,从而使API更加有用。例如,在数据可能被传递到API或从API传出的状况下,验收测试能够揭示须要将更多或不同的数据作为参数传递。
4.部署阶段
当一个API稳固且平安,就能够投入生产了。然而,与许多软件产品一样,API的初始版本可能会作为性能测试和验证的第二阶段。
例如,开发人员可能会尝试将最新版本的API利用到没有最新版本的API环境中,在该环境中,开发人员能够在不影响实时版本的状况下尝试应用该软件的最新API版本。现实状况下,当开发人员筹备好最新版本时,该API即可用于残缺的生产环境。此过程的要害局部是收集跟踪API性能的指标,例如它遇到的谬误数量。
开发人员必须将新API版本造成的中断降到最低。编写良好的API应该蕴含一个版本调用函数,该函数能够检索已知良好的版本,以便在新版本不适合的状况下投入生产。
修复谬误或进步性能的API更改通常不会影响API调用和响应。然而,用于身份验证的新参数和参数,或其余根本设计更改,可能会迫使用户在拜访新的API版本之前执行软件更新。
5.退休阶段
开发人员能够随工夫扩大和更新API以进步业务价值,然而随着工夫的推移,每个API都会减少基础架构和反对老本。最终,软件团队淘汰了旧的API和旧版本的API。
因而,企业须要认真布局从一个API版本到另一个API版本的迁徙门路,并在优化新版本的同时学习一次保护多个API版本。软件团队须要一个终止生命周期的打算,以便在不重大影响日常经营的状况下停止使用API。
监控是这个退出过程的重要组成部分,尤其是在跟踪API的年龄和历史记录时。例如,一家企业可能发现有些API曾经90至120天简直没有应用过了。然而,它们仍托管在根底构造中,耗费资源并产生老本。这就是为什么跟踪这些API是一个无效的API退休打算的重要组成部分。
本文为公司外部培训应用,借助EOLINKER API管理工具进行展现,目前公司外部对立应用EOLINKER进行API治理及自动化测试,欢送有趣味的敌人与我交换!
www.eolinker.com