應用編程接口(API)是壹組定義、程序和協議,計算機軟件可以通過它們相互通信。API的主要功能之壹就是提供壹個通用的函數集。程序員使用API函數開發應用程序,可以避免編寫無用的程序,從而減少編程任務。
API也是壹個中間件,為各種平臺提供數據共享。根據單壹或分布式平臺上不同軟件應用程序之間的數據共享性能,API可分為四種類型:
遠程過程調用(RPC):程序之間的通信是通過作用於數據緩沖區的過程(或任務)來實現的。
標準查詢語言(SQL):是訪問數據的標準查詢語言,應用程序之間的數據共享是通過通用數據庫實現的。
文件傳輸:文件傳輸通過發送格式化文件實現應用程序之間的數據共享。
信息傳遞(Information delivery):指松耦合或緊耦合的應用程序之間的小型格式化信息,通過程序之間的直接通信實現數據共享。
目前,應用於API的標準包括ANSI標準SQL API。此外,壹些適用於其他類型的標準仍在制定中。API可以應用於所有的計算機平臺和操作系統。這些API連接不同格式的數據(如數據緩沖區、數據庫結構和文件框架)。每種數據格式需要不同的數據命令和參數來實現正確的數據通信,但同時也會產生不同類型的錯誤。因此,除了執行數據共享任務所需的知識,這些類型的API還必須解決許多網絡參數問題和可能的錯誤條件,即每個應用程序都必須知道它是否具有強大的性能來支持程序間通信。相反,因為這個API只處理壹種信息格式,所以這種情況下的信息傳遞API只提供命令、網絡參數和錯誤條件的壹個小的子集。正因為如此,交付API大大降低了系統的復雜度,所以當應用需要跨多個平臺實現數據共享時,采用信息交付API類型是比較理想的選擇。
API和GUI或命令接口有明顯的區別:API接口屬於操作系統或程序接口,而後兩者屬於直接用戶接口。
有時公司會使用API作為他們的公共開放系統。也就是說,公司制定自己的系統接口標準,公司所有成員在需要進行系統集成、定制、程序應用等操作時,都可以通過這個接口標準調用源代碼。這個接口標準被稱為開放API。