国产成人毛片毛片久久网_国产午夜激无码av毛片不_国产乱对白精彩在线播放_av资源站中文字幕_亚洲男人的天堂网站_国产成 人 综合 亚洲网_中国国产激情一区_少妇一级淫片免费放_亚洲一本大道av久在线播放_免费观看美女裸体网站

行業(yè)動(dòng)態(tài)

防御吧作為15年知名老牌域名服務(wù)商,CNNIC和CANN雙認(rèn)證域名注冊(cè)商,已經(jīng)
持續(xù)為500多萬(wàn)個(gè)域名提供服務(wù),包括智能DNS/自由轉(zhuǎn)移/隱私保護(hù)等服務(wù)!
API類(lèi)型和集成規(guī)范指南
2022-04-28 11:38:50 【

在我們的常見(jiàn)應(yīng)用中,往往包含著大量服務(wù)于各種數(shù)據(jù)交換的API類(lèi)型、以及各種常見(jiàn)的API架構(gòu)與協(xié)議。下面,我將從集成的角度和您討論,在準(zhǔn)備將多個(gè)服務(wù)相互集成時(shí),使用不同類(lèi)型、架構(gòu)和協(xié)議的API意味著什么?我們可以使用哪些工具,又應(yīng)該注意什么呢?


API的類(lèi)型和集成的復(fù)雜性

通常,我們有四種常見(jiàn)的API類(lèi)型:公共、私有、伙伴和復(fù)合。其中:

公共API

公共API有時(shí)也被稱(chēng)為開(kāi)放或外部API。顧名思義,任何人都可以公開(kāi)的方式,在沒(méi)有限制、或限制相對(duì)較少的情況下使用它。此類(lèi)API通常是方便第三方與本公司開(kāi)發(fā)的Web應(yīng)用進(jìn)行通信的一種方式。一些常見(jiàn)的、為大多數(shù)中小企業(yè)提供服務(wù)的公共API有:PandaDoc、BigCommerce、DocuSign、NetSuite等等。

如何與公共API集成

與公共API集成相對(duì)比較容易。不同的公司都會(huì)為您提供必要的API文檔,其中描述了各種端點(diǎn)、驗(yàn)證與授權(quán)其API的使用和調(diào)用方法等。事實(shí)上,大多數(shù)企業(yè)的集成平臺(tái)都是圍繞著公共API的概念來(lái)構(gòu)建的。他們提供的所謂集成連接器,在本質(zhì)上都是各個(gè)Web應(yīng)用的API抽象層。不過(guò),它們?cè)诠ぷ鳈C(jī)制上的復(fù)雜性和范圍,則取決于A(yíng)PI的設(shè)計(jì)與文檔說(shuō)明。

總的來(lái)說(shuō),與公共API集成相關(guān)的主要策略有兩種:要么像iPaaS那樣使用第三方軟件;要么自行開(kāi)發(fā)。在您選擇后者時(shí),請(qǐng)準(zhǔn)備好為數(shù)據(jù)映射(Data Mapping)而設(shè)計(jì)的相應(yīng)策略。雖然許多應(yīng)用程序會(huì)使用相同的模式,來(lái)命名前端的公共字段,但這些字段在后端可能有著截然不同的標(biāo)簽。適當(dāng)?shù)牟呗詰?yīng)該能夠保證追溯性、準(zhǔn)確性和相對(duì)快速的項(xiàng)目實(shí)施,以及對(duì)于一些容易避免的錯(cuò)誤予以避免。

值得一提的是,如果您正在為自己的項(xiàng)目尋找一些可公開(kāi)訪(fǎng)問(wèn)的API,GitHub上就有一個(gè)較為詳盡的公共API列表。它涵括了諸如天氣預(yù)報(bào)等Web應(yīng)用所需要用到的、完整的API密鑰和OAuth授權(quán)。

私有API

作為公共API的對(duì)立面,私有API僅適用于單個(gè)公司。企業(yè)開(kāi)發(fā)人員經(jīng)常使用它們來(lái)實(shí)現(xiàn)Web應(yīng)用之間在某種程度上的數(shù)據(jù)交換、提供對(duì)企業(yè)數(shù)據(jù)庫(kù)和其他內(nèi)部共享服務(wù)的訪(fǎng)問(wèn)權(quán)限、以及與其他內(nèi)部API通信、或?yàn)楣締T工構(gòu)建內(nèi)部應(yīng)用。

事實(shí)上,越來(lái)越多的公司認(rèn)識(shí)到使用自己的API的價(jià)值。據(jù)此,他們可以節(jié)省更多的時(shí)間和資源,提高應(yīng)用的敏捷性和靈活性,并有助于降低整體運(yùn)營(yíng)成本。

如何與私有API集成

由于私有API通常駐留在具有高度安全性的環(huán)境中,因此與它們的集成需要通過(guò)非常嚴(yán)格的防火墻或VPN服務(wù),來(lái)發(fā)起調(diào)用(當(dāng)然首先需要能夠允許外部到訪(fǎng)問(wèn))。這意味著,如果您想知道本公司的集成中間件是否確實(shí)有用,就應(yīng)該去檢查它是否具有某種安全機(jī)制/層,去訪(fǎng)問(wèn)本地系統(tǒng)和Web應(yīng)用。

同樣值得注意的是,那些對(duì)于公共API的成功至關(guān)重要的某些方面,卻可能在私有API中顯得無(wú)關(guān)緊要。例如,由于已被假定為受到了公司現(xiàn)有安全策略的保護(hù),因此安全性機(jī)制在私有API并不重要。同時(shí),由于開(kāi)發(fā)人員經(jīng)常在文檔中使用內(nèi)部或技術(shù)性的名稱(chēng),因此版本控制不一定會(huì)被包含在設(shè)計(jì)中。

無(wú)論您準(zhǔn)備采用手動(dòng)編碼,還是某個(gè)集成式中間件,新加入團(tuán)隊(duì)的成員或其他部門(mén),在集成私有API時(shí)都會(huì)面臨一些挑戰(zhàn)。因此,如果您正在負(fù)責(zé)設(shè)計(jì)私有API的話(huà),我建議您像設(shè)計(jì)公共API那樣,去準(zhǔn)備好API的各項(xiàng)最佳實(shí)踐和檢查。

伙伴API

伙伴API屬于內(nèi)部API的一個(gè)類(lèi)別,但這些API通常在業(yè)務(wù)伙伴和B2B客戶(hù)之間共享,而不是在某個(gè)組織內(nèi)自己使用。此類(lèi)API的一個(gè)常見(jiàn)用例是,在供應(yīng)鏈集成或銷(xiāo)售點(diǎn)的集成中,連接兩個(gè)內(nèi)部業(yè)務(wù)軟件的應(yīng)用程序。在這種情況下,API往往充當(dāng)?shù)氖墙?jīng)典的EDI(電子數(shù)據(jù)交換,Electronic Data Interchange)集成的替代方案。

伙伴API通常具有更加強(qiáng)大的授權(quán)、身份驗(yàn)證和安全功能。它們能夠允許外部各方去訪(fǎng)問(wèn)某些敏感數(shù)據(jù)。例如,伙伴CRM或ERP應(yīng)用的客戶(hù)數(shù)據(jù),或者是醫(yī)療機(jī)構(gòu)患者醫(yī)療數(shù)據(jù)等。

如何與伙伴API集成

由于伙伴API不是公開(kāi)可用的,因此您可能無(wú)法找到允許即時(shí)“連接”的集成方案。如果您打算集成此類(lèi)伙伴API的話(huà),就需要提供良好的手動(dòng)編碼、或者去尋找支持自助服務(wù)、以及自定義連接器的集成中間件的幫助。

有時(shí)您可能需要將伙伴API與基于EDI的Web應(yīng)用相連接,那么您就需要進(jìn)行諸如從EDIFACT到JSON的各種數(shù)據(jù)格式的轉(zhuǎn)換。當(dāng)然,一個(gè)良好的企業(yè)集成平臺(tái),往往能夠支持此類(lèi)功能。此外,您也可以使用各種專(zhuān)用的解析器,例如:用于UN/EDIFACT文檔的java script流解析器。

復(fù)合API

我個(gè)人覺(jué)得復(fù)合API的使用場(chǎng)景最廣泛。例如在購(gòu)物車(chē)中創(chuàng)建訂單時(shí),就需要對(duì)多個(gè)端點(diǎn)進(jìn)行多次API調(diào)用,其中包括:創(chuàng)建新的客戶(hù)、創(chuàng)建新的訂單、向該訂單添加新的商品、展示分類(lèi)商品等。一個(gè)復(fù)合API往往可以在一次性調(diào)用中,完成所有這些工作。這無(wú)疑加快了多任務(wù)處理的能力和效率。例如,下面是Salesforce的復(fù)合REST API的屬性文件:

{"compositeRequest" : [{  "method" : "POST",  "url" : "/services/data/v52.0/sobjects/Account",  "referenceId" : "refAccount",  "body" : { "Name" : "Sample Account" }  },{  "method" : "POST",  "url" : "/services/data/v52.0/sobjects/Contact",  "referenceId" : "refContact",  "body" : {     "LastName" : "Sample Contact",    "AccountId" : "@{refAccount.id}"    }  }]}
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

  • 12.

  • 13.

  • 14.

  • 15.

  • 16.

在上述文件中,其API在一次性調(diào)用中,最多可以有25個(gè)所謂的子請(qǐng)求。

復(fù)合API的另一個(gè)實(shí)用場(chǎng)景是,從多個(gè)服務(wù)中提取信息,以完成微服務(wù)架構(gòu)模式中的單個(gè)任務(wù)。不過(guò),復(fù)合API也不一定需要?jiǎng)?chuàng)建全新的API。在許多情況下,您可以通過(guò)在一個(gè)序列中包裝多個(gè)調(diào)用或請(qǐng)求,來(lái)擴(kuò)充現(xiàn)有API的設(shè)計(jì)。

如何與復(fù)合API集成

在集成方面,復(fù)合API與常規(guī)公共API并沒(méi)有太大的區(qū)別。事實(shí)上,如果您的集成平臺(tái)方案已經(jīng)具有被用于REST或SOAP的通用連接器的話(huà),您可以輕松地使用它來(lái)連接到復(fù)合API處。

與不同的API架構(gòu)和協(xié)議集成

下面,讓我們簡(jiǎn)要地討論一下,在使用具有不同架構(gòu)和/或協(xié)議的API時(shí),該如何定義可接受的數(shù)據(jù)類(lèi)型和命令。當(dāng)然,在大多數(shù)時(shí)候,您可能會(huì)用到REST和SOAP等API。其中,REST是一種架構(gòu)風(fēng)格,而SOAP是一種協(xié)議。它們之間有著各種相似之處,可以通過(guò)HTTP和XML進(jìn)行通信,因此彼此的集成非常容易。

當(dāng)然,兩者之間也有著顯著的差異。例如,

  • 為了在服務(wù)器上公開(kāi)Web應(yīng)用業(yè)務(wù)邏輯的特定部分,SOAP會(huì)使用服務(wù)接口,而REST則使用URI。

  • REST API支持包括:純文本、XML、JSON和CSV在內(nèi)的多種數(shù)據(jù)格式,而SOAP僅支持XML。

  • REST通常被認(rèn)為比SOAP更輕量級(jí)、而且消耗的資源也更少。

就兩者的集成而言,我們需要在這兩種API之間進(jìn)行某種“翻譯”。當(dāng)選擇手動(dòng)集成這些API時(shí),您可以使用Postman等工具來(lái)自動(dòng)執(zhí)行此類(lèi)操作。例如,您可以調(diào)用一個(gè)Web應(yīng)用程序的SOAP API,并將返回的XML解析為您需要的數(shù)據(jù)。之后,您可以將該XML轉(zhuǎn)換為諸如JSON格式,并將這些數(shù)據(jù)推送到另一個(gè)Web應(yīng)用程序的REST API處?梢(jiàn),當(dāng)您的公司部署了可以默認(rèn)處理REST和基于SOAP的Web應(yīng)用與服務(wù)之間的數(shù)據(jù)轉(zhuǎn)換集成API之后,它將使您的工作變得更加輕松,應(yīng)用的效率大幅提升。



】【打印關(guān)閉】 【返回頂部
分享到QQ空間
分享到: 
上一篇DDOS攻擊下的利益鏈 下一篇DDoS新手法:中間件反射攻擊

立足首都,輻射全球,防御吧專(zhuān)注云防御及云計(jì)算服務(wù)15年!

聯(lián)系我們

服務(wù)熱線(xiàn):13051179500 18910191973
企業(yè)QQ:1245940436
技術(shù)支持:010-56159998
E-Mail:xihedata.com
Copyright ? 2003-2016 fangyuba. 防御吧(完美解決防御與加速) 版權(quán)所有 增值許可:京B2-20140042號(hào)
售前咨詢(xún)
公司總機(jī):18910191973
24小時(shí)電話(huà):010-56159998
投訴電話(huà):18910191973
值班售后/技術(shù)支持
售后服務(wù)/財(cái)務(wù)
備案專(zhuān)員
緊急電話(huà):18610088800