隨著科技的不斷進步和數位化的浪潮席捲全球,應用程式介面(API)已成為現今實體世界資訊化的重要關鍵元素之一。API提供了方便即時與標準化的方式,為各自獨立的應用程式平台之間,建立起通訊和交流的標準管道,讓程式開發人員可利用現有的服務和資源,擴大延伸並開展新的應用模式。
本中心多年來為產業界、公部門等開發各式資訊系統平台工具,著力於資訊數位化進程發展,近年來也協助各單位的平台建立起平台與平台之間的API標準管道,以本中心執行的內政部營建署全國人行橋梁平台系統為例,採用API與交通部運研所橋梁系統進行資料同步,排除人工人為作業干預及錯誤,確實達到機器與機器可以無阻礙的順利對話為目標。
壹、什麼是API?
API是「應用程式介面」(Application Programming Interface)的縮寫,API是一組定義和規範,用於不同軟體應用程式平台之間進行溝通和交互操作。API就像是兩個系統平台之間的仲介或接線生,它定義了如何進行通訊、查詢和使用彼此所發佈的資源和功能。
一、API的定義和功能
API的主要功能是促進不同系統之間的資料整合和互操作性,它提供了一個標準化的方式,讓程式開發人員能夠使用現有的服務和資源來構建新的應用程式。API的定義包括了機器請求(Request)和機器回應(Response)的格式、資料的傳輸方式和可用的系統操作。API可以用於操作各種系統資源,如資料庫、網路服務、操作系統功能等。
二、API的種類和形式
- Web API
Web API是一種基於網際網路的API,通常使用HTTP協定進行通信。它們可以提供網站和應用程式的功能,如存取資料、發布訊息、處理付款等。常見的Web API包括RESTful API和SOAP API。
- 函式庫(API Library)
函式庫是一種提供程式軟體開發工具包的API,程式開發人員可以應用函式庫API,來使用特定的函式或框架內容。這些函式庫可以提供一些預先寫好的功能,例如GIS地圖平台、圖像處理等。
- 操作系統API
操作系統API是為程式開發人員,提供操作使用機器作業系統底層功能的標準介面。藉此可用來操作系統機器的檔案系統、設備驅動程式、網路連線等。常見的操作系統API包括Windows API、Android API和iOS API。
- 資料庫API
資料庫API是用於操作資料庫的接口,提供了一套方法和命令,用於存取、查詢和修改資料庫中的資料。常見的資料庫API包括SQL API、ODBC API和JDBC API。
- 第三方API
第三方API是由外部公司或組織提供的API,程式開發人員可使用這些API來擴展自己的應用程式功能。例如,交通部提供的交通運輸API、OpenAI公司提供ChatGPT的API,讓全世界廣大的使用者,可透過標準管道界接達成查詢及擷取資料之目的。
貳、API的應用範疇
API具有廣泛的應用範疇,以下是一些常見的應用範疇和相關實例:
一、社交媒體
社交媒體平台提供API,讓程式開發人員能夠訪問和使用其用戶資料、發佈的文章內容等。例如,Facebook提供的Graph API允許程式開發人員使用Facebook的用戶資料和社交功能來開發應用程式。
二、地圖和定位服務
地圖和定位服務提供商如Google Maps和內政部的TGOS Map API,程式開發人員可以使用這些API,在自己開發的應用程式中嵌入地圖功能,獲取地理位置資訊,繪製地圖資訊服務等。
三、支付和金融服務
電子支付平台如LINE Pay、綠界科技ECPay等提供API,程式開發人員可以集成這些API來實現在自己的應用程式中接受支付、處理金融交易等功能。
四、雲服務和儲存
雲端服務平台商如Amazon Web Services和Microsoft Azure提供API,程式開發人員可以使用這些API來管理雲端資源、儲存和處理相關數據資料等。
五、物聯網
物聯網平台如AWS IoT和Google Cloud IoT提供API,程式開發人員可以使用這些API來連接和管理物聯網設備、收集和分析數據等。
這只是API應用範疇的一小部分,在這個人際網路、社群網路及系統平台之間交流頻繁的資訊世代,API在各個領域都有應用,程式開發人員都可以利用相應的API,來實現資訊交流激發出各種創新的系統功能應用。
叁、公部門API之發展
一、規範發展歷程
台灣公部門發展開放API的歷程,行政院國家發展委員會於104年7月20日發資字第 1041500855 號函頒「共通性資料存取應用程式介面規範」,其目的首為國內各機關提供開放資料平臺使用者以 API 取得資料,採用 RESTful 語法風格為主要基礎,訂定應用程式介面的呼叫方式、語法規則及所提供的介面類型等項目,以達機器自動資料介接目標。
另為保有各系統平台資源特性及保留 API 開發彈性,以擴大政府服務效益,行政院國家發展委員會於106年7月3日發資字第1061501003號函,發佈導入 Open API Initiative 組織之 OpenAPI Specification (簡稱 OAS )標準,藉一致性之描述方法,提供機器可讀之標準格式 API 說明文件,以降低資料維護門檻。
對於各機關及服務於政府資訊案之資訊服務廠商最大的影響,係由公共工程委員會於106年7月13日以工程企字第10600218200號函頒修正「資訊服務採購契約範本」所示:『…履約標的涉及應用程式介面開發或增修者,應依國家發展委員會訂頒之最新版『共通性應用程式介面開放規範』辦理,並運用國際通用驗證機制(如 Linux Foundation 之 OpenAPI 標準等),作為驗收之依據。』。
公共工程委員會另亦於「機關委託資訊服務廠商評選及計費辦法」第7條增訂:『…機關採購軟體開發服務,前項第二款所定廠商之專業技術能力,得包括在零成本或低成本之前提下,提供可自由存取、使用、修改及散布之共通性應用程式介面開發或整合能力。』
鑒於API在國內各相關條文的類法定地位,也引領國內資訊系統平台的開發方向,產生網路效應,加速推廣全國資訊化之應用。
二、案例分享
本中心歷年來協助公部門進行系統平台開發,提供以下案例分享API的應用情境:
- 內政部營建署全國人行橋梁系統
透過建立API方式,系統主機自動定時將人行橋梁資料,同步至內政部運研所之全國橋梁系統,減少資料轉匯之人工作業,將同步時間縮短至每日作業,大幅降低資訊落差。
- 內政部營建署全國下水道管理系統
以API介接國家防救災科技中心、都市溢淹示警系統、各縣市政府通報之淹水資訊,整合各單位淹水情報;API串聯全國公共污水處理場系統平台,彙整各縣市填報情形,作為各縣市考評資訊之依據;另連結TGOS地圖服務API,建置WEB GIS平台,展示下水道位置資訊。
- 臺北市公園處駐警巡查系統
行動裝置將違規開單事項,透過API即時轉入駐警巡查系統平台完整記錄;後續案件繳費歷程透過API接入臺北市繳費平台,同步罰款繳費銷單狀況進行管理;API整合臺北市1999、市長信箱等民眾建議平台,相關意見彙整於平台一併處理,避免資訊錯置。
肆、API的未來發展
API有助於實現系統與系統、機器與機器之間的連結,超越現有的網際網路和物聯網,對世界資訊化的運作產生深遠的影響,主要可從以下4個方向一窺未來:
一、更高效的資訊交流和整合
API的進一步發展將促進不同系統之間的資訊交流和整合。不同的系統可以通過API實現即時的資訊共享和互動操作,從而實現更高效率的運作。例如,智慧城市系統可以通過API,將城市內的交通、能源和公共服務等系統連結起來,實現更智慧、高效的城市營運。
二、強大的智慧化和自動化
透過API連結不同的系統,可以形成更強大的智慧化和自動化網絡。這些系統可以彼此溝通和協同作業,以實現更智慧、更自動的任務執行。例如,自動駕駛汽車可以通過API與交通、導航和其他車輛之異質系統互聯,實現更安全、智慧的交通運輸系統。
三、開放的創新和合作平台
API的進一步發展將促進創新和合作的機會。不同組織和程式開發人員可以通過API共享資源、整合服務,共同開發新的應用和解決方案。這種開放性的創新和合作平台將促進新的商業模式和價值鏈的形成。例如,智能家居系統可以通過API與家電、能源系統和安全系統連接,提供更便捷、安全的智慧家庭體驗。
四、更全面的數據應用和分析
通過API連結不同的系統,可以獲得更全面和多元化的數據來源。這將提供更多的數據應用和分析機會,從而揭示新的洞察和價值。例如,醫療領域的系統可以通過API連接患者的健康記錄、醫療設備和研究數據,實現更精準、個人化的診斷和治療。
伍、結論
API的崛起為數位時代的發展開闢了新的可能性,促進了異質系統和平台之間的連接和互動,加速了應用程式的開發和整合,並為創新和合作提供了無限的機會。然而更重要的是身為數位時代的我們,在工作上應隨時具備API的運作思維,來規劃、執行與創造新的合作契機,以持續推動資訊化轉型和社會進步。
然而,隨之而來的挑戰也不可忽視,如安全性和隱私問題,未來的發展需要在技術和法律等方面共同努力,以確保API的健康和可持續發展,並推動我們走向更加智慧、連接和永續的未來。