Tommy
IT+Digital@互聯網
7 min readJan 27, 2019

--

淺談API 分類 (System API (SAPI), Process API (PAPI), Experience API (XAPI))

在程式設計的過程中,經常使用Application Programming Interface,亦都是我們平常所說的 API。API 定義了程式之間溝通的介面,使開發人員不用考慮程式的內部工作原理,亦能透過API 的定義,使用其內容。

如果你是API 新手,看完也不太清楚API 是什麼 (什麼是介面?? 竟究API 是怎麼運作??),請參閱API 的簡介(文章將會推出...)。而下文將淺談行業之間常用的API分類 -- System API (SAPI), Process API (PAPI), Experience API (XAPI),當中的分別和原意,並利用用例(use case)來介紹行業間怎樣利用這三款API。

定義三款API (SAPI, PAPI, XAPI) 的原意 -- API-led Connectivity

在一間大型企業中,有着數以百計的系統,而每個系統都有着獨立的作用,儲存着不同的數據。如果你想執行一個動作(例如: 查詢貨物的運送狀況),很多時候需要不同系統進行互相溝通(例如: 先要在貨物系統找到貨物ID,再利用貨物ID 到運送系統找到運送的地點)。當企業裡每分每秒都需要數以萬計的系統溝通,怎樣設計溝系統之間的溝通方式就變得很重要。

而API-led Connectivity (API 主導的連接方式)就是其中一個企業可以使用的架構,透過有條理地整理API (分為SAPI, PAPI, XAPI),並且以API 為系統之間的最主要溝通途徑,令到已建立的溝通方式可以不斷重用,減化系統架構以及節省開發時間。

API-led Connectivity Use case(Reference: https://dzone.com/articles/creating-system-api-using-mulesoft)

System API -- SAPI

SAPI 應該是三款API 中最容易理解的。當開發人員編寫程式時,開發人員會預先定義一些函數(function),方便其他軟件或硬件訪問。而這些函數(function)就會定義在SAPI 當中。

例如在一個顧客關係管理系統中(Enterprise relationship management (ERM) system),開發人員會定義一些程式來返回(get) 顧客的資料,例如 Get_Customer_ID,又會定義一些程式來更改(set) 顧客的資料,例如Set_Customer_Name。而這些程式的定義將會儲存在SAPI 中,方便其他程式使用。

而SAPI 亦有以下的特色:

  • 系統: 企業內的核心系統(Core System)
  • 目的: 提供核心系統的訪問(access) 能力
  • 使用周期: 6–12 個月

--

--