2017 年 02 月 23 日

REST API設計,開發和管理

無論是物聯網,手機的雲端服務,這中間的資訊同步大部分都是使用 RESTful API ,但是你真的了解如何設計優良,安全可靠不會受到駭客入侵的 API 嗎? 這堂課講解 REST API 的最佳實踐,也包含安全設計,還有如何使用 Swagger  設計 API 規格與 API 管理。

我會學些什麼呢?

  • 透過應用最佳實踐和 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”。感謝所有的學生們的不斷支持和鼓勵。


課程網址

♥找優惠折扣碼?

也許你會有興趣

喜歡我們的分享嗎?使用以下的社群分享按鈕分享給你的朋友吧!

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

分類

04-Udemy 線上課程

標籤