接口設計與數據同步解決方案小結


    接口設計方面: 

    在做項目過程中,對於一個Web平台性的系統來說,往往需要為其他程序開放系統接口,即是以自己做的系統為平台,允許第三方的程序接入。需要和第三方的程序數據打交道,需要第三方程序通過調用web平台接口來傳遞數據。

    這樣對於Web平台來說,開放給第三方程序的接口設計方面有些值得注意的地方:

      將第三方傳遞過來的數據,最好不要直接與系統本身的數據一起處理。換句話說,最好將第三方傳入的數據放到一張臨時表里,系統通過定時任務去從臨時表中將傳入數據轉換為系統數據。這樣做的好處在於:

     1.第三方傳入數據不會因為接口調用的失敗或異常而擾亂系統已有的數據;

     2.對於接口調用方來說,減少了接口處理數據的復雜性,可以大大提高接口的調用成功率;

     同步接口里的方法,建議將添加和修改統一為一個方法,通過傳入系統主鍵來判斷:有記錄則更新,無記錄則添加。


     數據同步方面:

     通過項目間的系統數據同步實戰,總結出一個比較好的解決方案:

     當兩個系統間要做數據同步時,可以這樣設計:比如系統A和系統B,當數據從系統A到系統B時,

      1.系統A通過定時任務來調用系統B的接口;

      2.系統B接受到系統A的請求后,處理請求,但可以不做任何接口回復;

      3.系統A調用接口后,只要接口調用不出現異常,即可認為接口調用成功。也行您已經想到:這樣對於系統A來說,接口調用后,無法收到任何回調信息,就無法確認數據是否被同步成功的。請接着看下一步。

      4.系統B在下一定時任務啟動時,將上一次接受到的數據對象返回給系統A;

      5.系統A通過對返回對象信息進行判斷,如果有記錄則更新同步狀態。這樣的前提是,兩個系統要相互保存兩個系統的數據主鍵。

 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM