登錄

應(yīng)用程序接口

百科 > 計(jì)算機(jī) > 應(yīng)用程序接口

1.什么是應(yīng)用程序接口

  應(yīng)用程序接口又稱為應(yīng)用編程接口,是一組定義、程序及協(xié)議的集合,通過 API接口實(shí)現(xiàn)計(jì)算機(jī)軟件之間的相互通信。API 的一個(gè)主要功能是提供通用功能集。API同時(shí)也是一種中間件,為各種不同平臺(tái)提供數(shù)據(jù)共享。

  由于近年來軟件的規(guī)模日益龐大,常常需要把復(fù)雜的系統(tǒng)劃分成小的組成部分,編程接口的設(shè)計(jì)十分重要。程序設(shè)計(jì)的實(shí)踐中,編程接口的設(shè)計(jì)首先要使軟件系統(tǒng)的職責(zé)得到合理劃分。良好的接口設(shè)計(jì)可以降低系統(tǒng)各部分的相互依賴,提高組成單元的內(nèi)聚性,降低組成單元間的耦合程度,從而提高系統(tǒng)的維護(hù)性和擴(kuò)展性。

2.應(yīng)用程序接口的類型

  根據(jù)單個(gè)或分布式平臺(tái)上不同軟件應(yīng)用程序間的數(shù)據(jù)共享性能,可以將 API 分為四種類型:

  1.遠(yuǎn)程過程調(diào)用(RPC):通過作用在共享數(shù)據(jù)緩存器上的過程(或任務(wù))實(shí)現(xiàn)程序間的通信。

  2.標(biāo)準(zhǔn)查詢語言(SQL):是標(biāo)準(zhǔn)的訪問數(shù)據(jù)的查詢語言,通過通用數(shù)據(jù)庫實(shí)現(xiàn)應(yīng)用程序間的數(shù)據(jù)共享。

  3.文件傳輸:文件傳輸通過發(fā)送格式化文件實(shí)現(xiàn)應(yīng)用程序間數(shù)據(jù)共享。

  4.信息交付:指松耦合或緊耦合應(yīng)用程序間的小型格式化信息,通過程序間的直接通信實(shí)現(xiàn)數(shù)據(jù)共享。

  當(dāng)前應(yīng)用于 API 的標(biāo)準(zhǔn)包括 ANSI 標(biāo)準(zhǔn) SQL API。另外還有一些應(yīng)用于其它類型的標(biāo)準(zhǔn)尚在制定之中。API可以應(yīng)用于所有計(jì)算機(jī)平臺(tái)和操作系統(tǒng)。這些 API以不同的格式連接數(shù)據(jù)(如共享數(shù)據(jù)緩存器、數(shù)據(jù)庫結(jié)構(gòu)、文件框架)。每種數(shù)據(jù)格式要求以不同的數(shù)據(jù)命令和參數(shù)實(shí)現(xiàn)正確的數(shù)據(jù)通信,但同時(shí)也會(huì)產(chǎn)生不同類型的錯(cuò)誤。因此,除了具備執(zhí)行數(shù)據(jù)共享任務(wù)所需的知識(shí)以外,這些類型的 API還必須解決很多網(wǎng)絡(luò)參數(shù)問題和可能的差錯(cuò)條件,即每個(gè)應(yīng)用程序都必須清楚自身是否有強(qiáng)大的性能支持程序間通信。相反由于這種 API只處理一種信息格式,所以該情形下的信息交付 API 只提供較小的命令、網(wǎng)絡(luò)參數(shù)以及差錯(cuò)條件子集。正因?yàn)槿绱?,交?API方式大大降低了系統(tǒng)復(fù)雜性,所以當(dāng)應(yīng)用程序需要通過多個(gè)平臺(tái)實(shí)現(xiàn)數(shù)據(jù)共享時(shí),采用信息交付 API 類型是比較理想的選擇。

  API與圖形用戶接口(GUI)或命令接口有著鮮明的差別:API 接口屬于一種操作系統(tǒng)或程序接口,而后兩者都屬于直接用戶接口。

  有時(shí)公司會(huì)將 API 作為其公共開放系統(tǒng)。也就是說,公司制定自己的系統(tǒng)接口標(biāo)準(zhǔn),當(dāng)需要執(zhí)行系統(tǒng)整合、自定義和程序應(yīng)用等操作時(shí),公司所有成員都可以通過該接口標(biāo)準(zhǔn)調(diào)用源代碼,該接口標(biāo)準(zhǔn)被稱之為開放式 API。

評(píng)論  |   0條評(píng)論