REST API设计,开发和管理

无论是物联网,手机的云端服务,这中间的信息同步大部分都是使用 RESTful API ,但是你真的了解如何设计优良,安全可靠不会受到骇客入侵的 API 吗? 这堂课讲解 REST API 的最佳实践,也包含安全设计,还有如何使用 Swagger  设计 API 规格与 API 管理。

课程介绍:English 繁中

从这 7 小时的课程,你会学到

  • 透过应用最佳实践和 REST 约束设计和开发 RESTful API
  • 创建 API 安全性,版本控制,生命周期管理,文档和其它重要方面的实践
  • 以YAML格式使用 Swagger2.0 / OAI 规范撰写规格
  • 为企业创建一个 API 管理策略
  • 利用一些常见的 API 管理平台建构 API 代理(APIGEE,IBM API Connect,Mulesoft Anypoint)

要求

  • 任何一种现代编程语言,例如Java或Node JS或Go或PHP
  • 熟悉 Web 应用程序架构
  • 有 XML 或是 JSON 格式的概念
  • 了解服务的概念

说明

今天,企业正在使用REST API不仅构建手机应用进程,而且还用于:

  • 创建合作伙伴的新管道
  • 创建新的收入流和商业模式
  • 行销它们的品牌
  • 只是创建 API 并不能保证企业能够从 API 的角度实现所期望的目标。开发人员采用API取决于多个方面,例如它的效用,易用性,性能,可扩展性,安全性。API提供者必须在API的整个生命周期中应用最佳实践。
  • 本课程涵盖与API的设计,开发和管理相关的所有重要部分。本课程中讨论的最佳实践,挑战,建议和选择是:
  • 透过分析流行的API提供商(如Facebook,Twitter,Capital One等)其API是如何建构和管理

或是/并且

  • 采取作者的个人经验

本课程适合任何对于端对端( end to end)学习有兴趣REST API的技术专家,而不仅仅是从编程角度。虽然本课程使用NodeJS来示范设计最佳实践,但它不要求学生拥有NodeJS的任何先前经验。

要学习这门课程,学生应该知道任何一种(或多种)编程语言;有 Web 应用程序架构的理解;熟悉服务的概念;了解JSON或XML等数据格式

请注意,本课程不会教如何在NodeJS中编写REST API。

课程分为6个部分:

1.设置阶段

本节中的讲座将提供课程大纲,讨论将用作课程展示的案例研究(ACME Travel),提供课程中使用的工具列表。

2. REST API概念

本节中的讲座将涵盖基础概念,如RESTful API的演进和6种架构的约束。

3.设计REST API

本节中的重点是设计REST API的最佳实务。本节中采用的方法是展示一些流行的API提供者(例如,Twitter,Facebook,Twilio …)如何设计他们的REST API。

  • 资源,CRUD实现
  • 错误处理,HTTP状态代码
  • 变更管理和版本控制
  • 分页,部分反应

为了示范实现方面,一组基于NodeJS的API也被用于实现 ACME Travels 虚拟企业。

4.保护REST API

常用的BasicAuth标准不是实现API安全的最佳方式。在本节中,学生将学习用于REST API的常用认证和授权方案

  • Tokens(Jason Web Tokens或JWT)
  • Key/Secret
  • OAuth 2.0(使用Spotify实现作为参考)

当企业将API暴露给公众网络时,它对企业构成风险,因为骇客可能使用API中的漏洞来对企业发起攻击。有多种类型的这种功能攻击,API提供商必须考虑。你将了解常见的攻击和保护API的最佳做法。

5. Swagger 2.0 / Open API 计划规范

本节将从协作规范开发流程和采用合同第一方法的好处开始。学生将学习

  • Swagger 2.0规范标准
  • 如何以YAML格式创建REST API规范
  • 用于Swagger规范编辑的工具选项
  • Swagger 2.0的好处

展示如何利用通用平台(如Apigee,Mulesoft和IBM API Connect)规范

作为讲座的一部分,将为 ACME Vacations 创建一个完整的规范。在本节结束时,学生将能够为自己的API编写Swagger / OAI规范。

6. API管理

API管理是在安全,可扩展的环境中发布,记录和监督应用程序接口 API 的流程。本节中的讲座包括 API 供应商在 API 管理范围内运行的以下活动的详细信息。

  • 生命周期管理
  • 开发人员生产力
  • 开发者门户网站
  • 安全
  • 流量管理
  • 分析
  • 产品化
  • 获利化 ( API 经济 )

APIgee,IBM API Connect和Mulesoft平台将用于展示在演讲中讨论的各种API管理方面。鼓励学生自己尝试这些平台,以了解API管理平台带来的好处。这三个平台提供了可用于测试的免费试用版本。

目标受众是谁?

  • 对于在应用程序中哪里,何时,以及如何使用RESTful服务感兴趣的技术人员
  • 希望在后端建构 RESTful 服务的网页,手机,IoT应用程序开发人员,
  • 有兴趣了解如何利用“API管理平台”(例如Apigee / Mulesoft / IBM API Connect)的解决方案架构师
  • 有志成为架构师的 IT 领导人员
  • 本课程不会教学生如何编写Node JS。使用NodeJS是为了示范在课程中讨论的概念实现。

关于讲师

Rajeev Sakhuja IT顾问,IBM Cloud Champion 2016 ( 更多讲师主讲课程介绍 )

我是一名亲身实践的信息技术顾问,在财富500强公司的大规模应用程序开发,基础设施管理和战略开发方面有丰富经验。在IT行业拥有超过20年的经验。对于学习和教授新技术具有热情。目前协助大公司制定云端战略和实践。

非常荣幸地宣布,最近IBM已经认证我是“2016-2017年的 IBM Cloud Champion”。感谢所有的学生们的不断支持和鼓励。

英文字幕:有

  • 想要了解如何将英文字幕自动翻译成中文? 请参考这篇 How-To

优惠信息

如何购买这门课程比较划算?可以参考课程合购优惠方案


报名参加课程

Sponsored by Udemy

也许你会有兴趣

 欢迎使用e-mail订阅 Soft & Share 

发表评论

Powered by WordPress.com.

Up ↑

%d 博主赞过: