近年來(lái),由于EDI在國(guó)內(nèi)發(fā)展勢(shì)頭愈發(fā)強(qiáng)勁,大多數(shù)企業(yè)IT事業(yè)部都接觸到了EDI,在了解的過(guò)程中,經(jīng)常會(huì)有開(kāi)發(fā)人員提出疑問(wèn),相對(duì)于傳統(tǒng)API的方式而言,EDI究竟有什么優(yōu)勢(shì),能夠在全球范圍內(nèi)的推廣呢?
總的來(lái)說(shuō),API和EDI各有優(yōu)劣,API的使用范圍更廣,功能層面上也比EDI更強(qiáng),可以實(shí)現(xiàn)更精細(xì)化的功能,但技術(shù)門檻更高,需要專業(yè)開(kāi)發(fā)人員才能實(shí)現(xiàn),這在無(wú)形中也增加了成本。EDI則可以看做是API的某種具體實(shí)現(xiàn),為了通用可能損失了一些細(xì)節(jié),但其標(biāo)準(zhǔn)化的程度更高,且技術(shù)門檻低,只需要普通IT和業(yè)務(wù)人員即可實(shí)現(xiàn),成本更低。
為了大家能夠清晰直觀的進(jìn)行對(duì)比,小知特意做了表格:
API | EDI | |
數(shù)據(jù)結(jié)構(gòu) | 1. 由企業(yè)自定義,需要較高的技術(shù)和業(yè)務(wù)能力; 2. 結(jié)構(gòu)靈活,容易發(fā)生改變; 3. 一般不易保證向前兼容性。 | 1. 國(guó)際組織定義的商業(yè)文檔,標(biāo)準(zhǔn)結(jié)構(gòu),全球通用; 2. 涵蓋絕大多數(shù)業(yè)務(wù)場(chǎng)景,結(jié)構(gòu)固定; 3. 版本一致性,兼容性程度高。 |
數(shù)據(jù)格式 | 1. 選擇多樣化,CSV/XML/JSON等 | 1. X12/EDIFACT/VDA標(biāo)準(zhǔn)報(bào)文,標(biāo)準(zhǔn)化程度高,易于維護(hù)。 |
數(shù)據(jù)傳輸 | 1. 傳輸協(xié)議多種多樣。比如:REST,SOAP,WebAPI等; 2. 安全策略,收發(fā)流程等需要額外代碼實(shí)現(xiàn),開(kāi)發(fā)成本較高; 3. 沒(méi)有標(biāo)準(zhǔn)的接收回執(zhí),防抵賴機(jī)制; 4. 沒(méi)有統(tǒng)一的互操作性測(cè)試。 | 1. 統(tǒng)一的傳輸協(xié)議。比如:AS2,OFTP 2. 簡(jiǎn)單配置即可實(shí)現(xiàn)連接,無(wú)開(kāi)發(fā)成本; 3. 協(xié)議內(nèi)置接收回執(zhí)和防抵賴機(jī)制; 4. 多種互操作性測(cè)試,保證開(kāi)箱即用。 |
我們從以下幾個(gè)點(diǎn)一起來(lái)看看:
數(shù)據(jù)結(jié)構(gòu)
API方式中,一般是API的設(shè)計(jì)者根據(jù)企業(yè)自身的業(yè)務(wù)邏輯設(shè)計(jì)出的數(shù)據(jù)結(jié)構(gòu),在設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)時(shí),IT人員和業(yè)務(wù)人員需要進(jìn)行充分深入的溝通,完全理解到業(yè)務(wù)含義,甚至在當(dāng)前企業(yè)使用的業(yè)務(wù)邏輯上進(jìn)行長(zhǎng)遠(yuǎn)考慮,預(yù)測(cè)未來(lái)可能出現(xiàn)的變動(dòng),基于此,再去設(shè)計(jì)API的數(shù)據(jù)結(jié)構(gòu),這對(duì)于開(kāi)發(fā)人員的業(yè)務(wù)能力要求就非常高了,若非對(duì)供應(yīng)鏈業(yè)務(wù)足夠了解,很難一次到位,制定出完美的規(guī)范標(biāo)準(zhǔn)。企業(yè)作為API的設(shè)計(jì)方,在和合作伙伴使用API方式集成時(shí),若是在雙方關(guān)系中不夠強(qiáng)勢(shì),可能還需要根據(jù)合作伙伴的需求,調(diào)整API的數(shù)據(jù)結(jié)構(gòu)。我們以發(fā)貨時(shí)包裝的業(yè)務(wù)場(chǎng)景為例:
在需求溝通初始,開(kāi)發(fā)人員和業(yè)務(wù)人員一起梳理了內(nèi)部的業(yè)務(wù)邏輯,得出結(jié)論:發(fā)貨時(shí)只會(huì)有散箱,將來(lái)肯定也不會(huì)用到托盤。但之后由于企業(yè)內(nèi)部業(yè)務(wù)擴(kuò)展,在包裝的時(shí)候需要用到托盤了,此時(shí)要修改API的數(shù)據(jù)格式就會(huì)變得尤為困難,一方面,開(kāi)發(fā)工作量顯著增加,另一方面,之前已經(jīng)對(duì)接完成的合作伙伴,他們的程序設(shè)計(jì)也需要進(jìn)行改變,然后雙方重新啟動(dòng)業(yè)務(wù)測(cè)試,這無(wú)疑加大了對(duì)接雙方的工作量。
而作為API的調(diào)用方,若是原始API接口數(shù)據(jù)格式做了變動(dòng),改動(dòng)范圍如果只是字段的增加的話,可能影響不會(huì)太大,但若刪減字段,或者數(shù)據(jù)結(jié)構(gòu)做了調(diào)整,那么可能程序的處理邏輯也需要隨之改變,甚至需要重新開(kāi)發(fā)。面對(duì)某些不太靠譜的API接口設(shè)計(jì)方,接口調(diào)用方可能真的有苦難言。退一步來(lái)說(shuō),即使API接口設(shè)計(jì)方非??孔V,小知在這里悄悄說(shuō)一句:亞馬遜的API接口近期已經(jīng)從V2升級(jí)到V3啦~
而對(duì)于EDI而言,EDI擁有標(biāo)準(zhǔn)化的商業(yè)文檔,最常見(jiàn)的有X12和EDIFACT等。X12是由美國(guó)國(guó)家標(biāo)準(zhǔn)委員會(huì)在1979年創(chuàng)立的認(rèn)可標(biāo)準(zhǔn)委員會(huì)(ASC)X12制定的EDI報(bào)文標(biāo)準(zhǔn),而EDIFACT則是聯(lián)合國(guó)歐洲經(jīng)濟(jì)委員會(huì)(UN/ECE)為簡(jiǎn)化貿(mào)易程序促進(jìn)國(guó)際貿(mào)易活動(dòng),公布的一套用于行政、商業(yè)和運(yùn)輸業(yè)的EDI國(guó)際標(biāo)準(zhǔn)。這些商業(yè)化標(biāo)準(zhǔn),是國(guó)際組織結(jié)合各大型企業(yè)、各個(gè)行業(yè)產(chǎn)業(yè)的業(yè)務(wù)場(chǎng)景和邏輯,制定出的一套幾乎能夠覆蓋所有常見(jiàn)的業(yè)務(wù)場(chǎng)景、滿足絕大多數(shù)企業(yè)需求的商業(yè)規(guī)范文檔。EDI標(biāo)準(zhǔn)化商業(yè)文檔擁有經(jīng)典數(shù)據(jù)結(jié)構(gòu),兼容所有常見(jiàn)業(yè)務(wù),能夠解決行業(yè)內(nèi)99%的問(wèn)題,在全球范圍內(nèi)通用。并且支持業(yè)務(wù)擴(kuò)展,在擴(kuò)展時(shí)不會(huì)影響到之前已經(jīng)實(shí)現(xiàn)的合作伙伴。
當(dāng)然,對(duì)于非EDI專業(yè)人員來(lái)說(shuō),可能EDI唯一的問(wèn)題在于對(duì)EDI商業(yè)規(guī)范標(biāo)準(zhǔn)的理解了,因?yàn)槭侨蛲ㄓ玫纳虡I(yè)文檔,所以可讀性不是很高,過(guò)程較難梳理。不過(guò),對(duì)于IT人員來(lái)說(shuō),絕不會(huì)比學(xué)習(xí)一門新的開(kāi)發(fā)語(yǔ)言要難,而且舉一反三,只要成功完成一兩個(gè)EDI的對(duì)接,后續(xù)就都不是問(wèn)題了。
說(shuō)到這里,可能有人對(duì)API還有些疑問(wèn):“我對(duì)我們的IT人員能力有著充分的信心,我們可以在設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)時(shí)就考慮的非常全面,盡可能的把數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)的足夠完善”。小知想說(shuō)的是,EDI商業(yè)化文檔是國(guó)際組織經(jīng)過(guò)幾十年的探索和實(shí)踐,應(yīng)用于數(shù)以億計(jì)的企業(yè)用戶,并且在不斷的進(jìn)行完善后得到的一套文檔結(jié)構(gòu)和標(biāo)準(zhǔn),在已經(jīng)有這種模式化的商業(yè)文檔的前提下,企業(yè)沒(méi)有必要浪費(fèi)太多的人力物力財(cái)力再去做重復(fù)的工作,自定義API設(shè)計(jì)到極致,可能得到的也就是EDI了。
數(shù)據(jù)格式
API自定義格式時(shí),可以任意選擇如CSV、XML、JSON等常見(jiàn)數(shù)據(jù)格式。EDI商業(yè)文檔則是全球統(tǒng)一標(biāo)準(zhǔn)格式,選擇性很少,標(biāo)準(zhǔn)化很高。
數(shù)據(jù)格式僅僅是相同數(shù)據(jù)的不同表現(xiàn)形式,沒(méi)有優(yōu)劣可言。但從另一方面來(lái)說(shuō),選擇多樣化,可能也會(huì)產(chǎn)生更多的溝通成本,從而出現(xiàn)更多問(wèn)題。
數(shù)據(jù)傳輸方式
使用API調(diào)用作為傳輸方式時(shí),會(huì)用到http/https傳輸協(xié)議。作為API接口的設(shè)計(jì)者,通常需要考慮到連接安全性,例如使用哪種身份認(rèn)證方式,token需要?jiǎng)討B(tài)獲取還是永久授權(quán)等,同時(shí)還需考慮到授權(quán)管理和用戶管理。此外,設(shè)計(jì)者還需要考慮接口的并發(fā)性能,能否被足夠多的合作伙伴同時(shí)調(diào)用或頻繁多次調(diào)用。而作為API接口的調(diào)用者,以上提到的安全認(rèn)證方式,可能各個(gè)API接口都不相同,需要大量的代碼定制化開(kāi)發(fā);另外,若是有遇到API響應(yīng)較慢,存在性能問(wèn)題,接口調(diào)用者的體驗(yàn)就會(huì)很差,還需考慮到調(diào)用失敗后的容錯(cuò)機(jī)制和重發(fā)機(jī)制等。
使用EDI傳輸,最常使用的是AS2傳輸協(xié)議和OFTP2傳輸協(xié)議,這些傳輸協(xié)議都需要通過(guò)國(guó)際機(jī)構(gòu)的互操作性認(rèn)證,其中包含了許多對(duì)于異常的格式化處理,例如斷點(diǎn)續(xù)傳、發(fā)送失敗自動(dòng)重發(fā)、使用回執(zhí)確保不可抵賴、第三方CA機(jī)構(gòu)頒發(fā)的證書(shū)用于簽名加密的安全保障等,所有的要求是否啟用僅需要簡(jiǎn)單的勾選配置即可,無(wú)需任何代碼實(shí)現(xiàn)。
以對(duì)接沃爾瑪為例,沃爾瑪提供了兩種對(duì)接方案,分別是API和EDI。供應(yīng)商在向沃爾瑪請(qǐng)求獲取訂單時(shí),如果選擇API調(diào)用,就需要定時(shí)向沃爾瑪發(fā)送請(qǐng)求,建立連接,主動(dòng)獲取訂單;而如果使用EDI,沃爾瑪產(chǎn)生訂單后會(huì)主動(dòng)推送至客戶系統(tǒng),無(wú)需重復(fù)請(qǐng)求。在訂單量較大的情況下,API調(diào)用還有可能存在并發(fā)問(wèn)題,這也是為什么沃爾瑪要求供應(yīng)商,如果一年的訂單量預(yù)計(jì)會(huì)超過(guò)15,000單時(shí),必須要使用EDI來(lái)完成對(duì)接。
進(jìn)一步來(lái)說(shuō),API和EDI也不是非此即彼的相對(duì)關(guān)系,企業(yè)可以將其融合,在標(biāo)準(zhǔn)化的同時(shí),實(shí)現(xiàn)更貼近自己內(nèi)部的業(yè)務(wù),API和EDI,何不兩者兼得?
更多EDI相關(guān)知識(shí),請(qǐng)參考文章:???????EDI白皮書(shū)??
注:文案部分圖片及內(nèi)容來(lái)源于網(wǎng)絡(luò),版權(quán)歸原創(chuàng)作者所有,如有侵犯到您的權(quán)益,請(qǐng)您聯(lián)系我進(jìn)行刪除,給您帶來(lái)困擾,深感抱歉。
了解更多EDI相關(guān)信息,歡迎交流。
EDI 顧問(wèn)Iris
如需轉(zhuǎn)載或者了解更多EDI 相關(guān)信息,歡迎聯(lián)系:137-2065-8862(微信同號(hào))
本文摘自 :https://blog.51cto.com/u