我目前正在學習 Web 服務,如果我正確理解為 RPC 的示例,則基于 WSDL 生成存根,存根將方法、資料等轉換為遠程行程可以使用的形式(整個編組和解組的東西,我想我明白了它的要點)。我認為生成存根的很大一部分原因也是為了使整個事物能夠跨不同的地址空間和作業系統運行。如果我錯了糾正我。
我的主要問題:是否有不生成存根的替代方案,如果有,它們如何彌合本地系統和遠程系統之間的差距?
uj5u.com熱心網友回復:
你有兩種主要的設計溝通方式——先契約或最后契約。
在您的示例中,您首先進行合同 - 您撰寫 WSDL,然后從中生成代碼。這種方法的好處是解耦了開發程序——雙方(服務器和客戶端)都可以基于契約進行開發。
合同最后是當您在代碼中定義您的 api,然后框架從這些方法生成 WSDL 時。可以說,這是更快的小團隊,因為他們可以在第一次公開發布之前隨時更改 api。
至于:不生成存根的替代方案,如果是,它們如何彌合本地系統和遠程系統之間的差距 - 我建議有一個專用的通信層,它抽象實際的在線通信。
例如,假設一個遠程系統有兩個 api——getNameById 和 getEmailById。您的業??務案例需要姓名和電子郵件,因此您將擁有一個帶有 api 的資料訪問層 - getNameAndEmailById。在這種情況下,您將存根此資料訪問層以進行測驗。但是為遠程服務使用存根/模擬并沒有本質上的錯誤。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/443044.html
上一篇:npminstall沒有更新依賴
